mashley
Posts: 24
Joined: Tue Apr 15, 2014 7:15 pm

SNES case mod

Wed Apr 16, 2014 3:07 pm

Hi all

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:

OS
Arch Linux (I wanted to use Slitaz but couldn't get the emulator to run on it)

Emulator
PiSNES, modified to allow 2 player keyboard controls by mholgatem (link)

Hardware interface
Retrode 2 to allow use of real SNES carts and controllers

Case mods
- 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 ;)

To do
- 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 :)
IMG_1808.JPG
IMG_1808.JPG (59.87 KiB) Viewed 5617 times
IMG_1809.jpg
IMG_1809.jpg (50.6 KiB) Viewed 5617 times

mashley
Posts: 24
Joined: Tue Apr 15, 2014 7:15 pm

Re: SNES case mod

Thu Apr 24, 2014 5:00 pm

Ok, just a quick update. I've been working a lot on the software for this project and doing bits and pieces on the hardware in between waiting for parts to arrive. On the software side of things, I've now got a nice boot splash using Plymouth, and graphics throughout the process of using the emulator (e.g. when you quit the emulator, you are given options to restart the emu or shutdown, all controlled by the SNES controller).

I've also got the RPi mounted inside the SNES. This was hugely difficult to achieve due to the shape of the board with all its connectors on it. I simply couldn't find a way to get it to fit with all of the USB, ethernet and power cables. In the end, the solution was to cut down the SD card. In the picture I've attached, the SD card is actually inserted, but you can't see it as it does not extend beyond the edge of the board. This allowed me to push the board right up to where the reset switch is mounted, thus allowing the USB and ethernet cables to fit on the left hand side. The power and HDMI cables run underneath the platform which is supporting the Retrode.

My next job is to wire the second USB port and four of the wires from the ethernet cable to an 8-way mini DIN socket which will be mounted on the back of the SNES where the RF output used to be. A corresponding DIN plug will then be wired up to RJ45 and USB sockets. That way when I need to SSH in or use a USB stick, I can use these USB and ethernet without having to hack up the SNES case to add the connectors.
IMG_1807.jpg
IMG_1807.jpg (62.01 KiB) Viewed 5385 times

thak
Posts: 51
Joined: Wed Apr 10, 2013 6:22 pm

Re: SNES case mod

Thu Apr 24, 2014 9:05 pm

Hi,
Great project of yours!
I didn't know retrode2 too bad they stop...

Here's a link that may help you for the boot screen http://blog.sheasilverman.com/2013/09/a ... pberry-pi/

Enjoy!

mashley
Posts: 24
Joined: Tue Apr 15, 2014 7:15 pm

Re: SNES case mod

Fri Apr 25, 2014 2:26 pm

Thanks thak! I'm really pleased with how the project is turning out so far. My 8-way DIN plugs and sockets arrived today but I don't yet have the USB and RJ45 sockets. I might wire the console end of the socket up today (i.e. the connection between the DIN socket and the USB/ethernet ports on the Pi), and possibly hard wire the DIN plug to an Ethernet cable just to test that this actually works.

mashley
Posts: 24
Joined: Tue Apr 15, 2014 7:15 pm

Re: SNES case mod

Sun May 04, 2014 11:21 am

All done! :) The 8-way DIN plug for the Ethernet/USB connectivity was too unreliable, so I decided to just install an Ethernet port in the back of the SNES. If I need to transfer files to/from the Pi, I'll use scp over the Ethernet connection ;)

I've uploaded a load of high res photos as well as a video of it in action. You can find them here:

http://s1259.photobucket.com/user/mashl ... t=6&page=1

I'm really happy with how this turned out. It's great to plug in a cart, fire up the SNES and play games using a real controller. Apart from the startup time (which I'm still working on) it feels just like the real thing (only better thanks to the HDMI output :))

Return to “Gaming”