- About Mame
- 64-bit and 32-bit versions
- Understanding Mame's ROM structure
- NeoGeo games need neogeo.zip
- Loading a game
- Troubleshooting undetected games & loading errors
- Loading a CHD (hard drive) game
- How to play games
- Using a gamepad
- Reconfiguring the keyboard or gamepad
- Finding ROMs
- Knowing which ROMs to download
View this guide on Google Docs to:
- Save as PDF or any common doc format
Mame is the most compatible and capable multiple arcade machine emulator. There is a large community of contributors working persistently to expand and perfect Mame's library of supported arcade games. Mame can pretty much play any game! Even the more modern hard drive based games and 3D games. Although Mame is not the most user-friendly emulator. It does things differently than what you may be used to with traditional emulation such as with SNES and Genesis.
This tutorial is to help you with Windows builds of Mame. The two most popular builds are MameUI and Mame32. They're both almost identical, with the exception that MameUI is newer and Mame32 is older. MameUI comes in two versions: “MameUI-64” and “MameUI-32”. MameUI-64 is for the 64-bit version of Windows and MameUI-32 is for the 32-bit version of Windows.
*If you would like to download Mame, I have it on my emulators page.
64-bit and 32-bit versions
When you go to download MameUI, the first thing you're going to see is two versions: 64-bit and 32-bit. So what is that and which version do you download? I won't drown you with technical jargon. In short: these are types of Windows systems. 64-bit is newer and faster, and 32-bit is older and slower. If you have 64-bit Windows, you need to download the 64-bit version of Mame. And vice versa with 32-bit.
They stopped making 32-bit computers around 2017, so chances are you're most likely using a 64-bit computer. If you're not sure if you have 64-bit or 32-bit Windows, here's how you can check:
- On the bottom left where you see Search the web and Windows, do a search for “64-bit”.
- You'll see this come up: “See if you have a 32-bit or 64-bit version of Windows”. Click it.
- You'll arrive here . Look for “System type”. If it says “64-bit operating system” then you're using 64-bit Windows. If it says “32-bit operating system” then you're using 32-bit Windows.
Using Windows XP? Here are directions for that .
Windows versions of Mame are all a standalone program so they do not have an install wizard. Installation is simple: just extract Mame from its zip file. Not sure how to extract zip files? Here's a video tutorial showing you how: how to unzip files on Windows.
IMPORTANT! Mame must be placed in a common folder on your computer. I recommend Documents, Downloads, or create a folder on your desktop. If you place Mame somewhere else on your main C drive, then you may be restricting it to read-only access. Doing so prevents Mame from saving anything.
To open Mame, double-click on , or , or any other *.exe if you're using another version of Windows Mame.
Understanding Mame's ROM structure
Upon opening Mame, the first thing you see is the All Games tab (shown below). This is a list of all the games supported by Mame. Mame does not include these games. You need to download them separately.
In this list, notice the indented games. And notice that the first game of the same title is not indented. The first game is the parent and all the indented games below are the orphans. See:
In the picture below, I'm showing you how this parent/orphan relationship applies to actual ROMs in the roms folder. This is how all arcade emulators work with arcade ROMs.
In other words:
- If you want to play the parent of a game, you need to download the parent ROM.
- If you want to play an orphan of a game, you need to download both the orphan ROM and the parent ROM.
You'll notice that all arcade ROMs are abbreviated. You must never rename or extract an arcade ROM! Its exact filename is how Mame can detect it.
NeoGeo games need neogeo.zip
NeoGeo games require the NeoGeo BIOS in order to boot. You can download it below. Additionally, old versions of Mame emulators may require an older version of the NeoGeo BIOS. If you're finding that the first NeoGeo BIOS doesn't work, download the old version.
- NeoGeo BIOS (931 KB) - Required in order to boot NeoGeo games. Do not rename or extract this zip file!
- NeoGeo BIOS (old version) (236 KB) - May be required if you're using an old version of Mame. Rename it to “neogeo.zip”.
*To setup the NeoGeo BIOS with Mame, simply move it into Mame's ROMs folder . That's it!
Loading a game
- Before we do anything, I must first inform you to never extract or rename the zip file of an arcade ROM! The exact filename is how Mame detects it.
- Move your arcade ROMs into Mame's ROMs folder .
Scanning for new gamesNext we need to have Mame scan your ROMs folder for new games. You can do so by going to File > Audit all games (shown to the right), or just press the F5 key. A progress bar will appear on the bottom of Mame's window:
The audit usually takes just a few seconds. Sometimes it could take a few minutes.
- Click on Available to view the list of games that Mame has detected as playable, as shown below:
Double-click on a game to play it.
*If your games are not being detected or giving you 'not found' errors, read the next section.
Troubleshooting undetected games & loading errors
Unfortunately, it's very common for Mame to refuse to detect your games. Or, Mame
This is happening because the authors of arcade emulators are purists who insist on everything to be perfect. As soon as an arcade game has a better ROM dump, Mame is updated to support the newer dump. This renders older ROMs incompatible. This problem gets more complicated with the reality that pretty much every ROM site distributes only old ROMs. These old ROMs are incompatible with newer builds of Mame.
The first step in troubleshooting this is to run through the following checklist:
- Double-check to make sure your arcade ROMs are indeed in the ROMs folder .
- Did you rename or extract your arcade ROMs? You must never do that! If you did then that's why they're not working.
- Is it a NeoGeo game? Make sure neogeo.zip is in the ROMs folder.
- Did you run a game audit? You can do so by going to File > Audit all games, or just press the F5 key.
- Make sure you have the parent of the game you're trying to play. Learn more about parents and orphans in Understanding Mame's ROM structure.
- Still getting errors? Try downloading all versions of the game you're trying to play. Meaning, download its parent and all of its orphans. MameUI can help you find all the ROMs that belong to a specific game.
The workaround: If you're good on the above bullet points then you're doing everything correctly. This means the arcade ROMs you downloaded are definitely old. So how do you get old ROMs to work? That's simple - use an old version of Mame! In my emulators page I provide a version of Mame32 from 2007. It has a high success rate of detecting ROMs that are being distributed in popular ROM sites.
Loading a CHD (hard drive) game
Arcade games based on a hard drive require some extra steps. You need two things: (1) the parent ROM, and (2) the CHD file (the hard drive file). The size of the parent ROM is tiny, but expect the CHD file to be around 100 MB. I'll use Killer Instinct as an example in these directions:
- The parent ROM for Killer Instinct is “kinst.zip” and the CHD file is “kinst.chd“. Place “kinst.zip” into Mame's ROMs folder as you would with any other Mame ROM.
- Within the ROMs folder, create a new folder and call it kinst (which is the exact name of the ROM).
- Move “kinst.chd“ over to this new kinst folder.
- Open Mame and do a game audit. You can do so by going to File > Audit all games, or just press the F5 key.
- You should see Killer Instinct come up in the Available list. Double-click to play. If Killer Instinct did not show as available, read the section in this tutorial about troubleshooting undetected games.
*If these directions aren't enough and you're still lost, here's a YouTube video showing you exactly how to load CHD games.
How to play games
Arcade games on Mame work in the same fashion as the real thing. Upon loading an arcade game, to play you must insert virtual coins. You can insert as many as you want (which gives you infinite lives). Then press Start to begin. Each player has their own coin bank and Start button.
- Player 1 Start = Press 1
- Player 2 Start = Press 2
- Player 3 Start = Press 3
- Player 4 Start = Press 4
- Player 1 Coin = Press 5
- Player 2 Coin = Press 6
- Player 3 Coin = Press 7
- Player 4 Coin = Press 8
Player 1 Keys
- Player 1 Button 1 = Left Ctrl
- Player 1 Button 2 = Left Alt
- Player 1 Button 3 = Space
- Player 1 Button 4 = Left Shift
General Mame Keys
- Press left Ctrl + Alt + Enter for Window mode. Press it again to go back to full screen.
- Press F3 to reset.
- Press P to pause.
- Press F12 to capture a screen shot. It will be captured in PNG format and tossed into the “Snap” folder.
- Press Esc to quit your game.
Using a gamepad
Your gamepad must be plugged in before you open Mame. Mame won't detect it if you plug it in after you open Mame.
- Click on the Options > Default Game Options, as shown here .
- The “Default Game Properties“ window will pop up. Click on the Controllers tab, as shown here .
- Click on Apply then OK.
- That's it! Mame has already configured your gamepad's buttons. Although you still have to use keys 1-8 for player starts and inserting coins.
If Mame didn't detect your gamepad: Test your gamepad with other emulators. If it doesn't work with any other emulator, then your gamepad is faulty. If it does work with other emulators, then Mame isn't compatible with your gamepad.
Reconfiguring the keyboard or gamepad
Mame is a little weird with this. It doesn't offer a way to reconfigure buttons using the frontend GUI. Rather, Mame requires you load a game and use the in-game overlay menus. Here's how:
- The menu that you see toward the right will pop up over the game. You have two options: globally change the keys (Input general), or just this game that you currently have running (Input this Game). Select the option you'd like.
- You'll arrive at the list of all the buttons for a player . Press the Enter key on a button you'd like to reconfigure. Next, hold down the keyboard key or gamepad button that you want the button changed to. That's it!
- If you want to clear the changed button and reconfigure it with something else, press the Enter key on it and do nothing (wait).
In my links page, I have some good links to sites where you can download arcade ROMs. If you want to try to find more sites than what's in my collection of links, just Google around. For example, if you want to download Killer Instinct just Google “download killer instinct arcade” or “download killer instinct mame”.
Knowing which ROMs to download
Downloading arcade games can be confusing. If you read this tutorial, you know that downloading a single ROM for a game doesn't mean you've downloaded the game. You need to download maybe 3-8 separate files in order for a game to work with Mame. ROM sites don't make it any easier for you by separating every piece of an arcade game as a separate ROM. How could you quickly & easily find out exactly which ROM files belong a game?
This is where MameUI comes to the rescue! (Remember, you can download it from my site.) MameUI has a search at the top. Start typing in the game in question, and you'll see it appear. In the “Directory” column you'll see the filenames for the ROM files.