With the Raspberry Pi, I was able to achieve all of the goals I originally set out for, except Full speed emulation. Sadly, I doubt that the Rapberry Pi will ever be capable of running something along the lines of BSNES; cycle-accurate, exact emulation. In my testing, Retroarch using the PocketSNES core emulates the SNES on the Raspberry Pi the best, but only is playable when sound is disabled. A viable alternative to PocketSNES is an older build of SNES9x, v1.39 that was ported by palerider of the Raspberrypi.org forums.
The older SNES9x build was deigned for much slower computers than we’re accustomed to today, and thus makes use of different hacks and shortcuts to produce emulation, and the result isn’t nearly as accurate as newer emulators. The plus though is the SNES9x build allows for sound emulation at acceptable game play speeds. Unfortunately, the sound emulation follows quality of the rest of the emulation; it is not implemented well. Nor is expansion chipped games, such as Star Fox supported.
I managed to fit all the components neatly inside the case, and gave up for now on trying to extend HDMI to the back panel. I also went with a WiFi dongle over Ethernet to keep things tidy.
USB was routed through pins 2&3 of the stock SNES controller ports as they aren’t mapped to any standard 1st or 3rd party controller. I made custom SNES Controller Port <> USB dongles to connect keyboards from outside the case.
Early in the build process I had considered making the SNES Audio Processing Unit a permanent fixture of the project, but decided against it to save time, and to not cram the space inside of the console. I did make an enclosure for one of the removable Audio Processing Units, and placed the design on Thingiverse, so I imagine I could revisit this idea later.
In fact, Eben and Liz Upton of the Raspberry Pi Foundation stopped by our hackerspace while on their hackerspace tour, and I picked Eben’s brain a little on how I could mix the APU’s audio back into the Pi. Eben seemed to think that the I2S bus could be a viable interface to mix audio into the Pi as a sort of Line-Input. I even got Eben to sign the APU! He felt guilty though, as he commented that it was like signing a piece of computer history. After a bit of nudging, he agreed though.
All being said though, I believe the Raspberry Pi is a capable closed platform, and with enough community support, full speed SNES emulation should be possible. I’d like to even make kits out of this project, and kickstart it. Maybe along the lines of the RetroDuo, only Raspberry Pi enabled. Maybe with GPIO connected external processors to aid the Pi.



Oh my god. I LOVE that! How awesome to play anything emulated on the original hardware. Plus carts!
Congrats for that neat project!
Might be a silly question (as questions usually are) but assuming someone who can write / edit / hack, would it be possible to address the speed issues by throwing two Pi’s in the box, one to handle the graphics, the other to handle sound and other I/O rather than waiting for a faster PI?
Very nice project, congratulations!
They are bullet proof console!
I still have two SNES in perfect working condition
Can you post the wiring you did for this? Rather than just showing off?
JK man, very cool
Andy, I have actually considered something along those lines. I hadn’t considered offloading audio and I/O to a second Pi, I had just imagined spitting the threads, but your suggestion sounds better. Thanks for the tip!
I’m not exactly sure how I would pull it off though. I could link both Pis via GPIO, or Ethernet. I’m guessing GPIO communications would be the best, but I lack the skills needed for re-coding major portions of the emulator.
Shake, there are no schematics. I wired the level shifters by the datasheets, and actually screwed up a few times due to the fact I was wiring on a whim.
As for the other components, the Arduino sketch has the pin numbers for power management, and the cart_reader.py script could clue you in to what cart pins go where. Also because you asked, I appended a spreadsheet I used for the cart to my GIT.
Why is not in fullscreen?
This is very interesting, but I must find a broken SNES console and buy another Pi (my only one is in use).
Very awesome project, congratulations.
You win 1 Internet Sir. Well done!!!!!!
Would it be possible to release a fast snes emulator which we can use with the RasPi? Every snes emulator I tried was very slow.
The cart reader aspect is pretty awesome!
>> offloading audio
Maybe a USB soundcard with its own processor might be able to help.
I’m just about to start doing the same thing as you yet to buy the raspberry Pi but got the broken snes lol
now who still got me soldering Iron lol
You are a god amongst men Ted. Awesome project. Well done.