MAME
From Free net encyclopedia
MAME is a computer software program for personal computers designed 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.
MAME has been ported to many different platforms. The X11 port for Unix-like systems is named XMAME. The Mac OS X port is named MacMAME.
According to the official MAME web site, the first public MAME release (0.1) was on February 5, 1997, by Nicola Salmoria. As of version 0.105 (actually the 149th proper release), released April 4, 2006, MAME now supports 3296 unique games and 6096 actual ROM sets (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; 684 ROM sets are marked as not working in the current version.
Contents |
How MAME works
MAME contains several components: a CPU emulator which duplicates the behavior of the CPUs of many original arcade machines; an input emulator which maps arcade buttons, joysticks, and other controls to PC keyboards, joysticks and other 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.
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, 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.
The MAME team has not diverged from this purist philosophy to take advantage of 3D hardware available on PCs today. It is a common but incorrect assumption that performance problems are due to some games' use of 3D graphics. However, even with graphics disabled, games using RISC processors and other modern hardware are not emulated any faster. Thus taking advantage of 3D hardware 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.
MAME Releases
There are several types of MAME release depending on how frequently users wish to update and the level of code maturity each user feels comfortable running:
- The major releases of MAME occur approximately once a month. These releases are given a version number, e.g. 0.99. The Unix numbering scheme is used, i.e. the version after 0.99 is 0.100, which seems counter-intuitive to some. These major releases are the most mature and least frequent ones so are aimed at the average computer user who wants to try MAME. An executable version for Windows & DOS is released from the MAME Home Page.
- Smaller, incremental releases are released between major releases. These releases are denoted by a "u" number after the version number of the previous major release, e.g. 0.99u1 is the first development release after major version 0.99. There are usually about 5 new "u" releases in between major releases. These minor releases are not intended for average MAME users. Instead, they are aimed at people who take a close interest in MAME development and have access to compiler tools. As such, these minor releases are not made officially available as executables. They are available only as diffs against the MAME source code.
- For those users who must keep up with the absolute daily goings-on with MAME development, the MAME source code is kept on the Mess.org CVS server and may be downloaded at will by any member of the public. This is intended only for those who have access to compiler tools and feel comfortable building software from source code.
ROM images
Refer to the main article ROM image
In most arcade machines, the data (consisting of the game program, graphics, sounds, etc.) is stored in read-only memory chips (hence the name "ROM"), although other devices such as cassettes, floppy disks, hard disks, and compact discs are also used. These devices can be read in a process called "dumping" to create computer files containing the same data; these files are often generically called "ROM images" or "ROMs" no matter what kind of device they originally came from. To play a particular game, MAME requires a set of files (called a ROM set) containing all the data from the original machine, however MAME itself does not include any of these files.
MAME handles these data files in two ways: CHD (Compressed Hunks of Data) files hold the contents of hard disks or compact discs, and all the other types of game data are stored in ZIP archives, one for each game.
There are three types of ROM sets:
- Original game ROM sets ("parent"). These are the games which the MAME development team has decided are the "original" versions of each game. Except for the files contained in BIOS ROMs (if needed; see below), the ROM files for these games contain everything those games need to run. The "original" set is generally defined as the most recent revision of the game, and if multiple regional versions are available, the "World" or US revision.
- Clone ROM sets, which are different versions or variants of the originals (for example, Street Fighter II Turbo is considered a variant of Street Fighter II Champion Edition).
- BIOS ROM sets, which are the ROMs in common between all games on various standardized arcade systems (e.g. Neo-Geo). They basically 'boot' the hardware, then allow the regular game software to take over.
There are a few legal ways of getting these ROMs:
- If you own the actual arcade game board and an EPROM reader, you can read the ROMs yourself.
- Some companies, such as Capcom and Atari, offer ROMs for sale either separately or included with other products.Image:StreetfighterUbuntu.jpg
- For two ROM sets, Gridlee and Robby Roto, the game's copyright holders have given permission for them to be freely distributed. These are available at the MAME website.
- For one ROM set, the game's copyright has expired or is otherwise nonexistent. This currently only applies to Poly Play, whose copyright was held by VEB Polytechnik Karl-Marx-Stadt. As the former East Germany collapsed, there does not seem to be a copyright holder for this piece of software anymore.. This is also available at the MAME website.
There are numerous questionable ways of getting these ROMs:
- Downloading from websites; although many sites have stopped offering ROMs, they can still be found.
- Downloading from binaries newsgroups on Usenet.
- Downloading via various peer-to-peer methods such as eMule, BitTorrent, and IRC Fserves.
- By sending the required number of CD-Rs/DVD-Rs to people who will burn and mail these back with the ROMs on, in exchange for shipping costs.
These methods are questionable because they are illegal for games where one doesn't own the original, and their legality is not clear even when one does own the original, at least in the United States - US law allows a backup copy to be made for personal use, but presumes that the user will make this backup themselves. Disc burning services are especially questionable because of the potential argument that their service is commercial in nature, although burning services usually charge only for media and shipping costs. There are also a number of merchants illegally offering such ROMs for sale on eBay and elsewhere with the aim of making a profit.
All available ROMs and associated files would fill at least 61 CD-Rs or 10 DVD-Rs, or one dual-layer Blu-ray Disc.
Front ends
Image:MAME.PNGAlthough the main MAME program is only made available as a command-line application for Windows and Linux, there are several popular front ends, such as GXMame for Linux, which allow MAME to be launched from a more familiar, graphical environment as well as providing facilities such as auditing ROMs. MAME32 for Windows (not a front end, but a full port) also offers this functionality.
Additionally, the front ends make available more information about the games themselves, contributing significantly to the experience, such as history information and images of the arcade cabinets.
Some frontends have the sole purpose to launch games and hide the operating system. These frontends are generally used in MAME arcade cabinets, to enhance the suspension of disbelief that the cabinet is a real arcade machine. A popular one is Turbo MAME.
Legal status of MAME
Owning and distributing MAME itself is legal in the US, as it is merely an emulator. Some companies (notably Sony) have attempted in court to prevent emulators from being sold, but they have been ultimately unsuccessful ([1]). As of yet, no legal action has been brought against the MAME team.
The situation regarding ROM images of games is less clear-cut. Most arcade games are still covered by copyright.
Some copyright holders have been indecisive regarding making licensed MAME ROMs available to the public. For example, in 2003 Atari made MAME-compatible ROMs for 27 of its arcade games available through the internet site Star ROMs. However, a status check in March 2006 revealed a reversal of that decision, and the ROMs are no longer being sold there.
Other copyright holders have released games which are no longer commercially viable free of charge to the public. Games including Gridlee and Robby Roto have been released by their copyright holders under non-commercial licenses. These games may be downloaded legally from the official MAME web site.
Copyright has expired on some games, meaning they are in the Public Domain. Such games may be downloaded, distributed and even modified freely and legally for commercial as well as non-commercial purposes. Of the games emulated in MAME at this date, only Poly Play falls into this category. It is freely available from the official MAME web site.
However, the majority of games emulated in MAME at this time are copyrighted but no longer commercially available in any form. The legality of distributing or downloading such games depends greatly upon the laws in each country. Many national copyright laws include language which limits offences to those which cause material harm to copyright holders. An argument could be made that where a game is no longer being manufactured or sold, this could not be the case.
A peculiar legal situation exists with regard to games which are covered by copyright but where there no longer exists a copyright holder. Such games are termed Orphan games. They are covered by copyright but, since they have no legal owner, do not make money for anybody. Copyright reformers such as Lawrence Lessig believe that such works no longer have a reason to be copyrighted and should be in the Public Domain. The United States Copyright Office is currently seeking comments on this issue.
MAME License
While MAME is available at no cost, including its source code, it is not open-source software or free software because commercial use and redistribution are prohibited. That is, its license does not meet the conditions of the Open Source Definition, nor is it "free software" as defined by the Free Software Foundation.
In particular, MAME may be redistributed in source or binary form, either modified or unmodified, but: "Redistributions may not be sold, nor may they be used in a commercial product or activity." Also, redistributions of modified versions (derivative works) must include the complete corresponding source code (similar to a copyleft). [2]
See also
- MAME has a sister project called MESS which applies the MAME philosophy to emulating home computers and consoles.
- MAME arcade cabinet, homebuild replicas of arcade cabinets to run MAME software.
External links
Official MAME sites
- Official MAME website - command-line version for Windows and DOS
- Official site of the MAME development team - also hosts source patches
MAME Ports and front ends
- MAME32 home page - Windows standard GUI version
- MAME32 Plus! (full GUI) - Windows GUI version (with additional driver changes and video filters)
- MAME32 FX (smaller GUI) - Windows GUI version (with additional driver changes)
- xMAME home page - Unix/Linux version
- GXMame - xMAME front-end for Linux
- 3D Arcade - An effort to build a 3D virtual arcade front end for MAME including 3D models of the original arcade machines
- MAME for the GP32
- MAME for the Dreamcast
- E²MAME for Series 60 Devices
- MameCE3 for Windows Mobile Smartphones
- PocketCultMAME for PocketPC devices
- MacMAME Home Page - MacOS version of MAME port.
- AdvanceMAME - Enhanced MAME port for DOS, Windows and Linux emphasizing "true" video emulation on a range of monitor configurations. Includes a front end and other MAME-related projects.
Additional features
- Mame History.dat huge database with detailed individual entry for each game
- Mameinfo.dat huge second database with detailed Mame Progress Status for each Game.
- Mame Unofficial Hiscore.dat a complimentary file to help Mame in saving high scores in over 2500 games
MAME-related sites
- MAMEWorld.net
- StarROMs - An authorized merchant of Atari ROMs for use with MAME, now out of business
- Metal Mame, features heavy metal versions of soundtracks to use in MAME
- Arcade Retro Lounge - Tips and Tricks and Info pages for many games
- Checklist - Emulator Compatibility listsde:M.A.M.E.
es:Multiple Arcade Machine Emulator fr:MAME gl:MAME it:MAME pl:M.A.M.E. pt:MAME fi:MAME zh:MAME