“Lol, Get a Raspberry PI”

Whenever one of those fancy retro mini consoles is announced there’s always an inevitable comment someone posts in response:

Why Don’t You Just get a Raspberry Pi and emulate on that?

Some dude on the internet

But what happens when you listen to this advice? What happens when you DO get yourself a Raspberry pi for use as an emulation machine? Let’s break it down and have a look:

Available Pis (June 2020)

The first thing you’ll learn when looking at the mighty Pi is that – originally dating back to 2012 – there have been numerous revisions over the years. The original Pi and its sequel have been retired, so the devices you’ll find available to buy today are:

Pi Zero

The Pi Zero is a reworked (and over-clocked) version of the original Pi that was shrunk down for an even smaller form factor (a normal Pi is about the size of a credit card, this is the size of the credit card you’ll have cut in half after maxing it out buying Pi accessories.) The Pi Zero is limited when it comes to the machines it can emulate well, but it’s small factor and low power demands means it’s a suitable candidate for a DIY hand held.

The original Pi Zero lacked Bluetooth and wifi, however these were added in with a later revsion, the Pi Zero W. The device itself is under a tenner, making it very difficult to say no to.

Raspberry Pi0 board
The Pi0 in all its glory

Pi 3

The Pi3 has been around for four years now and – as a consequence – is very well supported. It’s built around a ARM Cortex A53 – a chip that was still used in Roku and Fire Tablets in 2017-2018 – and is a solid choice for emulation. Provided you’re running a dedicated emulator, any pre-3d/32-bit era consoles should work fine on it. However, still priced around £30, there isn’t any really money to be saved plumping for this one over the shiny new Pi4. (Please note there were a couple of revisions of the Pi3, so you’ll want to make sure your getting the B+ if you buy one)

Raspberry Pi3 board
Raspberry Pi 3

Pi4

Released in the summer of 2019, the Pi4 is a relative beast. Based around the ARM Cortex A72 (a flagship chip introduced four years after the Pi3’s A53) the Pi4 represents quite a large performance bump over its older brother.

From an emulation perspective this performance bump is big enough to get several slow and non-working systems working. Almost all Playstation, N64 and Dreamcast games work, meaning that the Pi4 can effectively emulate anything originally released prior to 1999. It even has provisional Saturn emulation up and running in a playable state. If that seems interesting the Pi4 might be the machine for you – though its worth bearing in mind that it isn’t currently quite as well supported as the 3 and it also has a high running temperature – so its probably best to invest in some sort of cooling case for it. The base model with 2 GB of Ram starts at the same price as the Pi 3 and should be enough for your emulation ambitions, though you can pay a bit extra for models with 4 and even 8 GB of ram. Though new, the Pi4 has already been slightly improved so you’ll want revision b.

Raspberry pi 4 board
The Pi4 board

Other Pi Costs

Regardless of the PI you choose, its best to also buy an official Raspberry Pi power supply (£8/9), an av lead (be careful as the zero, 3 and 4 all use different HDMI connectors!) and a case (I can recommend the ‘Aluminium Armour’ if you go for a Pi4.) Oh, you’ll also need some type of controller (bluetooth or USB) and an SD card. For the latter I’d go with the largest you can afford. You’d be surprised how quickly a 200gb card fills up once you start adding CD based games.

I Have a Pi. What Do I do Now?

You have a new computer! Congratulations. If you want, you can use it just like a normal Windows/Mac desktop, installing emulators individually and running them from the user interface. But that isn’t what you’re here for, is it? you’re here because you want a simple all-in one emulation console. Well the good news is that you have not one but two options on that front: Retropie and Lakka.

Lakka is not the option i’ve gone for myself, but it’s most definitely a viable one. Lakka is the official consolised front end for the LibRetro/Retroarch ecosystem, a system that has individual emulators contained as ‘cores’ ran via a central framework that provides a consistent interface. If you happy sticking to Libretro cores and you liked the look of the Playstation 3 interface, this might be the one for you.

Pi - Lakka main window
Lakka, as presented on their own website!

Your other option is Retropie, larger and more customisable approach that also utilises LibRetro cores, but also works with a number of standalone emulators as well, increasing the number of systems you can emulate well. Though perfectly usable straight out of the box, Retropie is almost completely customisable. Alongside being able to add your own emulators and download themes for default frontend Emulation Station, you’re actually able to set Retropie up to run with a completely different frontend applications. If you want versatility, Retropie is definitely the way to go.

pi - Emulation Station/Retro pi main window
Retropie

What Should I Expect From the emulation?

Controllers

Going forward everything in this article will be based on my experiences with Retropie. However, As Lakka is also based of Libretro, I presume most of this will apply to that system at all.

I suppose the first thing to say that is something obvious: this is not an official propriety device running with its own custom controller. This means that, even with the most basic of installs, You will be doing at least a little bit of configuration.

The good news is that the configuration in question is quite basic: Any usb controller you plug into the device will be automatically detected, so it’s just a question of telling Retropie which button on your USB pad corresponds to A B Y X and skipping any inputs your controller doesn’t have (a USB SNES pad will, for example, not have any analogue sticks to configure.)

Some systems don’t always play well with the default Retropie controller config or will require individual key inputs for some games. Depending on your Pi (and the emulators you wish to run) you might need to adjust some of the settings in the Retroarch menu, but accessing this in game is generally as easy as pressing select + Y and navigating it with the control pad. If you’ve made it to here, chances are you have the skills you need to navigate this!

pi emulation - Retro arch menu
The Retroarch Menu

You can also connect Bluetooth controllers and use Xbox and PlayStation as well. These are slightly trickier to setup but will automatically reconnect when paired, so it isn’t too much of a headache. For my Pi, i generally default to the Retrobit’s excellent wireless Saturn Controller.

2D Consoles

Unsurprisingly, emulation of simpler 2D consoles is where the Pi eco system performs best. Regardless of whether you purchase a Pi Zero, Pi3 or Pi4 you should be able to run most consoles released up to the early nineties – notably, in the case of Sega, this includes all of the add-ons – without much of a headache.

Some machines require a BIOS file (basic input output system) in order to work correctly, and because these have the same legal restrictions as game ROM files you’ll have to source these yourself. Fortunately you can find the files you need and the places you have to put them on the retropie wiki: https://github.com/RetroPie/RetroPie-Setup/wiki

So should you plump for an earlier Pi if you’re only interested in running 8/16-bit titles? Not necessarily. One of the big advantages the Pi4 has over earlier iterations is latency: While your Sega Megadrive had instant access to your controller presses, the emulator has to talk to the underlying operating system, which then talks to the controller on its behalf. This makes it difficult to have the same kind of response you would experience on physical hardware.

I say difficult because it isn’t impossible. For less demanding emulators, Retroarch has an ingenious runahead option. When this is switched on, the emulator keeps processing frames while it waits for the input data to arrive and then rewinds to the point nearest to when you pushed the button. On a Pi4 this works really well and doesn’t have an impact on how games run, with relatively demanding Game Boy Advance games achieving frame rates above 60. Even if your only interest is in 2d consoles and older arcade games, there are still very strong arguments for plumping for a Pi4.

pi emulation - 8 and 16 bit video game screenshots
Regardless of the Pi you choose, 8-16 bit games run really well.
3d Consoles

The good news is that the raspberry Pi can now emulate pretty much any console released before the arrival of the PS2. The bad news is that there are generally some caveats involved – and you’ll definitely need at least a Pi3 to get them up and running.

PS1

Impressively, the humble Pi3 does a remarkably good job of emulating PS1 games, with most titles running at full speed. There are a few games which have the odd audio glitch but these seem to be issues with the emulators themselves rather than a limitation of the Pi hardware itself.

pi emulation - Ridge Racer screen shot
A pi3/4 can emulate Ridge Racer! Riiiiidge Racer!
N64

The N64 is slightly hampered by the unusual controller arrangement (6 face buttons + Trigger + two shoulder buttons + one analoigue stick,) but technically most of its games will be playable on a Pi3. The Pi4 improves this compatability even further though, sadly games like Perfect Dark, Goldeneye and Conkers Bad Fur Day still have some slowdown and glitches. You might also have to run different games in different N64 emulators to get the most out of it.

pi emulation -Smash Brothers Screenshot
Smash Brothers is a good example of an N64 game that works well with a normal controller and works well under emulation.
Saturn

From screenshots you might think that the Saturn would be easier – or at least similar – to emulate than either of its 32-bit Stable mates, but this impression would be incorrect: a difficult development period left the Saturn with two CPUS AND two video processors, causing headaches for both contemporary developers and future emulator authors. The standard Saturn emulator included with Retropie – Yabause (literally ‘Yet Another Buggy and Uncomplete Saturn Emulator) – works well on PC desktops but is generally unplayable on a Pi.

Fortunately for Saturn fans help is at hand: a fork (effectively a different version of a piece of software that is developed in a different direction) of Yabause called Yabasanshiro work on the hardware and makes a large number of games (though notably not all) playable on a Pi4. It’s not quite ready for prime time as it requires an bodgy unofficial patch in order to work. Nontetheless it is out there to install if you fancy doing a bit of tinkering.

pi emulation - Dark Saviour Screen Shot
With a PI4, you can catch up on all of the Saturn games that the world missed out on.
3DO & Jaguar

Like the Saturn, the 3DO and Jaguar are machines that you might think would be easier to emulate than an N64 or Playstation. However both machines emulate poorly on the Pi3 with treacle like framerates and distorted sound.

Fortunately both are playable (if not completely optimal) on the Pi4 – though you might need to tinker with the settings a bit on both emulators to get them to work (with the Jaguar in particular the less accurate ‘fast blitter’ option is your friend.)

pi emulation - Space Hulk Screen shot
Generally, the jewels in the 3d0 Library ended up being ported elsewhere
More advanced hardware
Dreamcast

With the Saturn failing to emulate properly, what hope is there of emulating its more powerful descendant? Quite a lot, actually! Though the games themselves were more technically demanding than those produced for the Saturn, the design of the Dreamcast itself was a lot more streamlined, giving emulator coders a fighting chance.

The end result is pretty impressive. On the Pi3 most games will run in a playable fashion (albeit with slowdown and the odd graphical/sound glitch,) while on the Pi4 everything is silky smooth. As a bonus, the default Dreamcast emulator is able to run games made for Sega’s Naomi arcade hardware (provided you have the right ROM files,) allowing you to experience games like Super Monkey Ball in their native form.

Soul Calibur Screenshot
Soul Calibur runs at full speed on a Pi4
Psp

Given that’s it’s unlikely that the Pi will be able to run Playstation 2 games in a playable condition, functional PSP emulation is a great half way house. Not only do the games still look relatively impressive when upscaled, but the emulator runs really well two – albeit with the odd visual glitch on games like Outrun 2006. Surprisingly, the PSP doesn’t require much work in order to get up and running either.

Outrun 2006 screenshot
The PSP is the only way you’re running Outrun on a pi. For the moment.
Arcade games and Extra Systems: Making a MESS

You’d probably expect that emulating arcade games would be broadly similar to emulating comparable console hardware, right? It stands to reason. The Sega Megadrive was effectively a cost reduced version of their Sega-16 hardware, so you’d think that being able to emulate one would give you a fair stab at being able to emulate the other.

However, design of arcade games was fundamentally different to console games. For home consoles the underlying hardware was locked: as satisfying and chunky as console cartridges were, they were effectively glorified ROM files. For most arcade machines, however, their most basic form was a board that contained not just the game ROM but the video/audio/CPU chips required to run it. This meant that manufacturers could be much freer with the hardware they put into their games. Though both Shinobi and Alien Syndrome were Sega System-16 games released in 1987, Alien Syndrome supported sprite scaling while Shinobi did not.

On top of that, arcade code was generally stored differently. While your SNES cartridge might contain a single EPROM that contains the entire game, an arcade ROM might be spread over several ICs which all need to be found together for the game to run (which is while you’ll hear of arcade games described as ROM sets rather than just Sets.)

Golden Axe: Revenge of Death Adder Screen Shot
Revenge of Death Adder is a prime example of a game that runs fast with glitches under MAME 2003 and slow without glitches in MAME 2010

What does this mean for you and your PI? Well, effectively it means two things:

  • The act of emulating arcade machines is a lot harder than emulating home consoles. There are simply so many different hardware combinations it’s impossible to optimise the emulation in the same way you can for a console (unless you fancy having 20 different emulators for 20 different arcade platforms and then carefully working out which games were made for which arcade board!)
  • Because of this difficulty in optimisation, the emulation of each game is always a work in progress. New versions of MAME not only add new games that MAME couldn’t previously emulate, but the often even improve the emulation of games that were largely fully functional.
  • HOWEVER, from the perspective of a Pi owner improvement is not necessarily a good thing. Though these improved ROMS are generally perform closer to the original game, they often have increased hardware requirements, making them run slower on a PI.
  • From a practical perspective, acquiring games can be difficult. Because of the differences between them, ROMS created for the latest version of MAME will normally not work in the versions that run efficiently on a Raspberry Pi.

Consequently, arcade emulation on the Pi can often be a balance of speed against accuracy. For example, if you run the 2003 version of Golden Axe: The Revenge of Death Adder on a Pi3, the game will run at full speed but feature weird shadows and glitchy vertical scrolling sections. The 2010 version fixes all of the glitches and artifacts, but has a much lower frame rate and distorted sound.

MAME has a companion called MESS – the Multi Emulator Super System. the aim was similar to that of MAME, only MESS was to provide a single emulator for all home platforms instead of all arcade platforms. Though it provides similar benefits to MAME, MESS has similar drawbacks: The machines it emulates don’t have any where near the level of optimisation you would expect from a single system emulator. Though the Pi3 is capable of emulating complicated PS1 titles, under MESS it struggles to render more basic 8-bit machines like the BBC Micro and the Atari 2600.

Overall then, if your main interest is arcade emulation or the more exotic systems offered by installing MESS, you will definitely want to plump for a Pi4 over a Pi3. When it comes to performance, the Pi4 is quite capable of emulating advanced two dimensional arcade games that struggle on a Pi3 and is capable of running basic 3d arcade games. When it comes to Mess, the Pi4 is capable of running games for relatively complicated CDI at full speed, while games for the 32-bit Fm Towns run playably albeit with some audio glitches.

It should be said, however, that neither of these areas is the forte of any Pi. If you’re looking to emulate arcade games from the late 90s or the full list of hardware offered by MESS, it might be better to look to a more powerful platform (such as a slightly older PC.) If your interest in arcade games is mostly two dimensional (including the cool 32-bit stuff that’s comparable in power to the Saturn.) the Pi4 is still a very good option, that will probably allow you to play most of the games you’re interested in.

Conclusion: Is It for ME?

Generally, a Raspberry Pi setup won’t match the simplicity of a dedicated plug’n’play console. Although there are outlets that will sell you custom Pi setups with everything preinstalled, i wouldn’t recommend them: not only are they more expensive, but the changes Vendors have made to the images generally make it much harder to get support in the future. I would say if you just want something to immediately plug’n’play with no configuration, the Raspberry Pi approach probably isn’t for you.

However if you’re happy to mess around with a bit of light configuration (possibly editing the configuation text files in Windows, FTPing in to copy roms, etc) the Pi4 is a relative powerhouse that will almost certainly run the vast majority of the old games you want to run. Indeed, the future for it is looking very bright indeed: With a functional Vulkan driver on the horizon there’s a good chance that the Pi’s 3d emulators may improve even further (although there’s no guarantee of this.) If you’re looking for something that’s more of a project than an off the shelf product, the Pi is definitely worth checking out – even if you simply buy an inexpensive Pi Zero and a small Sd card to test with..

Comments are closed.