MAME

MAME(Multiple Arcade Machine Emulator)は、1997年にイタリアのプログラマー、ニコラ・サルモリアによって開発が開始されたオープンソースのエミュレーターです。当初はアーケードゲームのエミュレートを目的としていましたが、現在では多種多様なハードウェアに対応する汎用エミュレーターへと進化を遂げています。

MAMEの概要



MAMEは、世界中の数十人の開発者からなるチームによって開発と改良が続けられています。サポートするゲームタイトルは、完全に動作するものから不完全なものまで含めると3,500本以上、クローン版を含めると6,500本以上にも及びます。プロジェクトの管理はアメリカのアーロン・ジャイルズ氏が担当しています。

MAMEはオープンソースであり、開発はGitHubを通じて共同で行われています。かつては、個々のゲームの挙動を修正したり、新しいゲームに対応させるための派生版が多数存在しましたが、現在ではそれらの修正が本家MAMEに統合される傾向にあります。非公式版としては、Homebrew対応のHBMAME、CRTモニター向けのGroovyMAME、ピンボール向けのPinMAME、VGM生成用のMAME/MESS VGM modなどが存在します。

MAMEのフロントエンド(ユーザーインターフェース)としては、公式のコマンドラインUIの他に、Windows用のGUIであるMAMEUI、独自のインターフェースを持つIV/Play、WebフロントエンドのEmularityなどがあります。以前は、Mac用のMAME OS X、GTK採用のGMAMEUI、KDE採用のKxmame、Qt採用のMAME Plus!なども存在していました。

対応ハードウェア



MAMEは、主に1970年代から1990年代のアーケードゲームやカジノゲームをサポートしています。Atari PONGやBreakoutのようなディスクリート回路のみで構成されたゲームも、Netlistと呼ばれる方式を通じてエミュレート可能です。セグメントディスプレイを使用するゲームでは、外部アートワークが必要となる場合があります。3Dアートワークには未対応のため、ワニワニパニックのようなゲームは2D表示となります。また、メカニカルな要素を含むゲームUFOキャッチャー、プリクラ、メダルゲーム、ピンボールなど)は、サポートされていないか、メカニカル部分がない状態で動作するものがほとんどです。一部のゲームでは、音源エミュレーションが不完全なため、別途MAME Samplesが必要になります。

近年登場したPCベースのアーケードゲームには対応しておらず、ArcadePC LoaderやTeknoParrotといった他のプログラムを利用する必要があります。

MAME 0.162以降では、アーケードゲーム機に限定せず、以下のような幅広いハードウェアのエミュレートを実装しています。

アーケードゲーム基板
システム基板
互換基板
第3~5世代の互換基板
テレビゲーム
第2~5世代の家庭用ゲーム
ビデオゲーム内蔵テレビ、復刻系ゲーム機、業務用テレビゲーム機、店頭販促機
ゲームパソコン
コモドール、ZX Spectrum、トミー ぴゅう太など
マルチメディア機、電卓、グラフ電卓
LSI/LCDゲームゲーム&ウォッチ、たまごっちなど)
電子ボードゲーム
携帯型ゲーム
第2~5世代の携帯ゲーム
体感ゲーム、ラジコン
ミニコンピュータ、ワークステーション
グラフィックワークステーション、モバイルワークステーション
プログラマブル計算機、デスクトップパソコン
テレビ内蔵コンピュータ、ポータブルコンピュータ、ノートPC
ホビーパソコン/ホームコンピュータ
開発システム、ワードプロセッサワンボードマイコンシングルボードコンピュータ
パームトップPC、ポケットコンピュータハンドヘルドコンピュータ/携帯情報端末
知育玩具、競馬予想機、決済端末機、音源モジュール、LDプレーヤー
フィットネスマシン、電子楽器
電子パーカッション、ドラムマシン、電子キーボード/シンセサイザー電子ピアノ、多機能スピーカー
言語翻訳機、音声モールス発生器、ドアチャイム、キディライド、キッズメダル、ポップコーン販売機、パンチングマシンUFOキャッチャー、バーサライタ、シールプリンター、電子式抽選器

古いPCのエミュレーションについては、SPC/ATやPCemといった他のエミュレーターの方が進んでいる場合があります。

MAMEの開発方針



MAMEの開発方針は、オリジナルのハードウェアの動作を忠実に再現することに重点を置いています。基本的には、APUやMPUといったチップレベルでの低レベルエミュレーション(LLE)を行いますが、キーボードやI/O、DSPなどの周辺部分では高レベルエミュレーション(HLE)も使用されています。

ROMイメージについて



MAMEでゲームを動作させるためには、オリジナルのゲーム基板からROMイメージを吸い出す必要があります。ただし、Exidyやバリー/ミッドウェイといった一部のメーカーのゲームについては、公式な許可を得てMAME公式サイトでROMイメージが配布されています。また、ドイツのコンピュータ雑誌「c't」が主催したアタリ社のゲーム「アステロイド」のハイスコアを競うコンテストでは、読者向けにROMイメージの配布許可を得ています(不特定多数が対象ではありません)。

MAMEの歴史



1997年: MS-DOS版として開発がスタートし、その後Macintosh、Unix系OS、Windowsに移植。
1998年: MAMEを基に汎用エミュレーターMESSの開発が開始。
2003年: CPUエミュレーションに動的リコンパイラが導入開始。
2005年: ギャンブルゲームを実装するAGEMAMEがMAMEに統合。
2007年: Windows 64bit版が公式にリリース。
2010年: SDL採用のクロスプラットフォームなコマンドライン版SDLMAMEが統合。
2011年: ピンボールを実装するPINMAMEがMAMEに統合開始。
2012年: Netlistによる電子回路シミュレーションに対応。MESSのコードベースが統合され、UMEとしてビルド可能に。
2015年: MAMEがMESSを吸収してUME相当に。JSMESS(Webブラウザ上でMAMEを動作)が統合。MEWUIが統合、Auto-fireやGPUバックエンドBGFXが追加。
2016年: ライセンスがGPLに変更。ハイスコアが再実装、GroovyMAMEの拡大縮小機能が統合。VGM Playerが搭載。
2019年: レイテンシを削減する「-lowlatency」オプションが追加。
2024年: タッチスクリーン入力に対応。

MAMEの動作



MAMEは、オリジナルのゲーム基板のハードウェア構成をソフトウェアで忠実に再現します。これにより、異なるハードウェア上でオリジナルROMイメージを動作させることが可能です。MAMEは100種類以上のCPU/MPU、70種類以上のサウンドチップ/DSPをエミュレートします。また、一部のアナログICや素子もNetlistでサポートされています。

最近のバージョンでは、3Dグラフィックシステムのような処理量の多いゲームにも対応していますが、エミュレーションの速度よりもオリジナルのハードウェアの再現を重視しています。そのため、3Dグラフィックやテクスチャ処理も、Direct3DなどのOS固有の拡張機能を使わず、ソフトウェアで処理が行われます。このため、最新のプロセッサでも完全にオリジナルと同じ速度で動作しないタイトルが存在します。

盗用問題



以前のMAMEは商用利用を禁止していましたが、その規定に違反するケースが度々発生しました。

メディアカイトの「ネットげーせん」
ハムスターの「オレたちゲーセン族シリーズ」
200in1などを謳うエミュレータ筐体

関連情報



Visual Pinball
アーケードゲーム基板
エミュレータ
ゲームエミュレータ
エミュレーター基板

外部リンク



MAME公式サイト&開発情報(英語)
MAMEUI公式サイト(英語)
* MAME E2J

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。