FAQ:Setting Up
Return to the main Frequently Asked Questions page.
Where can I get MAME?
MAME is always available from the Latest Release page on the official MAME developer site or from other mirrors like mame.net. Many other sites have MAME online, too, but you will always find the latest version at the sites mentioned above.
What is a frontend? Do I need one? If so, which one should I use, and where can I get it?
A frontend is a GUI (Graphical User Interface) for the command-line versions of MAME. A frontend is generally responsible for discovering what games are installed on your system and presenting you with a nice user interface for choosing which one to run using MAME. Frontends often have many spiffy features like cool animations, pictures of cabinets and artwork, details about the games, and other useful tidbits.
Most frontends are separate from MAME itself. One common exception is MAME32, which is a version of the standard Windows MAME build with the frontend built directly into the application.
Where can I get the games (ROMs) for MAME?
There are several means of obtaining ROM images for use in MAME:
- A small number of ROM images are now available with the copyright holders' permission at the mamedev.org ROMs page.
- The HotRod Joystick control panel from Hanaho Games, Inc. comes bundled with a CD that includes MAME and a selection of Capcom ROMs. Hanaho also sells the ArcadePC cabinet with a different selection of Capcom ROMs.
- You can purchase your own arcade game PCBs (on eBay for example), buy a ROM reader, and use it to copy the ROM chips' contents into files for your personal use.
Always check if the particular arcade games' copyright owner is selling the ROMs legally (as with Capcom). That way you will support the companies that support emulation.
Once I get the game ROMs, where do I put them?
Put them in the "roms" subdirectory of your main MAME directory. You do not need to uncompress the ZIP files. For example:
mame.exe roms\ gridlee.zip
What are samples and why do I need them?
Samples are digitized sound files. Some games need them, in addition to the ROM files, to provide the complete range of sound effects. For example, the sound routines of Donkey Kong Jr. are not yet fully emulated. If you play the game without samples, you will miss the "jumping" and "climbing" sounds.
It is the MAME team's goal to eventually do away with samples; however, at the moment many older games' audio circuitry is too complex to emulate accurately.
Where do I put samples? Will MAME know they are there?
Put sample files in the "samples" subdirectory of your main MAME directory. MAME will automatically load samples as long as they have the right names and are in the right place.
mame.exe samples\ gridlee.zip
Note: the samples for a game's "parent" (base) version cover all the other versions of that game. So if you have samples for dkongjr in your "samples" directory, dkongjrb (Donkey Kong Jr. Bootleg) and dkongjrj (Donkey Kong Jr. Japanese) will use these samples properly. You do not need three copies of the same samples.
Where do I place the .CHD (compressed hard disk image) files?
Put them into a subdirectory of your "roms" directory with the name of the game the CHD is for. In addition the CHD, you also need the corresponding ROMs for the game to work. To demonstrate:
mame.exe roms\ area51.zip area51\ area51.chd
Note that the CHD name does not always directly correspond to the game now. For example, the CHD for Beatmania is named 753jaa11.chd. It would go in a directory called "bm1stmix".
The ROMs and samples are in ZIP (compressed) format. Do I need to extract them?
You do not need to unzip these files. MAME automatically reads and extracts the data from zipped ROM and sample files, so you do not need to extract this data yourself. It also helps to keep all the ROM files for each game together in a single package.
Do I need to put my CHD files into a ZIP?
No. In fact, it is a very bad idea. CHD files are already compressed in such a way that they can access the data quickly without the need for decompressing the whole CHD all at once. If you put a CHD file in a ZIP, MAME will try to extract the giant CHD file from the ZIP into your system's memory, and then will decompress bits and pieces of the extracted CHD out of memory. This is highly inefficient, and really defeats the purpose of the CHD files.
Why doesn't MAME support RAR/7-Zip/xxxx compression?
ZIP is extremely well-supported through a free, cross-platform library, and has been a standard for at least a decade. Yes, there are many new up-and-coming compression algorithms that squeeze an extra few percent out of things, but they are generally (a) strictly coded for a particular platform, like 7-Zip (though this is apparently changing), or (b) proprietary, like RAR. Furthermore, what most people really fail to realize is that there is absolutely no incentive for the MAME developers to add support for another compression format. For one thing, it only makes the MAME core more complicated, dependent on more external libraries, and prone to bugs.
But even beyond that, what is the real benefit of getting those extra few percentage points of compression? While we realize there are plenty of people out there who feel that life is not worthwhile unless they have an absolutely perfect, audited collection of ROMs on their machines, we honestly don't see why MAME should bend over backwards to ensure that they can accomplish this in a few less MB. If you're really so cheap that you have to pirate all your software, you can at least cough up a few extra dollars to buy a bigger hard disk.
In short, ZIP is good enough, and has a ton of benefits to it. Adding support for anything else merely says, "Hey, we're in it for the ROMz." And quite frankly, we don't think that benefits MAME in any way.