MAME, or Multiple Arcade Machine Emulator, is, as the name suggests, a program that is capable of emulating multiple types of arcade machine. Unlike home video game consoles or even computers, arcade machines often have hardware that is devoted to only running one specific game. The MAME project, which began its life in February 1997, attempts to emulate every arcade machine known to man.
The MAME development team opts for emulation accuracy rather than optimisation, meaning computer specifications need to be high in order to run most recent games at full speed. Though MAME is often pixel perfect as a result of this philosophy, it is a controversial emulator, often forcing users to re-download ROM sets and requiring abnormally high specs to play some of the most simplest of games, such as Donkey Kong or Pac-Man at full speed. To make matters worse, some earlier versions of the emulator run games faster, as large samples of code are often re-written in an attempt to be more accurate, often breaking support in the short-term.
MAME and its sister project MESS are separate applications, but are now developed and released from a single source repository. Anyone who downloads the complete source code from the project website can compile the parent project 'MAME (make), MESS (make TARGET=mess) or, of course, UME (make TARGET=ume). Furthermore, the MAME team has integrated both MAME and MESS into a single, unified project, with plans on relicensing it under a more permissive free and open-source license.
MAME is often considered the best arcade emulator around because of its wide range of support. There are currently some exceptions, however. For example, support for Sega Model 2 hardware is limited in MAME, and so users are better off with the Model 2 Emulator.