MAME - History and Overview

History and Overview

The project was started by the Italian programmer Nicola Salmoria. MAME traces its roots to an earlier emulator project called Multi-Pac, but the name was changed as more and more games started to be emulated within the MAME framework. In April 1997 Salmoria stepped down due to his national service commitments, handing stewardship of the project to fellow Italian Mirko Buffoni for a period of half a year. In May 2003, David Haywood took over the job of the coordinator. From April 2005 the project was coordinated by Aaron Giles, who stepped down in April 2011 with Angelo Salese stepping in as the new coordinator. The project is supported by hundreds of developers around the world and thousands of outside contributors.

At first, MAME was developed exclusively for MS-DOS, but it was soon ported to Unix-like systems (X/MAME), Macintosh (MacMAME and later MAME OS X) and Windows (MAME32). Currently, the main development occurs on the Windows platform, and most other platforms are supported through the SDLMAME project, which has recently been integrated into the main development source tree. In addition, different versions of MAME have been ported to other computers, game consoles, mobile phones and PDAs, and at one point even to digital cameras.

Major releases of MAME occur approximately once a month. Windows executables in both 32-bit and 64-bit fashion are released on the official web site of the development team, along with the complete source code. Smaller, incremental "u" (for update) releases are released weekly as source diffs against the most recent major version, to keep code in synchronization among developers. The up-to-date MAME source code is kept on the public mess.org Subversion server for those who wish to access it. This is intended only for those who have access to compiler tools and feel comfortable building software from source code.

The architecture of MAME has been extensively improved over the years. Support for both raster and vector displays, as well as multiple CPUs and sound chips found its way into MAME in the first six months of the project. A flexible timer system to coordinate the synchronization between multiple emulated CPU cores was implemented, and ROM images started to be loaded according to their CRC32 hash in the ZIP files they were stored in.

MAME has pioneered the reverse engineering of many undocumented system architectures, various CPUs (such as the M6809-derivative custom Konami CPU with new instructions) and sound chips (for example the Yamaha FM sound chips), and MAME developers have been instrumental in the reverse engineering of many proprietary encryption algorithms utilized in arcade games. Examples of these include the Neo Geo, CP System II, CP System III and many others.

The popularity of MAME has well since broken through to the mainstream, with enthusiasts building their own arcade game cabinets to relive the old games, and with companies producing illegal derivative works of MAME to be installed in arcades. Cabinets can be built either from scratch or taking apart and modifying a genuine arcade game cabinet that was once used with the real hardware inside.

Although MAME contains a rudimentary user interface, the use of MAME in arcade game cabinets and home theater PCs necessitates special launcher applications called front ends with more advanced user interfaces. Front ends provide varying degrees of customization - allowing one to see images of the cabinets, history of the games and tips on how to play, and even video of the game play or attract mode of the game.

The information contained within MAME is free for re-use, and companies have been known to utilize MAME when recreating their old classics on modern systems. Some have gone as far as to hire MAME developers to create emulators for their old properties. An example of this is the Taito Legends pack.

Read more about this topic:  MAME

Famous quotes containing the word history:

    ... all big changes in human history have been arrived at slowly and through many compromises.
    Eleanor Roosevelt (1884–1962)