Microsoft Store
 

MAME


 

MAME is a computer software program for personal computers. The purpose of MAME is to faithfully and precisely emulate as many arcade games as possible, with the intent of preserving gaming history and preventing vintage games from being lost or forgotten. The name is an acronym for Multiple Arcade Machine Emulator.

Emulation philosophy

The stated aim of the project is to document hardware, and so MAME takes a somewhat purist view of emulation, prohibiting cheap hacks that might make a game run properly or run faster at the expense of emulation accuracy (see UltraHLE, a project aimed to run games at a playable speed). In MAME every emulated component is replicated down to the smallest level of individual registers and instructions. Consequently, MAME emulation is very accurate (in many cases pixel- and sample-accurate), but system requirements can be high. Since MAME runs mostly older games, Moore's Law ensures that a large majority of the games run well on a "midpoint" 2 GHz PC. More modern arcade machines are based around fast pipelined RISC processors, math DSPs, and other devices which are difficult to emulate efficiently. These systems may not run quickly even on the most modern systems available; some working games have been estimated to require a 10 GHz processor to run at full speed.

Related Topics:
Hack - UltraHLE - Register - Moore's Law

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

It is a common but incorrect assumption that the speed problem is due to these games' use of 3D graphics. However, even with graphics disabled, games using RISC processors and other modern hardware are not emulated any faster. Thus using hardware rasterization on 3D games would not speed these games up significantly. In addition, using 3D hardware would make it difficult to guarantee identical output between different brands of cards, or even revisions of drivers on the same card, which goes against the MAME philosophy. Consistency of output across platforms is very important to the MAME team - the Macintosh and Unix/Linux ports are just as important as Windows.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Currently, MAME suffers from speed inconsistencies due to varying PC configurations (certain games run too quickly, requiring fine-tuning to their operational speed). Although basic speed-throttling controls exist, a more sophisticated system of speed adjustment needs to be implemented before emulation can be considered time-accurate for all processor configurations. Since this is an ever-evolving project, it is fair to expect this fundamental issue to be addressed in the future.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~