TOP

MAME4droid Tutorial

Last updated June 10, 2024

Share

This tutorial covers the Android version of MAME. Looking for the Windows version? You'll find that here

About MAME4droid

MAME is the most compatible and capable multiple arcade machine emulator. It supports thousands of games. There is a large community of contributors working persistently to expand and perfect MAME's library of supported arcade games.

This tutorial is to help you with MAME4droid, the most popular port of MAME for Android. It runs fantastic and offers ease-of-use on-screen buttons. It's not easy to set up, but that's due to the nature of Android and its security. Fortunately, you've come to the right place for help!

Should you use MAME4droid?

With all the emulator offerings as of 2024, should you use MAME4droid? In terms of what's good and 100% free, you have two options: MAME4droid and RetroArch. They're both great options.

RetroArch is a multi-system emulator that supports well over 40 systems. As a result, it has a little bit of a learning curve due to all of the features it offers. When it comes to emulating arcade games, RetroArch is better than MAME4droid because it offers multiple arcade 'cores' (a core is an emulator within a multi-system emulator). Particularly, it offers old cores for MAME. As you'll learn in this guide, 'old' arcade emulators are actually better than new ones.

MAME4droid's benefit is that it's a standalone emulator. It's far easier to use than RetroArch. It's already setup for arcade emulation and ready to go. Although one drawback with MAME4droid is that it may be unusuable if you're using an older version of Android. Android 13-16 blocks access to Android's “data” folder , which is where MAME4droid needs you to move arcade ROMs. In less common circumstances, MAME4droid can't be used for games with dual joysticks.

A quick intro to arcade emulation

Maybe you've used Snes9x for Super Nintendo emulation or ePSXe for PlayStation 1 emulation. Snes9x, for example, is extremely easy. All you do is load a ROM, and the game begins.

Arcade emulation, though, is a different kind of beast. A game is made up of multiple ROMs (multiple zip files) rather than a single ROM (a single zip file). Take a look at this screenshot:

Parent ROMs and Child ROMs in MAMEUI

These are (most) of the ROMs for “Dungeons & Dragons: Shadow Over Mystara” and “Dungeons & Dragons: Tower of Doom”. Arcade ROMs use a parent/child system to save space on your device. The parent ROM (i.e. “ddsom.zip”) is always at the top of the list and contains the core data of the game. The child ROMs contain specific regional data.

For example, “ddsomu.zip” contains the data for the United States (or North America) version of Shadow Over Mystara. To play “ddsomu.zip”, the parent ROM “ddsom.zip” must be present in the folder. That's how the parent/child relationship works.

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 a child of a game, you need to download both the child 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.

Does all this make sense? Easy so far, right? Let's continue...

Downloading MAME4droid

Searching 'mame' in the Google Play app store Searching 'mame'

I want to be fair and point out other ports of MAME for Android. If you simply search “mame” in Google Play, a handful of different versions will come up. MAME4droid even shows up more than once with a different version number in its title.

Due to the nature of arcade emulation with 'old' arcade roms actually working better than 'new' arcade roms, my recommendation is to download the older version of MAME4droid:

Proceed to install that to continue with this tutorial.

Moving ROMS to MAME4droid

This process is the 'hardest' part. But don't fret, I'm here to hold your hand!

Opening MAME4droid for the first time Opening MAME4droid the first time
  1. First, open MAME4droid. It's going to prompt you with the messages shown in the picture. Select Default, then select OK, then you can exit MAME4droid. This first-time opening of MAME4droid is important because it creates the folder for the ROMs.
  2. Next, you're going to need a file manager app that can let you view system folders. I recommend ZArchiver for this (it's free). Install it to proceed with my directions.
  3. With ZArchiver installed, take a look at this video. I walk you through moving arcade ROMs from Android's “Download” folder over to MAME4droid's folder “com.seleuco.mame4droid”. Oh, and please ignore the part about extracting zip files. I made this video for my Dungeons & Dragons shrine and I zipped up the game's ROMs. You can download those zip files from there if you wish. Here's a breakdown of the steps in the video:
    1. Open ZArchiver. Allow it to access files on your device. Don't get scared - that doesn't mean ZArchiver is going to start hacking your phone. All that this permission does is allow you to view your files inside ZArchiver.
    2. Tap Download to enter your device's downloads folder.
    3. Tap the dot menu Dot menu then Multi-select Multi-select. Select the arcade ROMs you want to move to MAME4droid. Long press them, then tap Cut Cut.
    4. Tap Button to go up one directory to return to the start screen (the root of your device) that shows all of your folders.
    5. From here, tap the Android folder, then tap the data folder. ZArchiver will ask you for permission again. Follow the prompts: tap the Use this folder button, then tap Allow. Again, don't get scared; having to allow these permissions are just precautions.
    6. From here, enter these three folders: com.seleuco.mame4droid > files > roms.
    7. Finally, you've arrived at MAME4droid's ROMs folder! Now, tap the paste icon Paste. That's it!

NeoGeo games need neogeo.zip

NeoGeo games require the NeoGeo BIOS in order to boot. You can download it below.

  • NeoGeo BIOS (931 KB) - Required in order to boot NeoGeo games. Do not rename or extract this zip file!

To set up the NeoGeo BIOS with MAME4droid, simply move it into the ROMs folder (and I explained this above).

Loading a game

  1. Open MAME4droid. Fortunately, MAME4droid doesn't overwhelm you with a FULL list of thousands of arcade games like other builds of MAME do. By default, MAME4droid only shows you the arcade ROMs that it detected on your device. Move the red joystick up & down to select a game. You can select any game, not just the ones with white text. Press B to load it.
    The game list in MAME4droid
  2. Wiggle the joystick to get past this screen.
    A game is loading
  3. Press COIN a few times to insert digital quarters, then press Start. This begins the game.
    Starting a game

Troubleshooting undetected games & loading errors

Unfortunately, it's common for MAME to refuse to detect your games. Or, MAME4droid 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.
  • Make sure you have the parent of the game you're trying to play. Learn more about parents and children in intro to Arcade emulation.
  • Still getting errors? Try downloading all versions of the game you're trying to play. Meaning, download its parent and all of its children.

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. From this point, you have two options:

  1. Try downloading new ROMs and see if that helps. Try a different place than the one you originally used to get your ROMs.
  2. You can try the multi-system emulator, RetroArch, which I have a tutorial for its Android version. RetroArch has multiple cores for arcade emulators. What's awesome is that RetroArch has multiple cores of MAME by year. So in this case, what would help is trying to load your arcade ROMs with older versions of MAME. At the time I'm writing this, RetroArch lets you go as far back to MAME 2003.

Playing dual joystick games

MAME4droid's default on-screen overlay of buttons only has one joystick. This poses a problem for games such as Tron and Robotron that use two joysticks (a.k.a. “dual joystick” games). Unfortunately, there's no way to add a second joystick with MAME4droid. The only way around this is to use a Bluetooth gamepad that has two joysticks.

The good news is that you can workaround this by using RetroArch and its arcade emulation. In my RetroArch tutorial, I have a special section for arcade emulation. RetroArch lets you change the on-screen overlay of buttons to different ones, including ones with multiple joysticks.

Save states

The 'save states' feature allows you to save the exact position you are in the game. You can later load the saved state to continue your progress. MAME4droid gives you the option of saving up to two different save states.

  1. When you're ready to save your progress, press Option then Save State.
    Saving a state
  2. MAME4droid allows you to save two different states. Press either “B” (slot 1) or “A” (slot 2).
    Selecting a save slot
  3. To load your saved state, repeat the same steps but select Load State then press “B” or “A” to load your desired saved state.

Finding ROMs

These are the best places:

  • Archive.org (the Internet's library) is currently the best ROM site. However, it's not very user-friendly to navigate that site. I recommend using Google to find things there. Use search phrases such as “archive.org mame”.
  • Reddit is a great resource for finding places with arcade roms. On Google search for “reddit download mame roms”.
  • On my links page, I have some good links to sites where you can download arcade ROMs.

Knowing which ROMs to download

I cover this in my MAME (Windows) tutorial because the Windows version of MAME comes with a robust database (with a search!) that makes it easy to find which ROM files are associated with which games.

Advanced help with MAME

I wrote this tutorial for beginners, impatient casual gamers, and people who aren't computer savvy. If you're looking for advanced help with MAME, you won't find that here. Rather, I recommend the following Reddits:

  • r/MAME - The #1 Reddit for help with MAME
  • r/cade - Great Reddit for help with custom arcade cabinets
  • r/crapmame - Another helpful Reddit for custom arcade cabinets