MAME
What it is
MAME is a free emulation framework designed to document and preserve the hardware behind arcade games, computers, consoles, calculators, and other electronic amusement machines. It reproduces the internal components of these systems and can emulate over 32,000 individual systems from the last five decades. The project includes an interactive low-level debugger for examining software behavior, diagnosing emulation issues, and developing software for vintage systems. Its Lua interface can inspect device state, access CPU registers, read and write memory, and draw overlays, although the API may change without prior notice. Plugins can communicate with external programs or provide alternate interfaces; included examples are Discord Presence and a GDB Stub. MAME supports Android, Linux, macOS, and Windows. Official Windows binaries require Windows 10 or later, 4 GB of RAM, and a supported x86-64 or Arm CPU. It can save and load states, record inputs for playback, and capture screenshots or video. BIOS dumps and copyrighted software are generally not included, and emulation may be imperfect or run below full speed.
For and against
For
- Free framework with support for many system types.
- Includes an interactive low-level debugger.
- Can save states and record inputs for playback.
- Supports plugins, including Discord Presence and a GDB Stub.
Against
- BIOS dumps and copyrighted software are generally not included.
- Lua API may change without prior notice.
- Some systems may emulate imperfectly or below full speed.
- Official Windows binaries require Windows 10 or later.
The verdict
MAME pairs broad system emulation with tools for debugging, scripting, and software preservation. Users should account for separately sourced copyrighted software and the possibility of imperfect emulation.
Who it suits
MAME may suit people interested in preserving or examining older arcade and computer systems, as well as developers working with vintage-system software. Its debugger and scripting interface also support investigation of software behavior.
Plans and prices
MAME
GPL-2.0 or later; ROMs and copyrighted software are generally not included
Read 30 Sep 2026 · mamedev.org
On the record
- Debugger
- MAME includes an interactive low-level debugger for diagnosing emulation issues, developing software for vintage systems, and examining how software works.docs.mamedev.org · read 30 Sep 2026
- Emulated systems
- MAME can emulate over 32,000 individual systems from the last five decades.docs.mamedev.org · read 30 Sep 2026
- Emulation limits
- Supported systems may not emulate perfectly, and some systems may not run at full speed even on the fastest computers.docs.mamedev.org · read 30 Sep 2026
- Extensibility
- MAME supports Lua plugins loaded from configurable plugin paths.docs.mamedev.org · read 30 Sep 2026
- Features
- MAME can save and load state files, record inputs for playback, and capture screenshots or video.docs.mamedev.org · read 30 Sep 2026
- Integration
- Included plugins include Discord Presence and a GDB Stub.docs.mamedev.org · read 30 Sep 2026
- Intended users
- The debugger documentation identifies diagnosing emulation, developing vintage-system software, creating cheats, ROM hacking, and investigating software behavior as use cases.docs.mamedev.org · read 30 Sep 2026
- Latest release
- The latest official release listed is MAME 0.289, with official Windows x64 and Arm64 binaries and source code packages.mamedev.org · read 30 Sep 2026
- License
- The project as a whole is distributed under GPL-2.0, and the site says over 90% of its files, including core files, are under BSD-3-Clause.mamedev.org · read 30 Sep 2026
- Lua API limitation
- The Lua API is not declared stable and may change without prior notice.docs.mamedev.org · read 30 Sep 2026
- Lua scripting
- MAME's Lua interface can inspect and manipulate device state, access CPU registers, read and write memory, and draw graphical overlays.docs.mamedev.org · read 30 Sep 2026
- Network play
- The MAME 0.288 release notes say linked play deathmatch mode in Taito’s Gunbuster is supported over a network.mamedev.org · read 30 Sep 2026
- Other platforms
- The MAMEDEV wiki lists macOS and Linux among the non-Windows platforms and provides platform build instructions.wiki.mamedev.org · read 30 Sep 2026
- Plugins
- MAME supports plugins for tasks including communicating with external programs, displaying game structures, providing alternate interfaces, and testing emulation.docs.mamedev.org · read 30 Sep 2026
- Preservation purpose
- The project’s primary purpose is to preserve decades of arcade, computer and console history.mamedev.org · read 30 Sep 2026
- Purpose
- MAME is a multi-purpose emulation framework intended to preserve software history by documenting hardware and how it functions.mamedev.org · read 30 Sep 2026
- ROM availability
- MAME does not generally include BIOS dumps or software because these are often copyrighted; the team has permission to redistribute some older software.docs.mamedev.org · read 30 Sep 2026
- Security
- MAME says it is not designed for secure sites, has not been audited for such use, and should not be run as administrator or root.docs.mamedev.org · read 30 Sep 2026
The review
MAME is a preservation-oriented emulation framework for arcade machines and a wide range of vintage computers, consoles, calculators, and other electronic amusement systems. It suits people exploring software history as well as developers and researchers who want to inspect how older systems work. Its breadth is a major advantage, but using it depends on finding compatible software and accepting that emulation can be imperfect.
Overview
MAME documents and reproduces hardware across more than 32,000 individual systems from the last five decades. That scope makes it a strong choice for moving among different kinds of historical software in one project, rather than relying on a tool centered on a single platform. The preservation mission also gives MAME value beyond launching games: it is built to document the machines and their behavior.
Users can save and load states, record inputs for playback, and capture screenshots or video. These functions help revisit a moment, reproduce a sequence, or document software behavior. Support does not guarantee fidelity or speed, however; some systems may not emulate perfectly or reach full speed even on the fastest computers.
Key features
Debugging and software inspection
MAME’s interactive low-level debugger is useful for diagnosing emulation problems, developing software for vintage systems, creating cheats, ROM hacking, and examining software behavior. This makes it a more capable choice for technical investigation than a tool used only to play games, though the debugger’s depth is most relevant to users comfortable working close to the emulated hardware.
The Lua interface can inspect and manipulate device state, access CPU registers, read and write memory, and draw graphical overlays. Lua plugins can also communicate with external programs, display game structures, provide alternate interfaces, or test emulation. Included integrations such as Discord Presence and a GDB Stub broaden those uses. The Lua API is not stable and may change without notice, so scripts that depend on it can require maintenance.
Broad platform coverage
MAME supports Android, Linux, macOS, and Windows. Official Windows x64 and Arm64 packages require Windows 10 or later, at least 4 GB of RAM, and a supported x86-64 or Arm processor. Linux and macOS are also supported, with platform build instructions in the MAMEDEV wiki. The project provides a wide platform range, but users on non-Windows systems may need to follow build instructions rather than install an official binary package.
Networking is supported, including linked-play deathmatch mode for Taito’s Gunbuster. That is a specific example rather than a promise that every emulated system offers network play. MAME also supports configurable Lua plugin paths, giving technically inclined users room to extend its behavior.
Pricing
| Plan | Price | What it includes |
|---|---|---|
| MAME | free | Free software under GPL-2.0 or later; ROMs and copyrighted software are generally not included. |
There is no paid tier or free trial. The free plan is the only plan, and its main practical limitation is that users generally need to obtain compatible ROMs and BIOS files separately. MAME can redistribute some older software with permission, but it is not a ready-made library of games.
Platforms
MAME runs on Android, Linux, macOS, and Windows. The latest official release is MAME 0.289, with Windows x64 and Arm64 binaries and source packages. Windows users need Windows 10 or later, 4 GB of RAM, and a supported x86-64 or Arm CPU. MAME should not be run as administrator or root; the project says it is not designed or audited for secure sites.
Who it's for
MAME is best suited to preservation-minded users, vintage-system developers, and technically curious players who want to explore a broad catalog of historical hardware and software. The debugger, scripting interface, and plugins make it especially relevant to people investigating behavior or developing for old systems. It is a weaker fit for anyone expecting a simple collection of playable games, guaranteed full-speed emulation, or a secure-site tool.
Pros and cons
- Pro: Coverage of more than 32,000 systems makes MAME unusually versatile for exploring arcade, computer, console, and calculator history.
- Pro: Debugging, Lua scripting, and plugins support software development and detailed investigation, not just game playback.
- Pro: Save states, input recording, screenshots, and video capture help users preserve and examine sessions.
- Con: ROMs and BIOS files are generally not included, so access to the desired software is a separate requirement.
- Con: Emulation quality and speed vary, and some systems may not run perfectly or at full speed.
- Con: The Lua API can change without notice, making scripts vulnerable to breaking across updates.
- Con: MAME is explicitly not designed for secure sites and should not run with administrator or root privileges.
Alternatives
For a broad multi-system emulation project with an open-source history dating to 2012, consider RetroArch. If you want a free emulator available across Android, Linux, macOS, and Windows under GNU GPL v2 or later, VICE is another option. Dolphin is a free GPLv2+ alternative for readers who prefer a project with source-release and attribution requirements.
FinalBurn Neo is a free and open-source alternative, with use subject to its restrictions on commercial profit and legal ROM distribution. Choose Flycast if your focus is Dreamcast, Naomi, Naomi 2, or Atomiswave emulation. For an Android-only free emulator that excludes games, firmware, and copyrighted system files, Lemuroid may fit better. Provenance is a free-when-sideloaded-or-built-from-source option for iOS and macOS, while Virtual Jaguar is an open-source emulator core that requires a Libretro frontend such as RetroArch.
Readers comparing systems can also browse Multi-System Emulators, Dreamcast Emulators, Game Gear Emulators, Sega Genesis Emulators, Sega CD Emulators, and TurboGrafx-16 Emulators.
Verdict
Choose MAME if you want one preservation-minded framework for exploring a vast range of historical machines, with serious tools for debugging and software analysis. Its free price and breadth are compelling, but the need to source much of the software yourself and the uneven fidelity make it a poor choice for anyone expecting a turnkey, consistently polished gaming experience.