Run classic arcade game ROMs from machines you legally own on a modern computer for preservation or study.
Build a retro gaming cabinet that runs MAME to play a large library of classic arcade and console titles.
Research the hardware behavior of a specific vintage computer or console by examining MAME's emulation code.
Study how obscure vintage electronics worked using MAME's accurate hardware documentation in software form.
Building from source requires a C++ toolchain and takes significant time, legal ROM files must be obtained separately from hardware you own.
MAME is an emulation framework whose main purpose is preserving old software by documenting the hardware it originally ran on. The source code itself is the documentation: by writing software that accurately reproduces how old machines worked, the project keeps a record of their behavior that would otherwise be lost as the physical hardware ages and disappears. It originally focused on arcade games, which is where the name "Multiple Arcade Machine Emulator" came from, but it has since expanded to cover vintage home computers, video game consoles, calculators, and other electronic devices. In practice, MAME lets you run software from those older systems on a modern computer. If you have ROM files or disc images from old arcade machines or consoles you legally own, you can load them in MAME. The project maintains a large database of documented systems, and coverage spans several decades of hardware history. Building MAME from source requires a C++ compiler and some supporting libraries. On Linux and macOS the build process is a single terminal command. Windows users need a provided MinGW-based build environment, though Visual Studio project files can also be generated from the same toolchain. Pre-built binaries for common platforms are available from the official MAME website rather than through this repository. The project is open source and has been running since 1997. The core files use a three-clause BSD license, and the project as a whole is covered by the GPL version 2 or later due to contributions under other compatible licenses. MAME is a registered trademark, and use of the name requires permission from the trademark holder. Active development is tracked on GitHub, with separate bug tracking handled through the MAME Testers site.
← mamedev on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.