^ Home

SNES/SFC EPROM Cart

for 27C010, 27C020, and 27C040

I recently found a SHVC-1A0N-01 SNES cartridge PCB (originally containing Home Alone) in the free area of a Dallas retrocomputing meetup. Since my sister and I are currently working on a SNES game, I thought I'd modify it to accept off-the-shelf EPROMs so I can test our game on real hardware. Here is how you can make this mod too. This tutorial is only applicable to the -01, but I'm sure the other 1A0N PCBs are pretty similar. Note that this is a "LoROM" PCB (memory map 0x20), so only games using this memory mapping are compatible.

Overview

The mask ROMs used in SNES cartridges have a slightly different pinout than standard EPROMs. I'm using a 27C040 4Mbx8 EPROM because that's what I had on hand, but this should also work with the 27C010 and 27C020 with no changes, and the 27C080 with one addition. Here are the pin assignments we need to change:

Cartridge pin Function Original mask ROM pin EPROM socket pin
42A16/BA1242
43A17/BA2130
44A18/BA3231
45A19/BA4301 (27C080 only, see note, otherwise just cut)
49/OE3124

Front

  1. Desolder the mask ROM and capacitor C2 (if you're using a ZIF socket).
  2. Cut traces coming from cartridge pins 42 and 44 - these will go to A16 and A18 on your ROM socket. (red lines in image)
  3. Sand down the solder mask on the traces you just cut, to expose the copper. It's OK if you sand other traces too, just get that general area. Try not to sand the finish off the cart contacts though, or they'll tarnish more easily. I wasn't very precise and accidentally removed some of the finish.
  4. Solder in your IC socket. I used a vintage 40-pin ZIF socket I had laying around, requiring me to cut off pins 1-4 and 36-40 of the socket so it would fit. You can use a regular IC socket as well.

It should look something like this:

Back

Now for the back. Here's what we're going to do:

  1. Cut the traces going to socket pins 1, 30, and 31. (red lines in image)
  2. If you removed C2 earlier, relocate it to the bottom side of the board.
  3. Wire socket pin 1 to ground. This is the programming voltage (Vpp) for the EPROM and you can probably just leave it disconnected, but the datasheet said to connect it to ground or 5V, so I did. You can use the ground connection from the nearby capacitor.
  4. Wire the via under socket pin 4 to socket pin 30. (address line A17)
  5. Wire the via above socket pin 19 to socket pin 24. (output enable)
  6. Wire cart pin 42 (A16) to socket pin 2. My board had a hole I could run the wire through, but you could just go around the edge.
  7. Wire cart pin 44 (A18) to socket pin 31.

Not the neatest thing in the world, but it works:

Now just burn your software to an EPROM and try it out!

It works!

Using a 27C080?

This should also work with the 27C080, but I don't have any, so I didn't try it out. The 27C080 uses pin 1 as another address line (A19) instead of Vpp. Instead of wiring pin 1 of the socket to ground, wire the via above socket pin 22 (this is cartridge pin 45) to pin 1.

Thanks to SNES Central for scans of the unmodified cart. Last updated 24 Aug 2024