gitmyhub

mame

C++ ★ 10k updated 5h ago

MAME

MAME is an open-source emulation framework that preserves old arcade machines, consoles, and vintage computers by accurately recreating their hardware in software so their original software can still run today.

C++setup: hardcomplexity 4/5

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.

Where it fits