All Topics  
MAME

 
MAME

   Email Print
   Bookmark   Link






 

MAME



 
 
MAME is an emulator
Emulator

An emulator duplicates the functions of one system using a different system, so that the second system behaves like the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated....
 application designed to recreate the hardware
Hardware

Hardware is a general term that refers to the physical cultural artifacts of a technology. It may also mean the physical components of a computer system, in the form of computer hardware....
 of arcade game
Arcade game

An arcade game is a coin-operated entertainment machine, typically installed in businesses such as restaurants, public houses, video arcades, and Family Entertainment Centers....
 systems in software, with the intent of preserving gaming history and preventing vintage games from being lost or forgotten. The aim of MAME is to be a reference to the inner workings of the emulated arcade machines; the ability to actually play the games is considered as "a nice side effect" . The name is an acronym for Multiple Arcade Machine Emulator.

The first public MAME release (0.1) was on February 5, 1997, by Nicola Salmoria
Nicola Salmoria

Nicola Salmoria is an Italy software developer. He is the original developer of MAME, an emulator application designed to recreate the hardware of arcade game systems in software....
.






Discussion
Ask a question about 'MAME'
Start a new discussion about 'MAME'
Answer questions from other users
Full Discussion Forum



Encyclopedia


MAME is an emulator
Emulator

An emulator duplicates the functions of one system using a different system, so that the second system behaves like the first system. This focus on exact reproduction of external behavior is in contrast to some other forms of computer simulation, which can concern an abstract model of the system being simulated....
 application designed to recreate the hardware
Hardware

Hardware is a general term that refers to the physical cultural artifacts of a technology. It may also mean the physical components of a computer system, in the form of computer hardware....
 of arcade game
Arcade game

An arcade game is a coin-operated entertainment machine, typically installed in businesses such as restaurants, public houses, video arcades, and Family Entertainment Centers....
 systems in software, with the intent of preserving gaming history and preventing vintage games from being lost or forgotten. The aim of MAME is to be a reference to the inner workings of the emulated arcade machines; the ability to actually play the games is considered as "a nice side effect" . The name is an acronym for Multiple Arcade Machine Emulator.

The first public MAME release (0.1) was on February 5, 1997, by Nicola Salmoria
Nicola Salmoria

Nicola Salmoria is an Italy software developer. He is the original developer of MAME, an emulator application designed to recreate the hardware of arcade game systems in software....
. As of version 0.130, released March 9 2009, the emulator now supports 4060 unique games and 7883 actual ROM image
ROM image

A ROM image, or simply ROM, is a computer file which contains a copy of the data from a read-only memory chip, often from a ROM cartridge, a computer's firmware, or from an arcade game's arcade system board....
 sets and is growing all the time. However, not all of the games in MAME are currently playable; 1013 ROM sets are marked as not working in the current version, and 41 are not actual games but BIOS
BIOS

In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
 ROM sets. The project is currently coordinated by Aaron Giles.

Design


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
Arcade cabinet

An video game arcade cabinet, also known as an video arcade machine or video coin-op, is the housing within which an video game arcade game's hardware resides....
. MAME can emulate many different central processing unit
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
s (CPUs), both in number or types, including processors, audio and video specific chips, integrated circuit
Integrated circuit

In electronics, an integrated circuit is a miniaturized electronic circuit that has been manufactured in the surface of a thin Wafer of semiconductor material....
s, 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 hack
Hack (technology slang)

Hack has several meanings in the technology and computer science fields. It may refer to a clever or quick fix to a computer program problem, or to a clumsy or inelegant solution to a problem....
s that might make a game run improperly or run faster at the expense of emulation accuracy (see UltraHLE
UltraHLE

UltraHLE was an emulator allowing games for the Nintendo 64 game console to be run on a computer. It was hailed as a massive step forward in emulation technology upon its release in 1999....
, a project aimed to run games at a playable speed). In MAME every emulated component is replicated down to the smallest level of individual register
Hardware register

In digital electronics, especially computing, a hardware register stores bits of information, in a way that all the bits can be written to or read out simultaneously....
s 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
Reduced instruction set computer

The acronym RISC , for reduced instruction set computing, represents a CPU design strategy emphasizing the insight that simplified instructions that "do less" may still provide for higher performance if this simplicity can be utilized to make instructions execute very quickly....
 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:

  • The major releases of MAME occur approximately once a month. These releases are given a version number, e.g. 0.99. The Unix-like
    Unix-like

    A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
     numbering scheme is used, i.e. the version after 0.99 is 0.100, which differs from standard decimal numbering. These major releases are the most mature and least frequent, and are aimed at the average computer user who wants to try MAME. An executable version for the current main development platform (currently Microsoft Windows
    Microsoft Windows

    Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
    ) 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
    Compiler

    A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
     tools. The main purpose of the u releases is keeping development code in synchronization among developers. As such, these minor releases are not made officially available as executables. They are released only as source diff
    Diff

    In computing, diff is a file comparison utility that outputs the differences between two files, or the changes made to a current file by comparing it to a former version of the same file....
    s against the most recent major version.
  • For those users who wish to keep up with day-to-day MAME development, the 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
    Compiler

    A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
     tools and feel comfortable building software from source code.


MAME has been ported
Porting

In computer science, porting is the process of adapting software so that an executable Computer program can be created for a computing environment that is different from the one for which it was originally designed ....
 to many different platforms. The X11 port for Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 systems, named XMAME, is currently undergoing a major rewrite and will not have any public releases in the near future. The SDL
Simple DirectMedia Layer

Simple DirectMedia Layer is a cross-platform, free and open source software multimedia Library written in C that presents a simple interface to various platforms' computer graphics, sound, and input devices, allowing a developer to write a Personal computer game or other multimedia application that can run on many operating systems includi...
 port is . The discontinued Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 port MacMAME has been replaced by another port for that platform, 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 because current versions would run very slow due to being more accurate, and many of them are not under active development anymore.

Game data

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 cassette
Magnetic tape

Magnetic tape is a medium for magnetic recording generally consisting of a thin magnetizable coating on a long and narrow strip of plastic. Nearly all recording tape is of this type, whether used for recording Audio frequency or video or for computer data storage....
s, floppy disk
Floppy disk

A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
s, hard disk
Hard disk

A hard disk drive , commonly referred to as a hard drive, hard disk, or fixed disk drive, is a non-volatile storage device which stores digitally encoded data on rapidly rotating hard disk platters with magnetic surfaces....
s, laserdisc
Laserdisc

The Laserdisc is an obsolete home video disc format, and was the first commercial optical disc storage medium. Initially marketed as Discovision in 1978, the technology was licensed and sold as Reflective Optical Videodisc, Laser Videodisc, 'Laservision, 'Disco-Vision, 'DiscoVision, and MCA DiscoVision...
s, and compact disc
Compact Disc

A Compact Disc is an optical disc used to store Data , originally developed for storing digital audio. The CD, available on the market since October 1982, remains the standard physical medium for sale of commercial Sound recording and reproduction to the present day....
s 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 play back audio/video data such as soundtracks and cinematics. This data must be ripped
Ripping

Ripping is the process of copying audio or video content to a hard disk, typically from removable media or streaming media. Originally, the term is an acronym for "raster image processor" and referred specifically to ....
 and encoded
Codec

A codec is a device or computer program capable of encoder and/or Decoding methods a digital data stream or signal . The word codec is a portmanteau of 'compressor-decompressor' or, most commonly, 'coder-decoder'....
 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:
  • The majority of ROM dumps are stored in raw format and contained in ZIP
    ZIP (file format)

    The ZIP file format is a data compression and file archiver file format. A ZIP file contains one or more files that have been compressed to reduce file size, or stored as-is....
     archives, one for each game.
  • For arcade machines which use hard disks or CDs, MAME uses CHD (Compressed Hunks of Data) files which contain the entire contents of the original hard disk, CD or Laserdisc. Due to the large size of these media, the CHD files derived from them also tend to be large.


Parents and clones


  • Original ROM sets ("parent"): the games which the MAME development team has decided are the "original" versions of each game. Except for the files contained in BIOS
    BIOS

    In computing, the Basic Input/Output System , also known as the System BIOS, is a de facto standard defining a firmware interface for IBM PC Compatible computers....
     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 are used.
  • Clone ROM sets: different versions or variants of the originals. For example, Street Fighter II Turbo
    Street Fighter II

    is a fighting game produced by Capcom originally released as a arcade game. A sequel to Capcoms fighting game Street Fighter , Street Fighter II improved upon the many concepts introduced in the first game , while offering players a selection of multiple player characters, each with their own unique fighting style and special moves....
     is considered a variant of Street Fighter II Champion Edition.
  • BIOS ROM sets: the ROMs in common between all games on various standardized arcade systems (e.g. Neo-Geo
    Neo Geo (console)

    The Neo Geo is a Cartridge -based Arcade game and home video game system released in 1990 by Japanese game company SNK Playmore. The system offered comparatively colorful 2D computer graphics Computer graphics and high-quality sound....
    ). They basically boot
    Booting

    In computing, booting is a Bootstrapping process that starts operating systems when the user turns on a computer system. A boot sequence is the initial set of operations that the computer performs when it is switched on....
     the hardware and then allow the regular game software to take over.


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:
  • Original ROM: hyperpac "Hyper Pacman" - MAME expects all required ROM images in a folder (or ZIP file) called hyperpac.
  • Clone ROM: hyperpcb "Hyper Pacman (bootleg)" - MAME will look in both the parent folder (hyperpac) and the clone folder (hyperpcb) for the files.


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
Sega

is a Multinational corporation video game software and hardware development company, and a home computer and console manufacturer headquartered in Ota, Tokyo, Tokyo, Japan....
 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
Printed circuit board

A printed circuit board, or PCB, is used to mechanically support and electrically connect electronic components using Conductor pathways, or signal traces, industrial etchinged from copper sheets laminated onto a non-conductive substrate....
. By using such a naming scheme it makes it easy to use MAME to identify, and often help repair, non-working PCBs
Printed circuit board

A printed circuit board, or PCB, is used to mechanically support and electrically connect electronic components using Conductor pathways, or signal traces, industrial etchinged from copper sheets laminated onto a non-conductive substrate....
.

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
Sunset Riders

is a Shoot 'em up#Run and gun arcade game created by Konami in 1991 in video gaming. It is set in the wild west. The game was later ported to the Sega Mega Drive and Super Nintendo Entertainment System video game console in 1993 in video gaming....
 by Konami
Konami

is a leading video game developer and video game publisher of numerous popular and strong-selling toys, trading cards, anime, tokusatsu, slot machines, Japanese arcade cabinetss and video games....
:

  • ssriders "Sunset Riders (4 Players ver EAC)" (This is the parent set, with clones following)
  • ssrdrebd "Sunset Riders (2 Players ver EBD)"
  • ssrdrebc "Sunset Riders (2 Players ver EBC)"
  • ssrdruda "Sunset Riders (4 Players ver UDA)"
  • ssrdreaa "Sunset Riders (4 Players ver EAA)"
  • ssrdruac "Sunset Riders (4 Players ver UAC)"
  • ssrdrubc "Sunset Riders (2 Players ver UBC)"
  • ssrdrabd "Sunset Riders (2 Players ver ABD)"
  • ssrdradd "Sunset Riders (4 Players ver ADD)"
  • ssrdrjbd "Sunset Riders (2 Players ver JBD)"
  • sunsetbl "Sunset Riders (bootleg 4 Players ver ADD)"


Konami
Konami

is a leading video game developer and video game publisher of numerous popular and strong-selling toys, trading cards, anime, tokusatsu, slot machines, Japanese arcade cabinetss and video games....
 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

Mame With Emuloader
Although the main MAME program was once only made available as a command-line
Command line interface

A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks....
 application for Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
 and DOS
DOS

DOS, short for "Disk Operating System", is a shorthand term for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions Windows 95, Windows 98, and Windows Me....
, there has been a minimalist GUI
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 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
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 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 of launching games while hiding 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
Sony

is a multinational corporation list of conglomerates corporation headquartered in Minato, Tokyo, Japan, and one of the world's largest media conglomerates with revenue exceeding US$99.1 billion ....
 and Nintendo
Nintendo

is a global company located in Kyoto, Japan founded on September 23, 1889 by Fusajiro Yamauchi to produce handmade hanafuda cards. By 1963, the company had tried several small niche businesses, such as a cab company and a love hotel....
) have attempted in court to prevent emulators from being sold, but they have been ultimately unsuccessful. 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
Gridlee

Gridlee is a 1983 arcade game produced by Videa. Although it was never actually released, the game is playable through the emulator MAME. It is notable for being one of the few games in MAME which may be downloaded with permission from the copyright holders....
, Robby Roto
Robby Roto

The Adventures of Robby Roto! is a 1981 arcade game produced by Midway Games. It is no longer available in most video arcade.It is notable for being one of the few games whose copyright has been released to public use....
, Teeter Torture and a number of early games by Exidy
Exidy

Exidy was one of the largest creators of arcade video games during the early period of video games, from 1974 until at least 1986 . The company was founded by H.R."Pete" Kaufman....
 have been released by their copyright holders under non-commercial licenses. These games may be downloaded legally from the official MAME web site. As of the 0.125u1 release, Gaelco
Gaelco

Gaelco is a Spain company that develops and publishes arcade games and video games....
's World Rally is supported and fully working thanks to the ROMs and protection data being made freely available for non-commercial use from their website.

MAME license


While MAME is available at no cost, including its source code, it is not free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 because commercial use and redistribution are prohibited. That is, its license does not meet the conditions of the Open Source Definition
Open Source Definition

The Open Source Definition is used by the Open Source Initiative to determine whether or not a computer software license can be considered Open-source software....
, nor is it "free software" as defined by the Free Software Foundation
Free Software Foundation

The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to distribute and modify computer software without restriction....
.

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 profiting 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
Copyleft

File:Copyleft.svgCopyleft is a Word play on the word copyright to describe the practice of using copyright law to remove restrictions on distributing copies and modified versions of a work for others and requiring that the same freedoms be preserved in modified versions....
).

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
Kaillera

Kaillera is middleware designed to aid Multiplayer game play for Console emulators. The word "Kaillera" is the verlan of the French language word racaille which is used in reference to "bad people"....
 server protocol, or others that add newer games.

MAME cabinets


MAME arcade cabinets are meant to provide the experience of an entire video arcade
Video arcade

A video arcade is a venue where people play arcade game that are housed in colourfully-decorated cabinets. The cabinets consist of a video monitor, gameplay controls and buttons, computer hardware and software, and a coin-, Token coin-, or magnetic card-based payment mechanism....
 in one unit. They can come in many different flavors, such as upright cabinets which are the full-size cabinets many people are used to, cocktail cabinets which are similar to tables with a glass top that players look down on to play on, and bar-top machines which are miniature versions of the uprights.

Mame enthusiasts will either build their own cabinets from scratch or they will restore an old second hand cabinet with a computer at its central core in place of the original circuit boards. When constructing a cabinet in this fashion there are many considerations to be made on the parts and methods of connecting the internal computer components to the external joysticks pushbuttons, monitor and speakers.

Reception

Retro Gamer
Retro Gamer

Retro Gamer is a United Kingdom magazine, published worldwide, covering retro video games. It was the first commercial magazine to be devoted entirely to the subject....
 called MAME "the original, and best, arcade emulator" in reference to the MAME32 package.

See also


  • MESS
    Mess

    A mess is the place where military personnel socialise, eat, and live. In some societies this military usage has extended to other disciplined services eateries such as civilian fire fighting and police forces....
  • Raine
    List of video game console emulators

    This is a list of video game console emulators, which includes software that emulator video game console platforms....


External links


  • MAME resource and news site