In computer games, MAME is an acronym for Multiple Arcade Machine Emulator. According to the official MAME website (http://www.mame.net), the first official MAME release (0.1) was released on February 5 1997 by Nicola Salmoria. MAME tries to faithfully emulate as many different arcade machines and games as possible, and has been ported to many different platforms. The X11 port for UNIX-like systems is called XMAME.
MAME's purpose is to preserve gaming history, and to stop vintage games from being lost or forgotten. As of version 0.93 (actually the 137th proper release), released February 27, 2005, MAME now supports 3061 unique games and 5524 actual ROMsets (each game may just have the original or have one or more clones as well - see below) and is growing all the time. However, not all of the games in MAME are playable, about 680 ROMsets are marked as not working in the current version.
How MAME works
MAME is a software program which runs on personal computer hardware, with versions for Windows, Macintosh, and Unix operating systems. MAME itself performs several functions: a CPU emulator, which emulates the CPU of the original arcade machine; an input emulator, which maps the arcade buttons, joysticks, and so on to PC devices; and an emulator for the arcade game display and sound equipment. The only thing missing from MAME is the ROM image, which is the program from the original arcade game which made the game run. When MAME is run, it is running the original game from several years ago - just on different hardware.
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. 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. It's a common assumption that the speed problem is due to these games' use of 3D graphics. MAME does not use hardware rasterization on 3D games because you can't guarantee identical output between different brands of cards, or even revisions of drivers on the same card. Consistency of output across platforms is very important to the MAME team - the Macintosh and Unix/Linux ports are just as important as Windows. Detractors to this philosophy point out that ports that make use of proprietary display routines already exist (e.g MAME32, which uses DirectDraw) and that support of hardware 3D acceleration through OpenGL ought to be added as an option that users can activate or deactivate according to personal preference.