MAME ROM DOWNLOADS

 

Downloads History List of Roms Emulators

 

The MAME core coordinates the emulation of several elements at the same time. These elements replicate the behavior of the hardware present in the original arcade machines . MAME can emulate many different central processing units (CPUs), both in number or types, including processors, audio and video specific chips, integrated circuits , microcontrollers, etc., including the needed elements for them to communicate together such as memory regions, RAM, data buses, peripherals, storage devices, etc. These elements are virtualized so MAME acts as a software layer between the original program of the game, and the platform MAME runs on.

Individual arcade systems are specified by drivers which take the form of C macros . These drivers specify the individual components to be emulated and how they communicate with each other.

Emulation philosophy

The stated aim of the project is to document hardware, and so MAME takes a somewhat purist view of emulation, prohibiting programming hacks that might make a game run improperly 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 2 GHz PC. More modern arcade machines are based on 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.

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.

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:

MAME has been ported to many different platforms. The X11 port for Unix-like systems, named XMAME , is currently undergoing a major rewrite and will not have any public releases in the near future. The SDL port is SDLMAME . The discontinued Mac OS X port is named MacMAME Another Mac OS X MAME emulator has started though, called MAME OS X . In addition, different versions of MAME have been ported to many other computers, PDAs, digital cameras and game consoles. Most of these ports, however, are based on very old versions of MAME, and many of them are not under active development anymore.

Game data

MacMAME under Mac OS X running Progear.MacMAME under Mac OS X running Progear . 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 , laserdiscs , and compact discs are also used. Most of these devices can be copied to computer files, in a process called "dumping". The resulting files are often generically called ROM images or ROMs regardless of the kind of storage they came from.

To play a particular game, MAME requires a set of files called a ROM set. They contain all the data from the original machine; for legal reasons, however, MAME itself does not include any of these files.

Some arcade machines use analog hardware, including laserdiscs and magnetic tape, to store and playback audio/video data such as soundtracks and cinematics. This data must be ripped and encoded into digital files that can be read by MAME, ordinarily involving lossy compression . Consequently, the digital copy is not a perfect reproduction of the analog source.

MAME uses two different file types for storing ROMs depending on the original medium:

Parents and clones

Naming convention

A single supported game is usually referred to as a ROM set. Usually each game will consist of multiple ROM files, each of which represents a single device (usually ROM, but sometimes other devices such as PALs). The MAME developers assign each ROM set an 8-letter name for identification as well as a description associated with that 8-letter name. Examples:

Individual ROM files are often named after labels found on the ROM chips and the position they are located on the board in the format "label.position". Sega for example use a standard labeling scheme for all the ROMs found on their arcade boards giving each unique ROM chip a unique label. "mpr12380.b2" is a ROM from the Golden Axe romset. This implies that the rom was labeled "mpr12380" and located in position "b2" on the PCB. By using such a naming scheme it makes it easy to use MAME to identify, and often help repair, non-working PCBs.

The 8-letter identification tags are less standardized and usually left to the discretion of individual developers. Although some standards do exist, the descriptive long names often follow naming conventions set by the original game manufacturers. For example, Sunset Riders by Konami :

Konami gave each revision of their later games a very specific and clearly visible version number, from the mid 90s onwards. As these represent an easy way to identify each version of the game, including the region in which it was available and the revision of the code, MAME uses this information to identify each set. UAA is American revision A, while ABD is Asian revision D. For companies where it is less clear sets are often simply labeled as "(set 1)" and "(set 2)". Unreleased games are labeled as "(Prototype)" and non-original versions of games are labeled as "(Bootleg)"

User interface

Emuloader being used with MAME Emuloader being used with MAME

Although the main MAME program was once only made available as a command-line application for Microsoft Windows and DOS , there has been a minimalist GUI added to version .118 of the Windows distribution. In addition to the standard GUI there are several popular frontends which allow MAME to be launched from a more familiar graphical environment as well as providing facilities such as auditing ROMs. 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 illusion that the cabinet is a real arcade machine.

Legal status of MAME

Owning and distributing MAME itself is legal in most countries, 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 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 Alien Arena, Gridlee , Robby Roto , Teeter Torture and a number of early games by Exidy have been released by their copyright holders under non-commercial licenses. These games may be downloaded legally 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 offenses 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 whose copyright owner is not aware that he owns the copyright. Such games are termed orphan works . They are covered by copyright but 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. On January 31, 2006, the United States Copyright Office released the results of its study of this issue. [2]

MAME license

While MAME is available at no cost, including its source code, it is not 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." The main goal of this is to prevent arcade operators from installing MAME cabinets and profiteering from the works of the original manufacturers of the game.

Also, redistributions of modified versions (derivative works) must include the complete corresponding source code (similar to a copyleft ).

There exist, however, a number of derivative versions that violate the license by not releasing the full and complete source code, including multiplayer builds that support the Kaillera server protocol, or others that add newer games.