MAME
MAMEの動作には、実際の基板上のデータイメージ(ROMイメージ)を用意する必要がある。MAMEは基板のハードウェア構成をソフトウェアでエミュレートすることにより、オリジナルのROMイメージを異なるハードウェア上で動作させることを可能にしている。エミュレートするCPU/MPUは代表的なZ80や68000をはじめとして100種類以上、サウンドチップ/DSPは70種類以上、そのほか多くのカスタムチップもサポートする。また一部のアナログICやアナログ素子もNetlistでサポートしている。
最近のバージョンでは、3Dグラフィックシステムなど、処理量の多いゲームにも対応している。しかし、前述の通り、エミュレーションの動作速度よりもオリジナルハードウェアの忠実な再現を目的とするため、3Dグラフィックやテクスチャ処理なども、Direct3DなどのOS固有の拡張機能を使わず、オリジナルハードの動作を元に全てソフトウェアで処理を行う。このため最新の高速プロセッサでも完全な速度で動作しないタイトルが一部存在する(Windows版では描画の設定にDirect3Dの項目があるが、これは最終的な描画先としてDirect3Dを用いるだけであり、エミュレーション処理自体には関係しない)。
MAMEの開発方針はオリジナルのハードウェア動作を忠実に再現することに重点を置いており、MAMEは基本的にAPUやMPUなどのチップレベルの低レベルエミュレーション (LLE) を行っている。ただし例外として、キーボード周りやI/O周りやDSPなどには高レベルエミュレーション (HLE)も使われている。
MAMEで使用するROMイメージを入手するためは、他の低レベルエミュレータと同様に、基板から実物のROMの内容を吸い出す必要がある。ただし例外として、Exidy社、バリー/ミッドウェイ社などの作品のうち、一部のゲームのROMイメージは、メーカーからの正式な許可を得たうえで、MAMEの公式サイトで配布されている。また、ドイツのコンピュータ雑誌「c't」で、「UDPを使いMAMEを自動制御し、アタリ社のゲーム『アステロイド』のハイスコアを競う」内容のコンテストが行われる際に、この雑誌の読者向けに、アタリ社より『アステロイド』のROMイメージを配布する許可を得ている(不特定多数が対象ではない)。