MAME stands for Multiple Arcade Machine Emulator. When used in conjunction with an arcade game’s data files (ROMs, CHDs, samples, etc.), MAME attempts to reproduce that game as faithfully as possible on a more modern general-purpose system. MAME can currently emulate many thousands of classic arcade video games from the the very earliest CPU-based systems to much more modern 3D platforms.
The ROM and CHD images that MAME requires are “dumped” from arcade games’ original circuit-board ROM chips, hard disks, and CD-ROMs. MAME becomes the “hardware” for the games, taking the place of their original CPUs and support chips. Therefore, these games are NOT ports or rewrites, but the actual, original games that appeared in arcades, complete with all the bugs, glitches, slowdowns, and subtleties of the original game as it appeared in the arcade.
MAME’s purpose is to preserve these decades of video-game history. As gaming technology continues to rush forward, MAME prevents these important “vintage” games from being lost and forgotten. This is achieved documenting the hardware and how it functions. The source code to MAME serves as this documentation. The fact that the games are playable serves primarily to validate the accuracy of the documentation (how else can you prove that you have recreated the hardware faithfully)?
Free ROM images are available at the developer’s website.