MAME

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 81.86.252.57 (talk) at 18:14, 27 August 2005 (MAME License). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Jump to navigation Jump to search
MAME
Developer(s)Nicola Salmoria and the MAME Team
Stable release
0.99 / August 5, 2005
Repository
Operating systemMS Windows, DOS
TypeEmulator
LicenseCustom [1]
Websitewww.mame.net

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.

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.99 (actually the 143rd proper release), released August 5, 2005, MAME now supports 3126 unique games and 5705 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; 639 ROM sets are marked as not working in the current version.

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. 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 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.

MAME Releases

There are two types of MAME release. The main releases are given a version number (e.g. 0.96, 0.97 or 0.98) and are released on average every 24 days, as executable versions from the MAME.net home page. The average major release adds support for another 35 games. In addition, there are intermediate releases denoted by u numbers (e.g. 0.98u1 is the 1st intermediate release after major version 0.98) which are released every 6 days, on average. These intermediate releases are not released officially as executables, only as source code diffs on mamedev.com which implies that they are meant for developers rather than end users. Binary versions of the intermediate releases may be obtained from unofficial sources.

There is also a CVS repository of MAME and MESS available from MESS.org which allows interested users with access to a compiler to download a bleeding-edge development version in its current state at any time.

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:

  1. Original game ROM sets. 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.
  2. 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).
  3. 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:

  1. If you own the actual arcade game board and an EPROM reader, you can read the ROMs yourself.
  2. Some companies, such as Capcom and Atari, offer ROMs for sale either separately or included with other products.
  3. 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.
  4. 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:

  1. Downloading from websites; although many sites like mame.dk have stopped offering ROMs, they can still be found.
  2. Downloading from binaries newsgroups on Usenet.
  3. Downloading via various peer-to-peer methods such as EMule, BitTorrent, and IRC Fserves.
  4. 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 definitely 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 in fact a number of pirate merchants illegally offering ROM discs for sale for a profit on eBay and elsewhere.

Since all the ROMs and associated files would fill at least 61 CD-Rs or 10 DVD-Rs, downloading the whole collection is not an option for people with dial-up Internet access, although when the CHD files are omitted the download size is significantly smaller. People with fast, unmetered Internet connections who don't mind leaving the download running for a few days or even weeks can feasibly get the full set via BitTorrent. Although it requires a lot of downloading, people do this for several reasons, ranging from simply wanting to have a full collection (derisively called "PokéROM" by the MAME developers, since their activities resemble the phrase "Gotta catch 'em all!" from the Pokémon television series) to wanting to help preserve arcade history—the more places these ROMs are stored, the less likely it is that they will be lost.

Front ends

File:MAME.PNG
The GUI of MAME32

Although 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.

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 ([2]). As of yet, no legal action has been brought against the MAME team.

While emulators are legal, ROM images are covered by copyright law. The MAME license explicitly forbids people from distributing it along with ROM images.

If you own the actual arcade game, making a backup copy of your ROMs for your PC is legal in the US. Some ROM images (such as Atari's) are available for purchase legally. There are several ways of acquiring ROMs which are probably legal in most, if not all, jurisdictions:

  • Buying games as ROMs, e.g.
    • From a ROM retailer such as Star ROMs
    • Sometimes come bundled with P.C. recreations made by the original developers
  • Copying the ROM images from an actual arcade game owned by you
  • Downloading where the original game's copyright has lapsed, e.g.
  • Downloading where the game's producers have allowed this, e.g.

Most people believe that you'll probably never get into legal trouble by using MAME. For the "classic", pre-1990 games, this is almost certainly true, as the market value of the ROM images is negligible. However, some recent, post-2000 games have been added to MAME. Some think such games should not be included, because they risk unwelcome attention from the copyright holders. Certain people quote a "5-year rule", stating that 5 years is how old a game should be before being emulated in MAME. However, there is no legal basis for a such a rule. The website mame.dk was shut down due to a dispute with a copyright holder. It was reopened for awhile, and it is currently closed again, claiming that the bandwidth costs more than the revenue generated by the website. At one point, the MAME team suggested that they adhered to a 3-year rule. MAME currently operates under no real "year rule" as such; instead when MAMEdev feels that a game is no longer being manufactured or no longer popular in arcades, only then will it be added, and not a moment sooner, though at the time of writing, the most recent game added to MAME was three years old. There are two reasons for this rule: to avoid harming the profits of arcade companies, and to lessen the possibility of future lawsuits. They fear that, just because MAME has not yet been subject to legal action, doesn't mean it will never be.

Many copyright holders are currently ignoring the ROM distribution activity. This may change in the future. Some people argue that, as long as it's for personal use and the user isn't selling the ROMs, it's perfectly legal. They argue that the copyright holders have abandoned their copyright by not enforcing it for many years; most of the games are no longer being manufactured. The actual legality of ROM downloading depends on the country, although most arcade games are still protected by copyright in almost all jurisdictions, and will remain so for decades yet. The MAME community has shown itself to be reasonable. When one company requested that ROMs for its games be removed from mame.dk, the maintainers of that website immediately complied.

The RIAA is cracking down on filesharing users for trading songs. The same may someday also happen with ROMs for all kinds of gaming emulators; ROM sites have been targeted in the past by the IDSA (now the ESA). If an individual did get sued by a copyright holder, they would probably feel compelled to make a legal settlement. If they were to choose to fight the claim, they would have to spend a large share of money on their legal defense, even if they ultimately would win; so settlement would probably be the most viable option.

It is rumored that the operators from the mame.dk website have shut down their site because they were concerned about personal liability, and not because of the expense of running the website. Someone who obtains a set of ROM images probably faces a much smaller legal liability than someone who has distributed ROMs to several other people.

Is it wrong to use MAME?

Almost all users of MAME think there is nothing wrong with using MAME for old games that can no longer be purchased or found in modern arcades. However, many people think that current games should not be emulated or played in MAME.

There are a number of arguments for and against using MAME. It's important to note that these are ethical, not legal arguments; the legal status of ROMs is for the most part not subject to argument.

Here are some arguments in favor of MAME's legitimacy:

  • The copyright laws are overly restrictive. The copyright terms are too long, especially when applied to software. These restrictive laws were purchased by big business' lobbying. Using MAME is a form of civil disobedience.
  • The copyright holders have abandoned their copyright, because they no longer actively sell the ROM images and they do not enforce their copyright. ROM images have already been distributed for years without the copyright holders complaining.
  • It does not harm anyone. The market value of the ROM images is negligible.
  • Some people purchased console versions of games, which were advertised as replicas of the arcade version, but are sometimes inferior. In that case, if someone bought the Atari 2600 version of Pac-Man, they should be entitled to use MAME to play the arcade version of the game.

Arguments against MAME include:

  • Game copyright holders have not assented to their games' free use simply by virtue of not posing legal challenges against their distribution; the logistics of trying to sue every person who ever sent or received a ROM file make defending the copyright prohibitively expensive.
  • Widespread unauthorized distribution of games functions as a deterrent against the future development of games, which would mean that using MAME is contrary to gamers' own interests.
  • Interest in vintage gaming is strong and growing; the ROMs' market value is not negligible and possibly still appreciating. This notion is supported by the fact that some older arcade games are being re-released in arcades, like Taito's re-release of Space Invaders for its 25th anniversary, and re-sold in compilation packs for modern video game consoles and PCs. Recently Metal Slug 3 was released as a full price game for the PlayStation 2, illustrating that games covered by MAME are still sold in some cases. (There is an argument that this growing interest in vintage gaming exists precisely because of emulation, and MAME in particular.)

MAME License

Although it allows many of the same liberties, MAME is neither free (as in freedom) nor open source software.

MAME may be freely distributed in source or binary form. The right to reuse source code is granted for non-commercial projects. Anyone who uses source from MAME must also make their project's source code freely available.

Derivative works are allowed (although in some cases discouraged; the MAME team would rather have contributions submitted to the main project). There are some restrictions on what derivative works can change. Especially, derivatives are forbidden from enabling games which are purposefully disabled. As discussed above, this helps ensure MAME does not take revenue from real arcades.

Other MAME uses

While many choose to run MAME as a straightforward piece of software, others may try to enhance their experience by creating realistic interfaces in the form of arcade cabinet enclosures known as MAME machines.

Although unrelated to MAME itsself, there exists a project called Visual PinMAME which combines a realistic simulation of the physical parts of real-life Pinball machines and an emulation of the electronics from more recent Pinball machines. See the article for more details.

See Also

MAME has a sister project called MESS which applies the MAME philosophy to emulating home computers and consoles.

Official MAME sites

MAME Ports and front ends