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 repros using my new multi-function custom boards. These boards differ from the other design in that there are TWO EPROM sockets, and they support the 27C322 and 27C160 EPROMs. That gives you the ability to:
- Make a normal game with one 27C160 or 27C322 EPROM
- Make a normal game split across two 27C160 EPROMs
- Make an ExHiROM game split across two 27C322 EPROMs (or a 27C322 and 27C160)
- Make a multi-cart with two games, up to 128K SRAM available for each
I offer these boards pre-populated with all surface mount components so you don’t need to go through the work of putting them on yourself. But if you don’t opt for that option, here are some details on the parts you’ll need for the board.
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 (resistors, capacitors, diodes, transistor) there are both surface mount pads and through-hole sockets available. You can buy these boards with parts pre-mounted, so you don’t have to do it yourself (apart from the EPROM(s) and the battery).

27C322/160 – EPROM
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
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, C5, C6, C7 – Ceramic Capacitors
Needed for: Every game (C5 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
C4, C9 – 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
C8 – 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
C10 – Ceramic Capacitor
Needed for: Multicarts
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 find out how to program the CIC
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 or equivalent for NPN
Function: Puts the SRAM into a low-power state during power-off
Battery
Needed for: Games that save
Part Number: C2032 (socket is designed for yellow ones with pre-attached legs)
Function: Keeps the SRAM on to retain data while power is off
SRAM
Needed for: Games that save
Part Number: 62256 (256K, comes on pre-assembled version) or 6264 (64K) series SRAM (be sure to get low standby current model)
Function: Holds save game data
SRAM Decoder
Needed for: Games that save
Part Number: 74HC139 (or equivalent)
Function: Tells the cartridge when to use the SRAM and when to use the EPROM, based on the area of the memory map being accessed
Databus Muxes (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)
Dual ROM Decoder
Needed for: Games that use two EPROMs
Part Number: 74HC139 (or equivalent)
Function: Switches between EPROM #1 and #2 for either ExHiROM games, games made with two 27C160’s, or for multicart functionality
Multicart 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
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. These are shared between both versions of the board, but there is an extra set on the SNES Mask ROM board, which is detailed at the end).

HiROM/LoROM Selection
These are a set of three-way solder pads located on the bottom right of the board. You need to bridge two of the three (the middle and one to the left or right) 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.
If you need the HiROM bank type, solder the two right pads together in each set of three; if the LoROM bank type, solder the two left pads together in each set of three. See below: solder the pads in red, leave the other side disconnected.

NOTE: If you’re making a LoROM game that doesn’t save and you don’t have an SRAM decoder on the board, you will need to solder ALL THREE connections together on the bottom right hand of the box. This is because the SRAM decoder takes care of activating the EPROM/EEPROM on LoROM boards, so if you don’t have a decoder because your game doesn’t save, you will need to bypass the signal.

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.
For using 27C322’s:

For using 27C160’s:

SRAM Power
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 left or right) 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, and you solder the pads for 256K SRAM, you will actually only be able to use 128K maximum.

Board Type Selection (backside)
As mentioned previously, there are four functions this board can serve. To pick the function, bridge the set of four solder pads in the row you wish to use. You must choose ONLY one of the four functions for the board to operate correctly!

Single ROM
This mode causes the board to read the game data from EPROM #1 only. Anything placed in EPROM #2 is ignored. This is for a basic, single SNES game that is 32 Mbit or smaller, supporting up to 256K SRAM.
Split 160’s
Similar to Single ROM mode, this mode is for basic SNES games that are 32 Mbit or smaller. In this mode, you should use two 27C160’s for EPROM slots #1 and #2. Split your game into two 16 Mbit sections – put the first 16 Mbit on the ‘160 in EPROM #1 and the second 16 Mbit (or smaller) section onto the ‘160 in EPROM #2.
If you, for whatever weird reason, want to use a 27C322 in place of one of the 27C160’s in this mode, only the first 16 Mbit of data will be read from the chip.
Multi-cart
This mode allows you to put two games onto one cartridge! The first game will be on EPROM #1 and the second game will be on EPROM #2. To switch between the games, press the reset button on the front of the console.
These games must be the same bank type – either HiROM or LoROM. This mode also supports saving for both games if SRAM is provided! Both games will be provided the amount of SRAM that is selected with the SRAM size selection pads. However, if the 256K SRAM size is selected, only 128K SRAM will be available to use.
ExHiROM
Finally, this mode is for making HiROM games that are above 32 Mbit in size. Just put the first 32 Mbit of the ROM file on EPROM #1, and the remaining section of the ROM on EPROM #2. If your second portion of the ROM is 16 Mbit or lower, you can use a 27C160 for EPROM #2, but EPROM #1 must be a 27C322.
Great job
LikeLike
ok, but how to make Multiroms ROMs ?
with Copy command line ?
LikeLike
Just put ROM #1 on one EPROM, and ROM #2 on another separate EPROM!
LikeLike
Great job,
so, this cart can´t handle more than two games, sorry my bad english.
LikeLike
It can handle two games! You put the first game in EPROM #1 and the second game in EPROM #2. Then when you want to switch between games, just press the reset button!
LikeLike
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)
LikeLike
Thanks for this! I wasn’t aware of any extended LoROM games like that. This is good information!
LikeLike
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.
LikeLike
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.
LikeLike
What if the game has 8K of SRAM?
LikeLike
You could try it with 16K selected, and if it gives you issues, let me know. You’ll have to cut a pin on the SRAM if it doesn’t work.
There aren’t many games with 8Kbit SRAM, are you asking for 8 Kbit or 8 KByte? 8 Kilobytes = 64 Kbits.
LikeLike
Wait, I just realized something… uCon64 says kiloBYTES for the amount of SRAM, not kiloBITS. My mistake.
LikeLike
Haha yes I figured that might be the problem 🙂
Very annoying one too!
LikeLike
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!
LikeLike
No problem, and thanks, it really means a lot! I’m glad that you and others are able to get good use out of the stuff I make!
LikeLike