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.