PetRockBlog founder Florian has found a cool way to play with his new credit-card-sized Raspberry Pi PC: turn it into a universal gaming console.
According to Florian, the biggest hurdle was to build a hardware controller interface that allows the gamer to connect a real video game controller. Other tasks included finding a stable Linux distribution, getting an emulator up and running, building a launch menu for selecting the console and/or video game, and building a case housing the Raspberry Pi and the controller connectors.
"The decision for a good distribution is tricky, and I am not sure which of the available ones is best suited. Since the Debian distro will be the official distribution of the Raspberry, I think that this might be the best choice. But, currently, even the Debian distro provides an ALSA module only in alpha stage. This produces horrible audio outputs," he reports in his blog.
He goes on to state that his universal console will likely use a port of the RetroArch emulator being developed for Raspberry Pi by ToadKing (Gethub repository) (forums). There's also the launcher aspect that will allow the user to switch between emulators -- he may use a rudimentary (Python?) script in the beginning, but is hoping for a pre-existing launcher that can be compiled on Raspberry Pi.
Florian then talks about building the adapter board that connects two SNES connectors to the GPIO pins on the Raspberry Pi. "A short C program reads the states of the two controllers and passes all button presses to a virtual keyboard that is implemented with the help of the uinput module," he says, pointing to a wiki that provides more details about the GPIO pins.
To make the controller connector, he used a SNES-adapter PCB, two SNES connectors, two shrouded pin headers (2 x 3 pins), two ribbon crimp connectors (2 x 3 pins), one 6-wire ribbon cable, one 26-wire ribbon cable, and one ribbon crimp connector (2 x 13 pins).
"The SNES-adapter board really does nothing but to provide a clean wiring for the connectors. You could also connect a SNES connector with the 26-wire ribbon cable directly. Besides the cleaner look, rhe nice thing of the adapter board is that it provides the possibility to connect two controllers without the need for manually splitting the 5V line," he says.
To see how he pulled off turning the Raspberry Pi into a Super Nintendo console, head here. In the video below, Florian also shows the work in progress, which is capable of playing Mario Kart (without sound). He doesn't actually talk in the video -- all you hear is the click click click of the ancient Super Nintendo controller buttons.