This part of the MacMAME Users Guide explains what 'roms' are, and how MacMAME uses them to emulate games.
Contents
There are two components to most arcade video games:
The game program itself, which exists as a set of "rom" (read-only memory) chips. Rom chips store the game program just like your computer's hard disk stores programs, but the contents of rom are permanent and can never be changed. (Arcades would not want the programs in their arcade games to be accidentally changed or deleted.)
The hardware required to run the game program. The hardware includes components such as the video display, the CPU microprocessor, the joystick and buttons, the coin slots, and the battery memory which remembers the game's high scores. Often, many different arcade games run on the same exact hardware (for example, the hardware inside Dig Dug is the same as what's inside Galaga and Rally X and Super Pac-Man); the only difference is the program in the rom chips.
MacMAME emulates (pretends to be) the hardware. If you take an arcade game and copy the code from each rom chip into a separate file on your computer, and put the files all together into a folder with the proper name so that MacMAME knows which game it is, then MacMAME can 'run' the game. The game will have no way of knowing it isn't inside real arcade hardware.
MacMAME identifies games by their abbreviations. For example, if the ROMs folder contains a file named 'astdelux.zip' or a folder named 'astdelux', then Asteroids Deluxe will show up in the MacMAME game list. (Of course, the zip file or folder must contain the correct rom files for that game, or else it won't be playable.) A complete list of supported games and their abbreviations is available at 'http://www.mame.net/gamelist.html'.
It's not legal to have rom files for games you don't own. The copyrights on the games last for 75 years from their date of creation, and if the people who currently hold those copyrights ever want to take legal action against people who have copies of the game programs, they might be able to find a lawyer willing to take the case. That's why MacMAME is careful to make clear that it allows you to play the old arcade game programs, but it does not provide any of the game programs on its own.
Some people believe that it's okay to have a copy of a game program if you own the original arcade game hardware itself, or if you own a copy of the game on one of the arcade collections which have been released for the Playstation and other game systems. Other people believe it's okay to play a copy of a game program for twenty-four hours after you download it. However, none of these opinions are likely to have much legal standing. Robby Roto and Gridlee are the only games so far to have been declared free by their copyright owners for use by MAME gamers, and the East German copyright holder for Polyplay appears to no longer exist. If you want to download and play any other game with MacMAME, you're obligated to own the actual arcade hardware.
A "zip file" is an archive of several files stuck together into one file and compressed to take up less space. While MacMAME is capable of emulating a game by using a folder full of its rom files, a more common way of keeping games is to compress each game's folder into a zip file.
MacMAME can read zip files directly. Just put them into its 'ROMs' folder and you'll be able to play them. There's no benefit to expanding the zip files; if you unzip them, they'll only take up more space on your hard disk.
Some arcade video games are cartridge-based systems, letting the arcade owner switch to a new game simply by swapping cartridges inside the machine. One example of this is the Neo-Geo (which was also available as a home game system). Cartridge-based systems will have rom chips in the basic hardware (known as BIOS, or Basic Input/Output System) as well as in the game cartridges.
When you play these games with MacMAME, you can either have the system rom files in every game zipfile, or you can separate them into a BIOS file. For example, if you have zipfiles for the Neo-Geo games Puzzle Bobble and Neo Bomberman, then you could have copies of the Neo-Geo BIOS roms in both "pbobblen.zip" and "neobombe.zip", or you could put the Neo-Geo BIOS roms into "neogeo.zip" instead and avoid having to duplicate them in each game zipfile.
Some arcade games since the late 1990s have stored part of their game data on built-in hard disks. (One of the first games to use a hard disk was Killer Instinct.) These games still use ROM chips; the hard disk typically is used to store game graphics and video data. For MacMAME to emulate these games, it needs the game's rom files as well as a copy of the game's hard disk data. The data from the hard disk is compressed and stored as a file in the "Hard Disk Images" folder, inside a folder of the same short name as the game.
For example, for MacMAME to run Killer Instinct, it needs to find "kinst.zip" in the ROMs folder; also, in the "Hard Disk Images" folder, it needs to find a folder named "kinst" which contains "kinst.chd".
Some arcade games write data, such as high scores, to the hard disk. MacMAME stores this data as a "diff" file (keeping track of all the differences from the original hard disk image) so that the disk image remains unmodified. Diff files are stored in the "Hard Disk Diffs" folder; they have a ".dif" extension. (If Killer Instinct tried to modify its hard drive, the diffs would be written to "kinst.dif".)
Many arcade games were available in several slightly different forms. For example, Pac-Man was first released in Japan by Namco, and there it was named "Puck-Man." Midway then licenced and released it in the United States as "Pac-Man," and later re-released it with a slightly faster speed and different patterns. Variations of Pac-Man have also been found with different mazes, hearts instead of dots, and even piranha fish instead of monsters.
In MacMAME, a "parent" is usually the latest official version of an arcade game from its original company. "Clones" are variants of that game with slight differences from the original. Clones might be prototypes, bootlegs, regional versions for different countries, updated versions with bugs fixed, or simply the same game licensed to another company.
To list all of a game's clones in MacMAME, use the pulldown menu above the game list and select "Show Virtual Clones." Control-click on a game in the list to display (and jump to) its parent or clones.
MacMAME is clever about clones. If you have a parent ROM set (a zip file containing all the ROM files from the parent game) and you want to play a clone, then the clone's ROM set will only need to contain the ROM files unique to that clone (MacMAME will look in the parent ROM set for the ROM files which are identical to the parent's). This saves disk space on your computer, since identical ROM files aren't duplicated. Some web sites distribute clone ROM sets this way, containing only the ROM files which are different. The drawback of this approach is that you'll need a copy of the parent ROM files in order to play the clone, which is why many web sites distribute clones as complete sets so that they can be played without needing the parent set.
Another approach is to have one zip file which contains all the ROM files for the parent game and all of its clones. This is called a "merged ROM set", and if you're a completist who likes to have as many ROM sets as you can, it can be more convenient than having a separate file for each clone. Some web sites distribute ROM sets merged in this way. If you have merged ROM sets, select "Show Virtual Clones" from the pulldown menu above the game list in the MacMAME application's window so that MacMAME will show you what clones are available for it to use.
A problem can occur, however, when you have a parent ROM set which contains ROM files for that game's clones, and then you also have clone ROM sets which contain ROM files from the parent. This could happen if you obtain ROM files from several different sources, and the result is that you'll have several ROM files duplicated in the parent and clone sets and this will waste disk space on your computer. To solve this, you can merge the clone ROM files into the parent ROM set by hand. To help you, the "Analyze Romsets" button on the Reports tab will go through your ROMs folder and create a report showing all your ROM files, which parent or clone set they belong in, and whether you have any duplicates or damaged files.
Two useful programs for maintaining your collection of ROM sets are 'MacMAME Companion' (on Carlo Noben's site) and 'MacMAME Utilities.' If you have access to a Windows-based PC, a Windows utility named 'ClrMamePro' also does an extremely thorough job of sorting and cleaning up ROM sets.
A "ROM audit" is a report which will tell you whether any of the ROM sets you have are damaged or incomplete. To create this report, click the "Reports" tab in the MacMAME application window, then press the "Audit ROMs" button. Check "List problems only" and "Suppress warnings for known problems" (unless you want much more detailed information). Select "Ignore problems with CHD files" unless you want to check your copies of the compressed hard disk files (for some games which originally had built-in hard disks). Leave the "Audit Filter" blank, then press the "Audit" button. After a few moments, the report will appear, and then you can save it to a file on your computer if you desire.
The "Audit Filter" field lets you narrow your search. The asterisk is a wildcard. If you want to audit only the Pac-Man games, enter "pac*" in that field.
To have MacMAME list the clones which are available for you to play, select "Show Virtual Clones" from the pulldown menu above the game list in the MacMAME application window.

The "Mini Audit" lets you determine if the ROM files you have for a particular game are valid. Select the "Info" tab in the MacMAME application window, then select "Mini Audit" from the pulldown menu. If any of the ROM files are listed as anything other than "good," then you may need to obtain a new copy of that ROM set.
The picture to the right shows an audit of "Puzzle Bobble / Bust-A-Move" (pbobblen.zip) with several rom files missing. The missing files happen to be the Neo-Geo BIOS files; as described above under "What is a BIOS?", this could be fixed either by adding the missing files to the game zipfile or by putting them into "neogeo.zip".
The names of the rom files generally correspond to how the original rom chips are marked on the original arcade game motherboard.
The errors which can appear during a mini audit include:
Errors listed in red will prevent the game from being emulated at all. Errors listed in yellow will allow you to try emulating the game, but it might not be playable.
This document was last updated on May 3, 2005.