After becoming very disappointed with the video quality of my SNES's S-Video output on my projector, I decided to gut a dead SNES and build a Pi into it. Here are the specs so far:
Arch Linux (I wanted to use Slitaz but couldn't get the emulator to run on it)
PiSNES, modified to allow 2 player keyboard controls by mholgatem (link)
Retrode 2 to allow use of real SNES carts and controllers
- SNES controller sockets wired up to Retrode
- Retrode positioned under cart slot
- Reset button connected to GPIO port with Python script to shut down the system when pressed
- Power supply routed from original SNES power socket via original SNES power switch to Pi
- Components supported by platforms made of Lego and screwed in to the original screw holes of the casing, to avoid modifying the case as much as possible
- Wire up reset button to GPIO when header pin cables arrive from Amazon
- Install panel mount HDMI socket positioned where the SNES Multi Out socket is
- Mount Pi inside the case when self-adhesive PCB standoffs have arrived
I've configured Arch to auto login, and have written a shell script which runs at login which looks for the ROM file at the Retrode's mount point and starts snes9x up with this ROM. snes9x is configured to quit when the controller's Start and Select buttons are pressed simultaneously. The script then gives the option to restart the emulator by pressing the Start button (e.g. after swapping carts) or shut down the system by pressing Select.
I've attached pictures of how it looks so far. In the first one you can see that it looks like a normal SNES from the outside (except that for the time being there is a USB cable coming out of it connected to a Pi ) In the second picture you can see the insides. The green and yellow wires coiled at the top will be connected to the GPIO pins. Below that is the Retrode with its controller ports wired to the SNES controller ports at the front of the console. In the lower half of the case, you can see the Lego platforms I built and screwed in. The top one supports the Retrode, stopping it falling into the case when a cart is inserted. The cart connector fits into the cart slot holding the Retrode in place horizontally, so it does not need to be screwed down. It is completely secure. The lower Lego platform supports the reset button, and the vertical column coming off of it holds up the (now non-functional) eject switch.
As you can see, once this is complete it will look exactly like an original SNES from the outside (except the HDMI port on the back). I am hoping to mask the console during boot to show a Nintendo logo instead