Android has been popular with fans of emulation for a good few years now, thanks largely to the fact that Google doesn't impose the same strict rules on app developers that Apple does.
Although emulators have been known to vanish from the Google Play market from time to time, the vast majority remain in place and ready to download at a moment's notice.
They also come with some surprisingly steep price tags, which is quite cheeky when you consider many of them are simply rough-and-ready ports of existing free PC-based programs.
RetroArch is an attempt to do something a little different. Instead of emulating just a single platform, it covers 18 different systems - although strictly speaking, two of those - Cave Story and Doom - are simply interpreters for individual games.
Consoles such as the Sony PlayStation, Nintendo 64, Sega Mega Drive (and its ill-fated Mega CD add-on), Game Boy Advance, and Nintendo Entertainment System all make the cut, and you can run them all from the same application - quite an achievement.
Having dabbled in Android-based emulation previously, we decided to go hands-on with RetroArch to see whether it really is a one-stop answer to retro gaming - or merely a jack of all trades and master of none.
The concept behind RetroArch is that the different emulation 'cores' - the individual emulators, essentially - all use the same interface. So no matter which emulator you're playing, the on-screen controls and basic menu appear exactly the same.
This uniformity is a big bonus, especially when you consider the many conflicting approaches taken by Android-based emulators when it comes to input and options settings.
From the main screen you also have access to an extensive range of settings, such as image filters, Bluetooth controller support, ROM pathways, and other elements.
Downloadable PDF guides are also accessible from this menu, and these do a reasonably robust job of explaining the finer points of each core, as well as offering hints on how to change the appearance of the on-screen controls (something which is a little more long-winded than most people will put up with).
During the game, you can call up a menu that controls elements such as save states, fast-forward control, and even slow-motion. You can also trigger real-time rewinding, allowing you to skip backwards in time if you happen to make a mistake in a game.
This feature is switched off by default and needs to be enabled in the settings menu before it will work. Rewinding is quite demanding on your device’s CPU, and reduces the overall emulation speed when in use - but it's a really useful feature all the same.
Each core is based on a different emulator, and all of these have been taken from existing PC-based programs. As such, there's quite a large degree of difference between them - some function at almost full speed, while others are prone to slowdown, skipping audio, and other performance issues.
Even on the cores that are supposed to provide full-speed play on dual-core devices, we noticed skipping music and occasional jerkiness - despite the fact that we were running RetroArch on a quad-core Nexus 4.
There’s clearly some work to do here - a direct comparison with other standalone Android emulators reveals quite a large gap in overall speed and stability.
RetroArch doesn't come with any ROMs, so you'll have to source those yourself. If you're already a keen Android retro gamer then chances are you’ll have amassed quite a selection already, but if not you should be aware that the distribution and downloading of ROMs is still considered quite a shady practice.
Many classic titles have seen been made available by their copyright holders for modern-day systems - in fact, companies like Sega, Square Enix, and Konami are making their past classics available for consumption on mobile platforms, such as iOS and Android.
You really should consider supporting such ventures before browsing the web for a free - but shady - download.
Once you’ve actually got some ROMs, getting them loaded up is a painless experience. All RetroArch asks is that you point it to the right location on your device's internal storage.
There are some niggles with getting PlayStation titles to run - most PlayStation emulators require a copy of the system BIOS, which - like a ROM - is copyrighted material.
The PlayStation core used in RetroArch is designed to circumvent this issue, but you might find some titles refuse to load unless you also have the BIOS in your ROM folder. Mercifully, all of the PlayStation games we tested loaded without complaint.
The aim of RetroArch is something we can definitely get behind - having all your emulators in one place and linked to a clean, unified user interface is a brilliant idea. It's also pleasing to see the app provide such a large amount of customisation - something which is often missing from some of the emulators on the Google Play market.
We also approve of the developer's intention not to charge to download the app, and to keep it entirely free of adverts. As the team behind RetroArch clearly states, the emulators are supplied by their original developers under a non-commercial licensing agreement, which means no profit should ever be made from their distribution.
Having said all of that, RetroArch is clearly a work in progress. Some of the emulators included are badly in need of further optimisation, and have a long way to go before they reach the standard of standalone rivals such as Robert Broglia’s excellent MD.emu and PCE.emu.
Given time, we're sure they'll get there - the app has already been updated several times since launch, proving that the developer is committed to making it as polished as possible.
Emulation may still leave a bad taste in the mouths of some gamers, but should you find yourself in support of keeping retro gaming alive via ROMs and emulators then RetroArch is certainly worth a download.
It might take a while for it to truly hit its stride, but we're sure the wait will be worth it. If the developers behind this project can tidy up the overall performance then RetroArch could render all its competitors obsolete.