Advanced SNES Reproduction Board Guide

Please look at the main entry for more information on how to prepare the ROM file!

Here I will detail to you a guide to making SNES games using my custom boards. These boards differ from other designs, including my basic board, in that there are TWO EPROM sockets, and they support the 27C322 and 27C160 EPROMs. That gives you the ability to:

  1. Make a normal game up to 2 MB (16 Mbit) with one 27C160 EPROM
  2. Make a normal game up to 4 MB (32 Mbit) with one 27C322 EPROM
  3. Make an ExHiROM game up to ~8 MB (64 Mbit) split across two 27C322 EPROMs (or a 6 MB game with one 27C322 and one 27C160)
  4. Make a multi-cart with two games up to 4 MB (32 Mbit) each, with up to 512K SRAM available for each game

Here, I will detail to you the hardware needed for the board – I will not be going over how to prepare the ROM file. Check out the main tutorial to determine those details. And it is important to note, these boards cannot be used to replicate games that used specialty chips on their boards – this means you cannot make games that require: SuperFX, SuperFX2, DSP chips, SA-1, C4, S-DD1, or SPC7110.

Parts Needed (topside)

Here’s a breakdown of what parts you need based on what kind of game you’re making. All parts are located on the front of the board. For the discrete parts, other than capacitors (includes resistors, diodes, and the transistor) there are both surface mount pads and through-hole sockets available.


Needed for: Every game
Part Number: 27C160 or 27C322
Function: Holds the ROM file(s); use the #1 slot for games that only use one EPROM, additionally use the #2 slot for ExHiROM games and multicarts
How to Program: Check the reproduction article for more information (Steps 1, 5, 6, and 7)

C1 – Electrolytic Capacitor

Needed for: Every game
Value: ~22 uF, at least 10 V rated
Function: Smooths out supply voltage for the board due to transients on the power supply, prevents quick changes in supply voltage when power is turned off

C2, C3, C4, C6, C7, C9 – Ceramic Capacitors

Needed for: Every game (C4 only required if you use second EPROM)
Value: ~0.1 uF, at least 10 V rated
Function: Filters out high-frequency noise that can interrupt the function of the chips on the board

C5, C8 – Ceramic Capacitors

Needed for: Games that save
Value: ~0.1 uF, at least 10 V rated
Function: Filters out high-frequency noise that can interrupt the function of the chips on the board

C10 – Ceramic Capacitor

Needed for: Multicarts, or ExHiROM games
Value: ~0.1 uF, at least 10 V rated
Function: Filters out high-frequency noise that can interrupt the function of the chips on the board

CIC – Region Lock-out Chip

Needed for: Every game (on un-modded SNES systems)
Part Number: 12F629
Function: Replaces the region lock-out chip used in the SNES to let you play the game
Click here to jump to Step 9g of the main SNES tutorial to find out how to program the CIC, if yours isn’t pre-programmed

R1, D1, D2 – Resistors and Diodes

Needed for: Games that save
Value: ~1 kΩ for R1, Schottky diodes (such as 1N914 or BAT81) for D1 and D2
Function: Combines the battery and SNES voltage rails to power the SRAM and keep it working after the SNES power is turned off

RC, RB, NPN – Resistors and NPN Transistor

Needed for: Games that save
Value: ~1 kΩ for RC; ~10 kΩ for RB; 2N2222, 2N3904, or equivalent for NPN
Function: Puts the SRAM into a low-power state during power-off


Needed for: Games that save
Part Number: C2032
Function: Keeps the SRAM on to retain data while power is off


Needed for: Games that save
Part Number: 6264 (64K), 62256 (256K), or 1008 (1024K) series SRAM (be sure to get low standby current model)
Function: Holds save game data

74HC257 – Multiplexers

Needed for: Every game
Part Number: 74HC257 (or equivalent)
Function: Maps the data from the 27C160 or 27C322 (which uses a 16-bit bus) to the SNES cartridge (which uses an 8-bit bus)

74HC139 – Decoder (bottom-most)

Needed for: Every game
Part Number: 74HC139 (or equivalent)
Function: Tells the multiplexers when to output data; switches between EPROM #1 and #2 for either Ex-mode games, or for multicart functionality

74HC139 – SRAM Decoder (middle of board, choose only one for LoROM or HiROM)

Needed for: Games that save
Part Number: 74HC139 (or equivalent)
Function: Activates the ROM or RAM, depending on the memory address being accessed

74HC74 – Flip-Flop

Needed for: Multicart boards
Part Number: 74HC74 (or equivalent)
Function: Switches between EPROM #1 and #2 when the reset button is pressed on the console

Multicart Socket

If you plan on making a multicart with games that require SRAM, then you need to kink one of the legs out and solder to the proper socket, as indicated on the board. If using a 62256 SRAM chip, bend out pin 1. If using a 1008 SRAM chip, bend out pin 2.

Solder Pad (frontside)

There is only one set of solder pads on the front of the board.

Decoder Bypass

Shorted: Enables output on boards without SRAM or the SRAM decoder
Open: Does nothing (do not short unless you do not have an SRAM decoder)

Solder Pads (backside)

There are a handful of solder pads you’ll need to bridge on the back of the board in order to make your game work.

HiROM/LoROM Selection

There are a few sets of three-way solder pads located in various locations on the board. You need to bridge two of the three depending on what bank type your game(s) is/are. Note that this bank selection will apply to both EPROM #1 and EPROM #2, if you’re using both (can’t make a multi-cart with one LoROM and one HiROM game).

27C322 or 27C160 EPROM Selection

For each EPROM #1 and #2, you can use either a 27C322 or 27C160. You must bridge the solder pad pair of the type you are using for each socket. If you’re using a ‘322, you must also choose either Lo or HiROM as well.

If you’re not making an Ex-mode game, or a multicart, then you only need to solder pads behind the ROM1 socket.

SRAM Enable

If you’re using SRAM, in the top left corner of the board bridge these pads together. If you reprogram your EPROM with a new game, you should disconnect these pads by desoldering them to reset the SRAM (they only need to be disconnected for a second). Then, resolder them together for your new game.

SRAM SIZE (SRAM selection pads)

These are another set of three-way solder pads, located in the top middle of the board. You need to bridge the set of pads (the middle and one to the top or bottom) depending on the size of the SRAM your game uses. Similar to the pads above, solder the two in the direction of the size of SRAM your game uses.

NOTE: If you make a multi-cart game, your SRAM size will be at most half of the full size of the SRAM chip. So for a 256 Kbit SRAM chip in multicart mode, the max available SRAM size will be 128 Kbit. Both games will have the same amount of SRAM – you can’t make one game have 16 Kbit SRAM and the other 256 Kbit, for example.

Mode Selection

There are three “mode selection” solder pads. These are for selecting between a normal game layout, Ex-mode, or multicart mode.

Note that you cannot have Ex mode enabled, as well as multicart mode. You can only make a single ExHiROM or ExLoROM game per board.

Furthermore, if you are making a multicart, you must use the same mapper type for both (LoROM or HiROM). You cannot mix bank types between games.

31 thoughts on “Advanced SNES Reproduction Board Guide

  1. Thanks for the awesome work, I just used one of your boards to make a cartridge for the project exile translation of fire emblem thracia 776. You might want to update the excel sheet for that since the translation is a unique setup. The project exile translation is a 48Mb LoROM game with 256k of sram. In case anyone is wondering on how to set the jumpers, I set all the bank select jumpers to LoRom and the board mode to EX-HiROM even though the game is LoROM and I am able to boot the game and start a level. I will test some more once I get the UVEPROMs soldered in place (I’m currently using the sockets for prototyping)


      • Since I made the comment I soldered everything into place, my 27C322s were a pain to get good joints on and I had to re-flow a few times (I think the problem was insufficient heat, the body of the chips was getting hot very quick, I think it was acting as a heatsink, if anyone is having trouble soldering them just be aware you might need to let the iron heat it for a while), but since then I have re-assembled the cartridge and further tested it, I was able to clear the first map and the saves seem to have persisted after a few hours with the cart out of the system.

        I do have one minor suggestion for a potential future board revision though, the through holes for the battery aren’t very flexible in terms of compatibility, the pinhole sized through holes won’t fit many tabbed batteries (including the original ones from nes/sfc carts) but it looks to me (although I am far from an expert on designing pcbs, i’m just a programmer who took one or two classes in basic circuit design) that there might be enough space for holes designed to fit the original SNES battery style tabs and the larger holes would still support the pin style tabs. It isn’t much of a problem since anyone competent enough at soldering to be using these boards can probably trim their tabs or figure out a workaround but the batteries I keep on hand fit the standard SNES holes.


        • Thanks for letting me know about the batteries, I’ll look into it for the next revision; I had thought about it a long time ago but it got lost in the back of my mind haha. If there’s room (I think there is, I doubt any particular traces are needed under the battery) I’ll try adding the other holes.


  2. I purchased some things from you about a year ago and decided to re-visit the SNES ROM hobby since winter is here and I see this new board and I just want to say, congratulations on a fantastic board and also for the support in the past and supplying us with easy to use tools. Thank you!


  3. Hi there! I’m really enjoying these boards. I’ve run into a bit of a problem with my first SRAM game, though. It’s an English translation of Laplace No Ma, which according to has 64kb of SRAM. The game works great in both a SNES and a Super NT, but I can’t get it to save on either. The game acts as though it has saved, but on reset there’s no save file present. I tested the same use case on an emulator with the same ROM and it worked as expected.
    Any ideas where I should start troubleshooting? I’ll link a photo of the board in case there’s some kind of obvious boneheaded mistake that’s easily visible.


      • Thanks for the suggestion! I double checked my UCON64 results and it says 8 kilobytes, which if I understand, is 64kilobits. Looking back at the board and the reference table, it appears as though I have the jumpers set for 64 kilobits. So, I don’t think that’s the problem, unless there’s something I’m overlooking.


        • Are you checking the patched ROM, or the original ROM with uCon64? You should check the patched version. Sometimes translations will use more RAM than the original game did. I imagine it has something to do with how Japanese text is much more condensed than English text.
          Can you send a picture of the front of the board as well?

          Something you can measure with a voltmeter: the SRAM pin 20 (+) to pin 14 (-). This should be about 3V.

          Liked by 1 person

        • I got the board back out to take a picture of the front and finally saw the boneheaded move. I wired the diodes in backwards. I flipped them around and it works great. Thanks for the help!


  4. I’m looking to make an SA-1 test board. Already have one of your adapters, but I want to solder a socket to it rather than directly soldering the chip so I can test out some of the Vitor Vilela SA-1 hacks. I’ve already built a few of your test boards, can you recommend a 42 pin socket that works best? Obviously I’d have to modify one row of the pins to surface mount to the adapter but I think that should be doable?


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s