Raspberry Pi 4 And The State Of Video Game Emulation

The modern ideal of pixel art is a fallacy. Videogame art crammed onto cartridges and floppy discs were beholden to the CRT display technology of their day. Transmitting analog video within the confines of dingy yellow-RCA-connector-blur, the images were really just a suggestion of on-screen shapes rather than clearly defined graphics. Even when using the superior RGB-video-over-SCART cables, most consumer grade CRT televisions never generated more than about 400 lines, so the exacting nature of digitized plots became a fuzzy raster when traced by an electron beam. It wasn’t until the late 90s when the confluence of high resolution PC monitors, file sharing, and open source emulation software that the masses saw pixels for the sharp square blocks of color that they are.

More importantly, emulation software is not restricted to any one type of display technology any more than the strata of device it runs on. The open-source nature of videogame emulators always seems to congregate around the Lowest Common Denominator of devices, giving the widest swath of gamers the chance to play. Now, that “L.C.D.” may very well be the Raspberry Pi 4. The single board computer’s mix of tinker-friendly IO at an astonishingly affordable entry price has made it a natural home for emulators, but at fifty bucks what options unlock within the emulation scene?

The Dubious Price Tag That’s  Still Quite Low, All-In

Raspberry Pi 4 with Thermometer
The raspberry pi 4 runs a little hot out of the box.

The technological gap between the Raspberry Pi 4 and its predecessor is sizeable. A 22% jump in clock speed, upwards of four times the RAM, and support for 4K resolution all while retaining the same footprint should not be undersold. Those advancements were coupled with a heightened 3A power requirement meaning extra cost as not just any PSU over USB-C will do. All those additional amps added up to a worryingly hot surface temperature anywhere from 50 to 80 °C on launch firmware. Even with updated firmware, any serious user will want an additional cooling solution in place. You will also shell out some clams for all the gaming accouterments: keyboard/gamepad, micro-HDMI cable, and flash storage. Ultimately the promise of an inexpensive emulation box fluctuates depending on the amount of pre-existing equipment. But even considering all of the add-ons, to have a dedicated gaming rig at this entry price is pretty incredible. The question is, what kind of gaming is possible?

When it comes to arcade game emulation on a Raspberry Pi, most users’ first stop is the RetroPie distribution. It provides a lightweight user interface that scales well on a variety of resolutions. RetroPie employs the use of advMAME v3.9 as its arcade machine emulation software. While plenty capable, advMAME is actually a port of MAME v0.108 which dates back to 2006. The bulk of emulators written in that time typically prioritized speed over accuracy in order to maintain playability, so the concept of a CRT filter or console chip-level cycle accuracy was hardly possible given the constraints of mid-2000s hardware. This example is not to denigrate any of the developers of advMAME or the RetroPie wrapper, but to point out that there is a cost to the relative convenience of a Raspberry Pi. If the proficiency of emulation is relegated to the era of the original Xbox, then why not use a Xbox instead? The rebuttal is simply two words… runahead mode. And the quad-core nature of the Pi 4 makes it particularly well suited for this.

Run (Kokiri) Forest, Run

For the uninitiated, Retroarch is a frontend that aggregates a large collection of emulation software and is part of retroPie. The development team behind Retroarch announced Raspberry Pi 4 support for a latency-reduction process known as runahead mode. Their description highlights the low-latency benefits of the effort: “The runahead feature calculates the frames as fast as possible in the background to rollback the action as close as possible to the input command requested.” Emulators can be resource intensive, soaking up all the available CPU horsepower and memory. Controller polling can fall out of sync with what is currently displayed on screen when a particular game sequence becomes more demanding. Things can get laggy.

Enabling Retroarch’s runahead mode on the select emulation cores for which it is available (Genesis Plus GX, Snes9x 2010, and VBA Next) can alleviate the input lag caused by the emulator itself.

Runahead Mode Process Flow
Process flow diagram of two-instance runahead mode in Retroarch.

When runahead mode is properly implemented on a Raspberry Pi 4, games control more-or-less as they did on the original hardware. This means losing a life in a run n’ gun the likes of Gunstar Heroes is solely due to user-error. On the other hand, turn based games in the vein of Final Fantasy are safe to play without runahead mode enabled. Those behemoths sure are patient folk.

It should be noted that this revolutionary feature is predicated upon being paired with a halfway decent LCD and wired gamepad/keyboard. Unfortunately, all the simultaneous instances of a game cannot overcome a poor pixel response time or a sub-par Bluetooth radio controller.

Optical Media Shifts Into View

For the first time in the Pi-lineage, there are multiple options for disc-based console emulators. Dreamcast, PSP, Saturn, and even PlayStation 2 cores via Retroarch v1.7.8 have all made their way onto Raspberry Pi 4. Granted the bulk of these systems do not run at full-speed quite yet, but there are some real overachievers still in their nascent beta forms. Specifically redream, a recently developed Sega Dreamcast emulator, has shown remarkable progress (video below) despite having no Raspberry Pi builds considered stable. Games play at or around sixty frames per second at a 720p resolution. The venerated Dolphin emulator (Gamecube/Wii) has even shown signs of promise running on the single board computer.

Beyond Gamecube, there are an array of arcade games that have only now been emulated due to their complexity and are not likely to run on a Raspberry Pi for years to come. Recreating the authentic 20th-century arcade experience may not be within reach in this form factor as more comprehensive emulators like the current iteration of MAME are simply too taxing to run currently. The yearly cadence of new Pi device revisions will prove difficult to retain developer’s attention, and further maturation of emulation software will only help alleviate a device’s lack of raw computing prowess. Runahead mode and access to previously inaccessible emulators certainly bolster the viability of the Raspberry Pi 4 as an all-in-one solution, though what’s most important is that these good ol’ games are being played at all.

38 thoughts on “Raspberry Pi 4 And The State Of Video Game Emulation

  1. Most of my gaming cartridge collection is long gone but I still have almost every disc-media game I’ve ever purchased. I’d love to be able to pop those into an external drive and play via emulator as the consoles themselves gave up the ghost long ago (was a sad day when my PS2 finally died). I don’t suppose that will be possible since there are shenanigans built into the storage media itself.

    1. Yes, for a PS2 disk you’re probably stuck relying on an image someone else has made after defeating the various security methods surrounding it.

      PS1 disks can be played directly from a computer with a CD drive, but I don’t recommend it. PC CD drives want to spin down the CD when its not being actively read, while PS1 games assume the CD is spinning constantly. The end result is that, if your game doesn’t read data from disk for a while, the game will stall for several seconds when it next tries to read data while the drive spins the disk back up again. It’s much easier to play from an image where those delays don’t exist.

        1. Possibly but everyone just uses ISOs so there’s not much point. It makes much more sense. If you really want to use your own copy of a disk for some reason, read it in and image it.

          There’s also the problem that it’d run the drive much longer than they’re intended to run for. Out of a half-dozen optical drives I have lying around, trying to find one to replace a broken one, none of them work. They’re not made to last. The mechanical parts would be the ones to cheap out on. The PS1 at least, was made to have it’s drive spinning most of the time, and I suppose Sony know quite a bit about CDs. And it was a consumer product they made millions of identical units of. So they could solve all the bugs and invest big money in manufacturing it properly, but affordably. Plus at the time the silicon in it was the expensive part, so no point cheaping out on the CD drive.

      1. PS2 Discs don’t have an issue being read by a computer. I actually use FreeMCboot on my PS2 to run my Discs from a USB Drive with the images created just from using DD to create an ISO. No defeating of security methods required.

        The biggest part of PS2 emulation is getting a PS2 Bios for the emulator to use.

          1. Not sure. Dreamcast disks were basically CDs, but they did stuff to the data rate to squeeze more data in, about 1 GB instead of 650MB. Or 750MB which you could get on an ordinary CD if you were a bit creative going past the limit of where you’re supposed to write the tracks. Most CD drives would read those, some wouldn’t.

            But the Dreamcast drive famously couldn’t be read in a CD drive. I’d be surprised if a DVD or Bluray drive can’t read them, with their increased accuracy. It’s still just a polycarbonate disk of the same size and shape. Might need you to be adventurous with accessing it, might even need someone to tinker with the drive’s BIOS to do it, but that’s a rare elite hacker skill.

            As it is though, most Dreamcast games have been imaged. Often the pirates remove some of the FMV video to cut the size down to something that will fit on a CD. The Dreamcast can read real CDs no problem although I think it would need chipping to bypass the security. Gods bless console manufacturers for keeping the optical drive’s circuitry separate from the main stuff, where it can be patched and tinkered with.

            Imagine if the drive’s control lines went straight to the CPU or one of the custom chips! That would make tinkering quite a bit more difficult. Although really it’s just a matter of spoofing the results of a CD drive to be whatever’s expected. Encryption there might hamper things. Although it’s more things to go wrong, and I think console makers can put up with a small amount of users have chipped machines to run copied disks, when the majority are paying for them like they’re supposed to.

            Anyway… the games have been imaged. Perhaps they loaded something into the Dreamcast to make it read the disks and blurt the data out through a serial port. Nowadays with USB on consoles you could have it write to a memory stick, with much more capacity than a disk.

            Actually now there’s USB on consoles, why don’t their run and shoot, Doom-clone games support a mouse and keyboard? They’d certainly plug into the USB ports. All the champion gamers use PCs. A tiny thumb stick doesn’t allow the speed and accuracy to aim in a game. So they ended up putting auto-aim into them. What a waste of time! Either build bigger analogue sticks or allow the mice and keyboards that are ubiquitous, dirt cheap, and ready to plug in! It’s really a stupid thing that they don’t.

      2. There were actually one or two early CD era PC Games that were just as bad, they assumed you had a double speed CD drive period. Try playing them 6 months later on your shiny new quad or 6 speed and they barfed. Though it was actually down to how the drives themselves behaved, by the time of 10 speed or so, the better quality ones were multispeed and they had a 2x mode for anything that seemed to be trying to read off them at that speed. However, after 24x or so, it got to be an unusual feature again, apart from on burners, which had to control recording speed so had mutli speed electronics.

    2. It gets to a point where actually owning physical copies of things is near impossible, if not for cost with rare items, just the amount of space it takes up.

      I really like buying physical copies of movies that I enjoy. I have a little over 1000 blurays in my collection, and that’s not including the 600 odd DVDs that I have. Sadly, I’m not block buster so I don’t have the space to put them all on shelves to look at and pick and choose from when I want to watch a movie. So I tend to keep the majority of them boxed up and stored away in the loft space, leaving a select few that I regularly watch that do deserve bluray quality.

      I used to have a massive collection of dreamcast games, boxed and they took up a huge amount of space due to the fat size of the cases (side note: I’m still disappointed that blurays arent thinner). My big box collection of PC games went around the same time, and luckily I have all them on steam now, but for older content, like the dreamcast there is just so many games that I just can’t get in digital form, legally, even if I wanted to with the exception of a few arcade dramcast packs for things like crazy taxi on steam.

      Luckily I’m not that fussed about retaining retro console stuff so emulation for those aren’t a big deal for me, but when it comes to computers like the Amiga where having a failing media like floppy disks around is just not going to happen long term, a digital copy is a near must. Does anywhere still make floppy disks? I don’t know.
      Luckily we do have active projects to replace battery leaked motherboards for the Amiga, from the A500/+ and A1200 and even the 4000 motherboards being replicated, but the custom chips stil need to be sort from original hardware so it’s just time before they die out. In cases like that, emulation is a must for those old machines to continue on wards.

      I’d personally like to see more baremetal projects on the raspberry pi.

      1. Why don’t you get one of those binder things? Or one of the other CD / optical disk storage wallets? They come with loads of “pages” of plastic pockets that exactly fit a disk. You can fit dozens or hundreds in them depending on their size. Much smaller than the original cases. Then keep it near the TV. Or somewhere safe if you like. Put the original cases in the loft.

        In the future it’ll all come down a wire anyway, and you’ll only notionally “own” it as long as the company you’re paying decides you do. If you liked you could get a big hard drive and read in your films. Then encode them in whatever quality you like, or even keep them in the format they’re encoded in on-disk. A modern PC will be able to play that. A hard drive will be able to store… lots. And 2 hard drives even more.

        You could put them on a home network, wired or wifi. Then every room could either have a PC or maybe one of those Android / Linux boxes with the ARM CPUs. If you don’t like Android you can install flat Linux on most of them. Depending on their power they might be able to play Blu-Ray content in whatever resolution your TV supports. Or if not, go back to PCs, you can get powerful ones in small cases. Some are even fanless, though you might need to cut the case open and put a big heatsink on, aligned to allow convection to start a current of air through it.

        There’s also water cooling, can be quiet if you use a big, slow fan to cool the radiator.

    3. All the shenanigans were about stopping the console from playing copied disks. They didn’t care if a PC could read the disk, since what were you gonna do with it? PC emulators for consoles usually aren’t possible til the console is obsolete, although recently they’re catching up quicker and quicker. Recompiling emulators mean the host only has to be 2 or 3, maybe 4, times faster than the emulated machine, rather than 10 or 20 with a standard interpreting emulator.

      That said they’re all available as ISOs anyway. Nobody really cares whether you’re emulating from the original disk or not. If you want to be all moralistic about it, only emulate games you actually bought. Although since console companies started to try even ban people from buying games second-hand, it’s very difficult to give a toss about that.

      Legal efforts to do that didn’t succeed so they started adding one-time downloadable bonuses. And then they decided to not bother actually writing the game before they shipped it, so you end up with 80GB “patches” that insist on downloading before it lets you play the game. All of which is bullshit, but sad to say PC games are WORSE for it. Often not even being sold in a physical form at all.

  2. > It wasn’t until the late 90s when the confluence of high resolution PC monitors, file sharing, and open source emulation software that the masses saw pixels for the sharp square blocks of color that they are.

    You are completely ignoring the handheld consoles, which always had sharp pixels (at least as long as they didn’t move), and which are a large part of the pixel-art scene, even today.

    1. Except on their original postage stamp sized screens, often without a backlight and lots of ghosting going on, it can be difficult to make the pixels out… so yeah, it’s still a fallacy.

  3. I don’t deny the awesomeness and “I did it,” factors of getting things going on a variety of hardware. But if you are looking for pure emulation, you can pick up am original wii for about $10, software mod it and play wii on down games (N64 is a bit iffy having to use either wii64 or not64 depending on the game).
    PlayStation 2 and psp are obviously out.

    1. Or grab a cheap PC. Sure it’ll use a lot more power and take up a lot more space, but I grabbed an old HP system with a Core 2 Quad for 20 bucks and it does a great job of everything but PS2, which would work if I shelled out a few bucks for a better video card. PSP works well even.

        1. Really? I did fine with an I5 with 4 cores at 3.6GHz. Maybe it’s the extra 600MHz, the emulator might not use all those extra cores, likely it doesn’t. The PS2 had 2 main processing units, and then there’s taking care of the graphics and other hardware. 4 is probably enough.

          1. I played all of FF12, and Christ, what a boring game! All the Final Fantasys since 6 have been useless, dull, grindy (even for FF!) and just boring. FF10 is incredibly linear. They’re all linear cos the Japanese don’t know how to to do an open RPG like the Ultima games. Although in Ultima you might be precluded from certain areas by the hellacious monsters roaming there, that would kill you in a second. But still you were free. Wasn’t a progression where you go from one town to the next, each one containing shops with better swords and armour. Wasn’t a linear game.

            Ultima 4 is probably the best early example of that. You had a quest but you had to figure out what it was by talking to people. And you’d learn keywords to ask people later on, to get new information. Talking was done by entering text on the keyboard, though really the NPCs just looked for trigger words that would set off a certain response from them. So you’d just type HEALTH rather than “how is your health today, good sir?”. Even though both would work.

            SPOILERS I just realised there’s a lot of SPOILERS here for FF9.

            FF4, 5, 6 were great. The earlier ones were OK too but simplistic. On the Playstation FF9 is the exception to all disk-based ones being shit. FF9 was great actually, your big weird androgynous blue mage mate who ate frogs and other monsters to learn their skills, and poor little Vivi, a black mage, manufactured by the baddies, with a limited lifespan of just a couple of years! And a whole village of black mages who escaped, reasoned out their own morality, and founded a nice village where they could be safe. Except one day each one would “stop moving” and they’d have to bury him. So, so sad… Vivi was in your team and was essentially a newborn, mentally, you had to teach him everything, poor little sausage. That was a good game. And the card game wasn’t bad either.

            My spoiler for FF7 is that it’s rubbish, a whole load of nonsense glued together seemingly at random, with a very annoying game as the result. Hate it! No fun. The male characters are dicks, the females don’t really have a character beyond being optional love interests. Terrible! But people love it!

            The best game on the PS2 is Katamari Damacy!

            Try denying that!

    1. They sold a lot more of those than they did monitors. Most people used TVs. And even the famous Commodore monitor had a composite in, which is nearly as bad as RF. Dunno if the C64 itself output RGB. But it doesn’t matter, everyone used TVs, blurry as fuck.

    1. Are those even all that much faster? Plus it would kind of make the idea of swapping sd cards for different tasks a bit harder.

      With a bit of tinkering with the config files you can get it to boot (everything past the initial few steps) from a USB3 drive anyway, I have my retropie installation booting from an M. 2 drive in a USB 3 enclosure and it is significantly faster, plus as the config files are on the sd card it is still easy to swap out to another OS when needed

  4. run ahead alone is not enough to reach anything close to real hardware response. the source of latency that it targets for removal (in the games logic) is generally only one frame and that only covers the inherent extra lag of using a pi in the first place.

    1. I dunno why there even is lag, really. I know USB, used for joypads, takes a little time to poll and communicate, but PC games manage fine. Most older consoles, up past the N64, used a serial port for their joypads, and they were slower than USB.

      If you want to obviate lag, ask the joypad what it’s doing each frame, or more often, and store the result in memory. Have that memory address be what the emulator reads for a joypad input. As long as it’s updated once a frame, say, it won’t be any slower than the emulated game can manage. Max lag would be one frame, depending on when the emulated game asked for it. Min lag would be not-much-at-all.

      For consoles with serial joypad inputs, it should easily be fast enough, since the emulator has to pretend-serialise the joypad data as the emulated game reads it in, banging away at the input port’s bits. The N64 only had 3 pins for it’s inputs. Presumably (almost certainly), Vin, Gnd, and 2-way data. 2-way because the pad had a rumble motor and the save-game memory cartridge attached to it. So it needed to send and receive data. Maybe it was a master-slave thing, where the console sends commands and the pad responds once it sees the last bit of the command. “Read buttons” would be one such command. I dunno, the information is on the web if you want to know for sure.

  5. “The modern ideal of pixel art is a fallacy. Videogame art crammed onto cartridges and floppy discs were beholden to the CRT display technology of their day. Transmitting analog video within the confines of dingy yellow-RCA-connector-blur, the images were really just a suggestion of on-screen shapes rather than clearly defined graphics. Even when using the superior RGB-video-over-SCART cables, most consumer grade CRT televisions never generated more than about 400 lines, so the exacting nature of digitized plots became a fuzzy raster when traced by an electron beam. It wasn’t until the late 90s when the confluence of high resolution PC monitors, file sharing, and open source emulation software that the masses saw pixels for the sharp square blocks of color that they are.”

    Wow! Fucking awesome paragraph!

Leave a Reply

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