God bless emulation and God bless Android devices. MAME serves as something of a cornerstone for retro gaming nostalgics and tends to be the first thing that comes to mind when we feel like reminiscing with classic titles. While its installation and configuration on desktop computers is very straightforward thanks to the number of frontends available, it can be a rather trickier process on smartphones or tablets, particularly if you’re trying to connect a gamepad or external control. Here we’re going to broadly outline how to turn your smartphone or tablet into a small arcade machine. (No, really!)
Software: MAME4Droid
There are two ‘official’ versions of MAME for Android, although it’s actually a port of the iOS version of iMAME4All, MAMED4Droid. (Yes, this is a port of a port; welcome to the world of emulation.) There are two main versions of this program, with the more current one supporting a more modern MAME romset (0.139 compared to 0.37), although it requires a more powerful machine as the emulation is not quite as optimized. Be that as it may, the way both work and are set up is practically identical.
Once one of them is installed, you’ll need to search for the game ROMs, and they must be compatible with the version of MAME you’ve downloaded. The default folder to copy them to your device will be /ROMs/MAME4Droid/, although in most cases you’ll have to restart the device after installing the app for the folder to be generated in your file system. Although it’s possible to copy them directly with an Android file manager, it’s more advisable to connect your phone to a desktop computer by cable and make the changes there.
Once the files are copied and the app is restarted (note that if you just minimize the app it will keep running in the background; you have to specifically select the Exit option), you’ll see the games on the program’s main menu. Careful here, as you need to be faithful to the name the ROMs came with, and obviously don’t unzip the files into the folder, you have to leave them as they are.
MAME4Droid auto-detects your device’s orientation and places the controls differently depending on whether it’s vertical or horizontal, although all this can be modified from the Settings menu. Using the virtual crosspad, select the game you want to launch from the list and press the X button. If when you do so an error message appears saying that files are missing from the ROM, you might have downloaded a bad version, and will have to keep refining your search or testing other download links for the game in question. Obviously, any matters related to the legality of using each ROM falls outside the scope of this post, but experienced gamers should already know what’s up in that department.
Hardware: External control system
Now for the fun part: tinkering. Practically any device that can run Android 4.0 or higher will correctly detect any external peripherals connected via MicroUSB port, Bluetooth, or WiFi. You’ll likely get more play out of the first of those three options, as all you need is a MicroUSB-to-USB adapter to connect all sorts of controllers originally designed for proper consoles. In other words, you can for example connect a USB gamepad for Xbox 360 as we’ve explained in prior posts. But let’s be ambitious here: What if we set up our own arcade machine using a tablet?
There are many arcade joysticks you can connect to your smartphone or tablet on the market, some at very accessible prices. In fact, if you connect one of these, it will be auto-detected by your Android and you can even move around on your home screen and the operating system’s menus using the joystick. That said, for it to work properly on MAME you’ll need to map the controls so you don’t have to touch your screen at any time, allowing you to ‘add coins’ or access the main menu right from the periphery itself.
To do so, you’ll need to go to Option > Settings > Input > Define Keys, where you can configure the controls for up to four players. That done, you’ll have full control over the emulator from your joystick or gamepad. Now you just have to take the next logical step: removing the virtual controls from the screen.
From Option > Settings you’ll see that the settings options are repeated in two sections, one for vertical screen position and another for horizontal. In both cases there is a tickbox called ‘Touch controller visible’, which you can untick to remove any virtual buttons from the screen. Careful, though! If you haven’t mapped the controls yet and you get rid of the screen buttons, you’ll have to work blind to find the Coin, Exit, Option, and Start options.
But there remains an important detail to keep in mind, which is that if you connect the control system to the MiniUSB port, there won’t be any way for you to plug the device into a power supply. The best way to solve this problem is by placing a USB hub between the MicroUSB adaptor and the control itself so that there’s a free port to connect to power. Here’s a short video with the result of connecting a Nexus 10 tablet to a cheap but operative Elecom arcade stick.
Now the crazy part: Your very own arcade machine
As you’ll see in one of the images above, with an arcade stick and a tablet you can set up a small arcade machine at home. But if you’ve gotten this far, nothing’s to stop you from creating your own mini-bartop machine. There are many sites that offer these apparatus at modest prices. Here in Spain, for instance, MataMarcianos.es sells small custom arcade machines that (optionally) house a tablet connected to an arcade stick and buttons.
Even with all that, if you’re brave and handy enough, you can set out to build a physical arcade machine. Once you get to this point, you just have to have a look around the web to find a schematic you like or directly start sketching one yourself. Just like with the aforementioned bartops, how it turns out will depend on how eager you are to dig into the subject: edging the wood, molding the surface of the table glass, or creating vinyls to stick to the surface. A good starting point could be the now-defunct forum at Marcianitos.org, where hundreds of related schematics and tutorials are still stored.
The Android itself will provide the external connectors you need. You can connect speakers to the audio jack to integrate into the machine and get more sound output, although if you want to avoid too much extra noise you could always turn to a pair of USB speakers with an external power supply. The USB hub should help you with this. Likewise, if your tablet has a MicroHDMI jack you can connect a good monitor to put together a proper arcade cabinet, although for those purposes you might be better off finding yourself a Raspberry Pi or directly setting up the arcade machine’s ‘insides’ on a desktop computer. In terms of controls, you can use an arcade stick as the easy route or buy the buttons and lever separately and set yourself to peeling cables. Many use the skeleton of an old USB gamepad to connect without buying a Pac or related gizmo. No one said it was going to be easy!
In any case, MAME is just the tip of the iceberg of everything that can be installed on your Android. We’ve already talked here about RetroArch, an all-in-one that includes most emulators for Android integrated into a single app and accessible via a unified menu system that fits both 8- and 16-bit machines like Nintendo 64 or the first PlayStation, whose performance depends on the power of your device itself. So now that we’ve made it this far… anybody fancy a good session of tinkering?
[…] with certain tablets that turn them into miniature arcade machines, and you can read online about how to turn your Android into an arcade machine as well. But what people are really after is the simple excitement of the actual retro games, and […]
Thanks for finally talking about >How to turn your Android
into an arcade machine <Liked it!
Hooking up a USB hub does NOT allow you to power or charge your android device or phone. The USB port on the device is either a USB connection, or USB power to the device, but not both.
You will still have to unplug your device from the HUB and charge it separately.