MAME

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。120.75.64.1 (会話) による 2016年3月30日 (水) 19:40個人設定で未設定ならUTC)時点の版 (→‎概要)であり、現在の版とは大きく異なる場合があります。

MAME
作者 Nicola Salmoria and the MAME Team
初版 1997年2月5日 (27年前) (1997-02-05)
最新版
0.171 / 2016年2月24日 (8年前) (2016-02-24)
リポジトリ ウィキデータを編集
プログラミング
言語
C++
サポート状況 開発中
種別 エミュレーター
ライセンス GPL バージョン2 またはそれ以降
公式サイト mamedev.org
テンプレートを表示

MAME(メイム)はアーケードゲームエミュレータの一つ。正式名称はMultiple Arcade Machine Emulator

概要

1997年2月5日にイタリア人のニコラ・サルモリアによって最初のバージョン (0.1) がリリースされた。世界中の数十名からなる開発チームにより、現在も開発、改良が続けられている。サポートするタイトル数は、完全に動作しないものも含めて3,500本以上、クローン版(同一ゲームのバージョン違いや、海外向けにローカライズしたものなど)を含めると6,500本以上に上る。現在のプロジェクト管理者はアメリカのアーロン・ジャイルズ。

MAMEがサポートするのは、主に1970年代から1990年代(一部2010年のゲームまで対応)のアーケードゲームやカジノゲームである。Atari PONGなどROMを持たず、ディスクリート回路のみで構成されているゲームも、Netlist英語版を通してサポートしている。メカニカルのあるゲームは、サポートされないものが多い (UFOキャッチャー、プリクラなど)。セグメントディスプレイを使ったゲームなどでは、外部アートワークを必要とする。3Dアートワークにはまだ対応していない[1]ため、ワニワニパニックは2Dとなる。一部のゲームは音源エミュレーションに未対応であり、音を鳴らすために外部のMAME Samplesが必要となる。近年のPCベースのアーケードゲームには対応しておらず、ArcadePC Loaderなどの他のプログラムを使う必要がある。

1997年にリリースされた当初はMS-DOS版として開発されていたが、年内にはMacintosh (MacMAME)、Unix系OS (X/MAME)、Windows (MAME32)に移植された[2]。2001年、MAME 0.37b14で、DOS版に代わりWindows 32bit版が公式となった。2007年、MAME 0.120でWindows 64bit版が公式に用意された。2010年、MAME 0.136u1で、SDL採用のクロスプラットフォームなコマンドライン版であるSDLMAMEがMAMEに統合された。2015年、MAME 0.171で、独自インターフェースのMEWUIや、MAMEをWeb上で動かすJSMESS[3]が、MAMEのコードベースに統合された。その他、フロントエンドとして、Windows用GUIのMAMEUI、独自インターフェースのIV/PlayQt採用のMAME Plus!、Mac用のMAME OS XGTK採用のGMAMEUI (GXMame派生)、KDE採用のKxmame (GXMame派生)、JSMESSのフロントエンドであるEmularityなどがある。また、非公式版として、多くのHomebrewに対応するHBMAMEや、CRTモニター向けのGroovyMAMEがある。

MAMEの開発方針は、オリジナルのハードウェア動作を忠実に再現することに重点を置いている。そのため、あるゲームの動作をエミュレータ側からハック的な手法で修正や改良することが出来ても、それが実際のゲームハードウェアの動作と異なっていたり、将来的な解析につながらないと見られる場合は、基本的に採用されない。

MAMEのソフトウェア、ソースコードは非商用利用に限り無償で公開されている。そのため独自にエミュレート対象のゲームの挙動を修正したり、新しいゲームへ対応させることも可能である。実際に様々なOSやゲーム機などに移植され、派生版も数多く存在する。特にバージョン0.33ベータ版からフォークされたMESS(Multi Emulator Super System)は、コンシューマーゲーム機、電卓、LSI/LCDゲーム (たまごっちなど)、パソコン/ワークステーション (Apollo/Domain等)やその周辺機器(プリンターや音声合成装置など)、開発ボード (FriendlyARM等)、ワンボードマイコン (NEC TK-80等)、PDA (Palm等)、知育玩具 (TIのSpeak & Spell英語版、ベネッセのポケットチャレンジV2等)などアーケード機に限定しないエミュレートを実装しているが、バージョン0.147よりソースリポジトリをMAMEと共有しており、ビルド時のオプションだけで切り替えられるだけでなく、UME(Universal Machine Emulator)というMAME/MESS統合版を生成することも可能である(バージョン0.162より統合された)。ただし、古いPCへの対応は、SPC/ATやPCemなどのエミュレータの方が進んでいる。

MAMEで使用するROMイメージを入手するためは、他のゲーム機用エミュレータと同様に、ゲーム基板から実物のROMの内容を吸い出す必要がある。ただし例外として、Exidy社、バリー/ミッドウェイ社などの作品のうち、一部のゲームのROMイメージは、メーカーからの正式な許可を得たうえで、MAMEの公式サイトで配布されている[1]。また、ドイツのコンピュータ雑誌「c't」で、「UDPを使いMAMEを自動制御し、アタリ社のゲーム『アステロイド』のハイスコアを競う」内容のコンテストが行われる際に、この雑誌の読者向けに、アタリ社より『アステロイド』のROMイメージを配布する許可を得ている(不特定多数が対象ではない)[2]

動作

MAMEの動作には、実際のアーケードゲーム基板上のデータイメージ(ROMイメージ)を用意する必要がある。MAMEはゲーム基板のハードウェア構成をソフトウェアでエミュレートすることにより、オリジナルのROMイメージを異なるハードウェア上で動作させることを可能にしている。エミュレートするCPUは代表的なZ8068000をはじめとして100種類以上、サウンドチップは70種類以上、そのほか多くのカスタムチップもサポートする。

最近のバージョンでは、3Dグラフィックシステムなど、処理量の多いゲームにも対応している。しかし、前述の通り、エミュレーションの動作速度よりもオリジナルハードウェアの忠実な再現を目的とするため、3Dグラフィックやテクスチャ処理なども、Direct3DなどのOS固有の拡張機能を使わず、オリジナルハードの動作を元に全てソフトウェアで処理を行う。このため最新の高速プロセッサでも完全な速度で動作しないタイトルが一部存在する(Windows版では描画の設定にDirect3Dの項目があるが、これは最終的な描画先としてDirect3Dを用いるだけであり、エミュレーション処理自体には関係しない)。

盗用問題

前記のとおり、MAMEは商用利用を禁止しているが、度々それに違反した利用が発覚している。

関連項目

外部リンク


  1. ^ 3D artwork system #388
  2. ^ MAME Project History MAME
  3. ^ This repository is now defunct 2015年2月