It might seem impossible, but what you’re looking at is a Sony PlayStation game being played on a Nintendo Game Boy Advance. The resolution is miserable and the GBA doesn’t have nearly enough buttons to do most 3D games justice, but it’s working. There’s even audio support, although turning it on will slow things down considerably.
How does it work? The trick is that creator [Rodrigo Alfonso] is actually emulating the PlayStation on a Raspberry Pi and simply using Nintendo’s handheld as an external display and controller. We say “simply”, but of course, it’s anything but. The GitHub page for the project goes into impressive detail on how the whole thing works, but the short version is that the video data is sent from the Linux framebuffer to a small program running on the GBA over the handheld’s serial port using SPI. In testing he was able to push 2.56 Mbps through the link, which is a decent amount of bandwidth when you’ve only got to keep a 240 × 160 screen filled.
Nintendo introduced this “multiboot” feature so multiplayer games could be played between systems even if they didn’t all have a physical cartridge, but now that hackers have cracked the code, it means you can run arbitrary code on a completely unmodified console; though it does get wiped as soon as you power it off.
[Rodrigo] provides all the information and software you need to try it at home, you just need a Raspberry Pi, a Game Boy Advance, and Link Cable you don’t mind cutting up; far less hardware than is required by the similar project to run DOOM on the NES. Since he’s tied everything into the popular RetroPie frontend, we imagine it would even work when emulating earlier 2D consoles; which would be a much better fit for the GBA’s display and limited inputs.
When Nintendo officially ended production of the 3DS in September 2020, it wasn’t exactly a surprise. For one thing, some variation of the handheld system had been on the market since 2011. Which is not to say the product line had become stagnant: the system received a considerable mid-generation refresh, and there was even a more affordable variant introduced that dropped the eponymous stereoscopic 3D effect, but nearly a decade is still a fairly long life in the gaming industry. Of course Nintendo’s focus on the Switch, a hybrid device that blurs the line between console and handheld games, undoubtedly played a part in the decision to retire what could effectively be seen as a competing product.
While putting the 3DS out to pasture might have been the logical business move, a quick check on eBay seems to tell a different story. Whether it’s COVID keeping people indoors and increasing the demand for at-home entertainment, or the incredible library of classic and modern games the system has access to, the fact is that a used 3DS in good condition is worth more today than it was when it was brand new on the shelf this time last year.
In short, this was the worst possible time for me to decide that I finally wanted to buy a 3DS. Then one day I noticed the average price for a Japanese model was far lower than that of its American counterpart. I knew the hardware was identical, but could the firmware be changed?
An evening’s worth of research told me the swap was indeed possible, but inadvisable due to the difficulty and potential for unexpected behavior. Of course, that’s never stopped me before.
So after waiting the better part of a month for my mint condition 3DS to arrive from the land of the rising sun, I set out to explore the wide and wonderful world of Nintendo 3DS hacking.
At its core, the RetroArch project exists to make it easier to play classic games on more modern hardware. The streamlined front-end with its tailored collection of emulators helps take the confusion out of getting your favorite game from decades past running on whatever gadget you please, from your smartphone to the venerable Raspberry Pi. But there’s always room for improvement.
In a recent blog post, the folks behind RetroArch took the wraps off of an exciting hardware project that’s been in the works for about a year now. Referred to simply as “RetroArch Open Hardware”, the goal is to develop a fully open source cartridge adapter that will integrate seamlessly with the RetroArch software. Just plug in your original cartridge, and the game fires right up like back in the good old days.
Now to be clear, this isn’t exactly a new idea. But the team at RetroArch explain that previous devices that blurred the line between hardware and emulation have been expensive, hard to find, and worst of all, proprietary. By creating an open hardware project, they hope to truly unleash this capability on the community. Instead of having to deal with one vendor, multiple companies will be free to spin up their own clones and potentially even improve the core design. Should none of the ones on the market fit your particular needs, you’d even be free to build your own version,
What’s more, the gadget will also make it easier to create your own ROMs from cartridges you own. By appearing to the operating system as a USB Mass Storage device, users can literally drag and drop a game ROM to their computer’s desktop. No arcane software fired off from the command line; as much as we might enjoy such things, it’s not exactly intuitive for the gaming community at large. The same technique will also allow users to backup their saved progress before it’s inevitably lost to the ravages of time. The device demonstrated by the team currently only works on Nintendo 64 games, but presumably compatibility with be expanded to other cartridges in the future.
It’s hardly a secret any more at this point that today’s game consoles from Microsoft and Sony are essentially AMD gaming rigs packed up into a custom package and with tweaked system software. So it’s not too surprising that enterprising hackers got the Playstation 2 emulator of RetroArch running on an Xbox Series X|S game console despite Microsoft’s attempts to stop them. (Video, embedded below.)
It’s possible to sneak the RetroArch app past Microsoft’s security checkpoints by shelling out $19 for a Microsoft Developer Account, setting up Developer Mode on the XBox console, and getting the Universal Windows Platform (UWP) port of RetroArch from the official website. This has the advantage of it being a blessed-by-the-Redmond-gods approach. But one cannot play retail games in Developer Mode and large games due to a 2 GB limit.
More recently, a hacker by the name of [tunip3] found a flaw in the Xbox app distribution system which allows one to download a ‘retail’ version of RetroArch. This involves marking the RetroArch app as ‘private’, allowing it to skip a review by Microsoft. People whose email address is on a whitelist are then granted download permission for that app on their Xbox console. The advantage of this ‘retail’ approach is that it does not feature the 2 GB filesize limits. The disadvantage is that Microsoft is free to take the app down and ban [tunip3]’s developer account.
My Way Versus the Highway
A lot about this comes down to a simple question of ‘why?’. Why even jump through these hoops to set up a limited, possibly ToS-breaking emulator on what is ultimately a gaming PC running Windows 10? Why not use that Raspberry Pi 4 or NUC system that’s been giving you sad eyes for the past months from where it’s been stuffed into a dusty corner?
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?