On February 5, 1997, the Italian Nicola Salmoria developed the first public version of MAME, his Multiple Arcade Machine Emulator that emulates arcade hits via software. He wasn’t the first to do this by a long shot – at the start of the 90s primitive Nintendo emulators began to be distributed – but it’s clear that MAME’s spread was the trampoline from which huge advances in emulation sprang at the turn of the century. Today it’s become the impressive testing ground where you can even find fully functional replicas of current consoles.

So what does all this have to do with the Android ecosystem? A lot, actually, as even though there are emulators for almost all machines on PC, your smartphone or tablet is also fully adaptable to your needs and malleable for use in different contexts. Whether you play directly through MAME using its touchscreen controls, gamepads, or a control pad connected to external screens, the emulation experience could be equally possible.

mame4droid tutorial 1 MAME turns 20: To celebrate, turn your Android into an arcade machine

¿MAME4All or MAME4Droid?

There are two “official” variants of MAME, both very similar but internally quite divergent and each with different origins. The oldest version, called MAME4droid (0.37b5), is based on the old iMAME4All, an iOS port of the emulator based in turn on the still older MAME3All from GP2X, meaning the ROMset it supports is from quite an old version and includes some 2,000 titles.

The other option is MAME4droid (0.139u1), based on MAME 0.139, and being a more current revision, it accepts a more complete ROMset with support for more than 8,000 ROMs. Plus, since it requires greater hardware specifications, the game runs much more fluidly. Hence we recommend that, unless you use quite a technically outdated Android, you should always opt for the latter version.

How to set up MAME on Android?

Once it’s installed, you have to search for the game ROMs, which must be compatible with the version of MAME you’ve downloaded. The default folder to copy them on your device is /ROMs/MAME4Droid/, though in most cases you’ll have to restart your device after installing the app to generate the folder in your file system. Though it’s possible to copy them directly with an Android file explorer, the most advisable thing to do is to connect the deice by cable to a desktop computer and make the changes from there, especially if you’re going to bust your butt renaming games or manipulating folders with several hundred files.

mame4droid tutorial 3 MAME turns 20: To celebrate, turn your Android into an arcade machine

Once you copy the files and restart the app (careful, as if you minimize it it’ll stay running in the background – you have to explicitly tap the Exit option), you’ll see the games in the program’s main menu. Careful here, as you have to respect the name the ROMs came with, and obviously don’t decompress the ZIP file in the folder – you have to leave it to be detected correctly.

MAME4Droid automatically detects the device orientation and places the controls accordingly, though all these aspects can be modified from the Settings menu. Use the virtual crosspad to select the game to launch from the list and press the X button. If this prompts an error message saying you’re missing ROM files, you might have downloaded the wrong version of the game, so keep refining your search or testing other download links for the game in question. Obviously matters related to the legality of using the ROMs is outside the scope of this post, but make sure you know what you’re doing here.

Hardware: External control system

Now comes the fun bit, the “fiddling.” Practically any device that can run Android 4.0 or higher can correctly detect any external peripheral connected via MicroUSB, Bluetooth, or WiFi. The first of the three options is best for serious gaming, as if you can rustle up a MicroUSB-to-USB adapter you can connect all sorts of control systems designed for use with desktop computers. You can, for example, connect a USB gamepad for Xbox 360 (as we explained how to do here). But suppose you’re even more ambitious and want to set up your own arcade machine using a tablet?

There are tons of arcade joysticks on the market, some of them actually quite cheap, which you can connect to your smartphone or tablet. In fact, if you connect one of them, it will be automatically detected by Android and you can even use it to move around your home screen and system menus. Nonetheless, to run properly on MAME you have to map the controls so you don’t have to touch the screen at any point and can “insert coins” or access the main menu using the joystick itself.

To do this, you have to go into Option > Settings > Input > Define Keys, where you can set up the controls for up to four players. That done, you’ll have full control over the emulator’s physical controls. Now you have just one more step till you’re brand-new control system is ready: remove the virtual controls from the screen.

mame4droid tutorial 2 MAME turns 20: To celebrate, turn your Android into an arcade machine

In Option > Settings you’ll see the setup options repeated into two parts, one for the screen’s vertical position and another for the horizontal position. In both cases there’s an option with a tickbox called “Touch controller visible,” to remove any virtual button from the screen. Careful here! If you still haven’t mapped the controls and you remove the buttons from the screen, you have play blind chicken to find the coinexitoption, and start options.

But there’s one more important detail to keep in mind here, which is that if you connect the controls to your MiniUSB port, there will be no way to charge the device. The best way to resolve this is by placing a USB hub between the MicroUSB adapter and the controller itself so you’ve got a free port to plug your device into a power source.

Get crazy, ya’ll: Your very own arcade cabinet

As you can see in the images above, with a joystick and a tablet you can set up a small arcade machine for your own house, but if you’ve gotten that far already, there’s nothing to stop you from creating your own mini-Bartop cabinet. There are tons of sites that do this sort of thing at modest prices: here in Spain, for instance, there’s MataMarcianos.es, which sells small custom arcade machines that hold an (optional) tablet connected to a joystick and arcade buttons.


Even with all that, if you’re really handy with a hammer and nails you could take the plunge and build your own arcade machine. Just take a spin around the web to find a schematic you like – or have a go at sketching out your own. As with bigger bartop machines, how well they turn out depends on how much you want to dig into the subject, edging the wood, molding the glass surface of the table, or creating the vinyls to stick to the surface. A good point of departure could be to check out the now-closed forum at Marcianitos.org, where there’s still a backup with hundreds of schematics and tutorials on the subject.

The Android device itself provides you with the external connectors you need. With the audio jack you can plug in speakers to integrate into the cabinet to increase the sound level, though if you want to cut down a bit on extra noise you could always use a pair of USB speakers with an external power source. That’s another advantage of the USB hub. Plus if your tablet has a MicroHDMI outlet you can connect a bigger monitor and really go for the proper arcade cabinet experience (though once you go there it might be more interesting to find a Raspberry Pi or directly install the insides of a desktop computer). In terms of the controls, you can use a joystick as the easy route, or buy the buttons and stick separately and wire in the cables. Lots of people use the skeleton of an old USB gamepad to connect the cables without getting a Pac or something like that. Hey, we never said this would be easy!

In any case, MAME is just the tip of the iceberg in terms of everything emulator-related that you can install on your Android. We’ve talked before about RetroArch, an all-in-one with most Android emulators integrated into a single, accessible app from a unified menu system that covers both 8- and 16-bit machines like Nintendo 64 and the first Playstation, with performance that depends on the power of your own device. So now… who feels like doing some tinkering?


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.