Retrogaming on Android

I got a new phone the other day (a Samsung Galaxy S3), so I was looking for fun things to play on it when I found a great retrocollect article about emulation on Android which lists the best emulators for all of the different emulated systems.

As it happens, from July 14th 2012 to July 28th 2012 (or thereabouts) there’s a stack of free *oid emulators available – usually you have to pay for the full versions (which have save-game support), but for a while they’re free – so why not? =D

So if you’re interested, you can get all the apps in the list below for the low, low price of absolutely nothing before approx. July 28th 2012:

The difference in the above two version of MAME are in regard to what version of MAME they’re based on (as I’m sure you’ve worked out) – but what this actually means might be a little less clear.

In essence, the MAME 0.375b is based on a version of MAME circa July 2000 – and this version was chosen because it came before the big MAME re-write. This means that the 0.37b5 version of MAME was the pinnacle of MAME development when the developers chose speed over emulation accuracy. MAME4droid supports around 2000 ROMs, which will have to be the right format for the 0.37b5 version of MAME, and there’s no (and never will be any) save/load game support.

The MAME4droid Reloaded version on the other hand is based on 0.139 MAME code (circa 2010), which means that it’s a lot more accurate, but it’s either going to be slower or you’re going to need a beast of a phone to run many games at full tilt – we’re talking about having a dual-core phone as the minimum. MAME4droid Reloaded supports around 8000 ROMs, which this time you can save/load as your wish, and (again) these ROMs will have to be in the right format for the 0.139 version of MAME.

As you might expect, it’s horses for courses – need save/load support and got a high-end phone? Pick reloaded. Lower end phone or game-o-choice not running fast enough? Try out the original.

Emulators for other systems

The list of systems above is in no way exhaustive, as there are emulators for many other systems like the N64, Atari ST, MSX, PC Engine, Playstation – and even the Bandai Wonderswan! Quite!

For a fuller looking list of emulators available on Android, you could do worse than try this AndroidForums post. Just be aware that many emulators are paid apps, or you can get the “Lite” versions which either don’t allow you to save your games or come with a ton of bundled adware rubbish to pollute your phone.

Finding and converting ROMs

As ROMs for old game systems live in a somewhat grey area of the law as to whether they’re legal to download and use or not, you’re going to have to use Google to track them down on your own. Generally, the older the game, the less anyone’s going to care about you downloading and playing it.

Games for most old systems that work on any standard PC-based emulator should work exactly the same on the Android based emulators with no modification required.

The ROMs for arcade games on MAME though are a little bit different, as the version of MAME that you use will determine which version of the ROM you need. Thankfully, there’s only really two main options between the 0.37b5 versions and the more up-to-date versions, and in general you can use tools like clrmamepro to convert the ROMs between formats.

Input

Trying to use a touchscreen as a joystick or gamepad is like trying to use a Dreamcast fishing rod to play a fighting game – and it’s a lot harder to pull off a Shoryuken with the fishing rod… So what can we do about it? As it turns out, quite a lot – if you want to use a controller, the chances are that you can get it to work with a suitable amount of research.

The Sony Xperia Play phones come with their own built-in joypad on the slide-down tray, but if you don’t have one of those, then you can still connect bluetooth devices like Nintendo wiimotes, PS3 Six-Axis controllers and XBox 360 controllers* as long as you have a compatible Bluetooth stack on your phone. Older Android phones (certainly my old HTC Desire) didn’t have a suitably functional bluetooth stack by default, but you could get one by installing a CyanogenMod ROM onto the phone. You could probably also use a mini/microUSB-to-USB connector for any standard USB joysticks or gamepads.

* = Wired Xbox 360 controllers aren’t a problem – wireless 360 controllers on the other hand require a USB-dongle, which itself needs drivers which may or may not be available for your device. In fact, from what I’ve seen, unless you have a Motorola Xoom tablet you could well be out of luck for wireless 360 connectivity.

Anyways, for those with a wish to play emulated games using a controller, try:

Output

A small screen is fine to play games on if that’s all you’ve got – but the chances are that you’ve probably got access to a big Plasma/LCD/LED screen with a HDMI input, too. So why not use that?

Skip to the 24 minute mark to see N64oid on the big screen with a wireless controller!

You’ll need an appropriate cable for your phone (usually some form of microUSB to HDMI converter), for the Samsung Galaxy S3 it’s what’s termed a MHL cable – which’ll set you back about $50AUD or thereabouts.

Also, with a phone to HDMI cable, you’ll be able to watch NBA.TV or any streaming video on the big screen from your phone instead of linking up to a laptop or whatever you currently do (unless you’ve got some kind of VNC/Mediaplayer solution up and running – in which case I envy you and would like to know what software you use!).