TOP

Mame Tutorial

By Alejandro Rodriguez. Last revised July 10, 2016.

Share

About Mame

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 in 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.

Not sure if you have 64-bit or 32-bit Windows? Here's how you can check:

Searching for '64-bit' to find the technical specs window
  1. On the bottom left where you see Search the web and Windows, do a search for “64-bit”.
  2. You'll see this come up: “See if you have a 32-bit or 64-bit version of Windows”. Click it.
  3. 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 .

Installation

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 Mame's EXE, or Mame32's EXE, 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.

View of all the games that Mame supports

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:

Parent ROMs and Orphan ROMs in Mame

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.

Parent ROMs and Orphan ROMs in Mame

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

  1. 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.
  2. Move your arcade ROMs into Mame's ROMs folder .
  3. Performing a game audit in MAME to detect new games Scanning for new games
    Next 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 progress bar for Mame's game audit
    The audit usually takes just a few seconds. Sometimes it could take a few minutes.
  4. Click on Available to view the list of games that Mame has detected as playable, as shown below:
    The 'Available' section in Mame where playable games are listed
    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

A sample prompt of 'missing file' errors A sample prompt of 'missing file' errors

Unfortunately, it's very common for Mame to refuse to detect your games. Or, Mame will detect your games, but give you 'not found' errors upon loading a game. These two problems have the same source.

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:

  1. 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.
  2. Within the ROMs folder, create a new folder and call it kinst (which is the exact name of the ROM).
  3. Move “kinst.chd“ over to this new kinst folder.
  4. Open Mame and do a game audit. You can do so by going to File > Audit all games, or just press the F5 key.
  5. 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.

A sample of an arcade deck A sample of an arcade deck

Players 1-4

  • 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.

  1. Click on the Options > Default Game Options, as shown here .
  2. The “Default Game Properties“ window will pop up. Click on the Controllers tab, as shown here .
  3. Enabling the gamepad
    Put a check in the box for Enable joystick input, as shown to the right. If this option is shaded out , then Mame is not detecting your gamepad.
  4. Click on Apply then OK.
  5. 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:

  1. Mame's in-game overlay menu
    Open up a game. Press the Tab key.
  2. 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.
  3. Selecting a Player's keys in the in-game overlay menu
    Next select the player whose keys you want to reconfigure.
  4. 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!
  5. If you want to clear the changed button and reconfigure it with something else, press the Enter key on it and do nothing (wait).

Finding ROMs

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.

Finding out which ROMs to download