MAME app

MAME 0.288

MAME is a free, open-source emulation framework that runs the original software of arcade machines, computers, consoles and other vintage hardware. It adds system browsing, input mapping, save states, display effects, plugins, a debugger and Lua scripting.

Updated May 28, 2026
81.92 MB
3.0

Use the arrow keys to choose a rating, then press Enter or Space to submit it.

Good 1 user ratings

App Specs

Developermamedev
LicenseFreeware
CategoryEmulator
Available platformsWindows
Downloads494

Overview

MAME is a free, open-source emulation framework for arcade machines, home and business computers, game consoles, calculators and other vintage electronics. It reproduces their hardware so their original software can run on a modern PC. It runs on Windows, Linux, FreeBSD and macOS. Its aim is preservation: the source code documents how each machine works, and running the original software tests that documentation. The name began as Multiple Arcade Machine Emulator. The project later absorbed its sister project MESS, which covered computers and consoles. MAME now emulates more than 32,000 systems from roughly five decades.

Accuracy takes priority over speed in MAME, and not every listed machine works fully. In the system selection menu, the info panel is colored green, amber or red according to emulation status.

ROM sets, BIOS dumps and CHD images

MAME ships without any game or system software. To run a machine, the user supplies dumps of its chips. A ROM set holds the chip images for one game or board. Sets form parent and clone relationships: a clone holds only the data that differs from its parent, so it needs the parent present.

Many emulated computers and consoles also need BIOS dumps from the original hardware. MAME does not include these because they are copyrighted. Sets change as dumps are corrected, so a set built for an older MAME release may fail in a newer one.

Hard disks, CD-ROMs, DVDs and LaserDiscs are stored as CHD (Compressed Hunks of Data) files.

Choosing and starting a system

Started with no arguments, MAME opens its built-in system selection menu. Users can search and filter the list, and a media audit checks which systems have all their required files.

For computers and consoles, MAME uses software lists: catalogues of known cartridges, disks and tapes with their metadata. Picking a system such as the NES lets the user choose a title from the list for its cartridge slot. Users load files that are not in a software list with a media switch for the device, for example a cartridge, floppy or CD-ROM drive.

For systems with a full keyboard, MAME starts with its own UI keys disabled so every key reaches the emulated machine. A toggle key switches them back on.

Controls and the in-emulation menu

Pressing Tab during emulation opens MAME’s main menu. Input Settings assigns host keys, buttons and axes to the emulated controls.

Other menu entries change the emulated hardware itself:

  • DIP Switches and Machine Configuration set the configuration switches and system-specific settings of the emulated board or computer.
  • Slot Devices swaps emulated peripherals and expansion cards on systems that have them.
  • File Manager mounts, creates and unmounts media images, such as floppy disks or memory cards, while the system runs.

Save states store the full machine state in slots. Many drivers do not support them, and MAME warns when saving is unreliable. The user can also pause, step one frame at a time, rewind to a recent state, fast-forward, take screen snapshots and record video to MNG or AVI files.

Display effects and artwork

MAME’s BGFX renderer applies screen chains to the emulated picture. Chains range from plain scaling to shader-based CRT simulation, an LCD grid effect and a depixelize upscaler. BGFX can draw through Direct3D, OpenGL, Metal or Vulkan.

Layout files are XML documents that arrange the emulated screens together with images, overlays, lamps and segment displays. MAME builds many layouts in and also reads user-supplied ones from the artwork folder.

Bundled plugins

Plugins add features on top of the emulation. Users enable them from the Plugins options menu or the command line. Several are included with MAME:

  • Autofire repeats an emulated button while a chosen hotkey is held.
  • Input Macro plays a scripted sequence of inputs when a key combination is pressed.
  • Hiscore Support saves and restores high scores for older games that never stored them.
  • Off-Screen Reload Helper provides a reload button for light gun games that expect the gun to be pointed off screen.

Other bundled plugins add a play timer, Discord presence, a Lua console and a GDB stub for external debuggers.

Debugger and Lua scripting

Launching MAME with the -debug option opens its debugger, and a key press during emulation breaks into it. It shows CPU registers, disassembly and memory, and commands set breakpoints and watchpoints, edit memory and search for cheats.

MAME also has a Lua scripting interface. A script can be typed at an interactive console or loaded automatically when a system starts. Scripts can pause or reset the machine, read registers and memory, run code on every frame and draw overlays on the screen. Third-party front-ends such as BletchMAME use it to replace MAME’s built-in menus.

Media tools

MAME comes with command-line utilities for media images. chdman creates CHD files from raw, hard disk, CD-ROM, DVD and LaserDisc images, extracts them back and verifies their integrity. Imgtool, Floptool and Castool work with disk, floppy and cassette images for the emulated computers.

Similar Apps