These boards adapt the 32 Mbit 27C322 EPROM or the 16 Mbit 27C160 EPROM to fit in donor SNES boards or custom SNES PCBs. This will save you a TON of time adding wires to your board, and comes with the added benefit of not having to remove the original EPROM from your donor board!
NOTE: When put into the board properly, it fits nicely inside the cartridge. It will not fit inside the cartridge with every existing SNES boards, but it will for most. There must be at least approximately 2 centimeters clearance to the top of the cartridge. In general, if your board only has one EPROM and SRAM chips, or two EPROMs and no SRAM, it should fit ok. You might need to clip a bit of the plastic cartridge to get the board to fit, but it won’t show on the outside of the cartridge.
The 27C322 boards look like this, and have some parts on them:
The 27C160 boards do not have any extra parts!
Here’s a better picture showing the clearance you need between the top of the board and the top of the cartridge.
How to Use the Adapters (36-pin Socket)
The first thing you should do is check out your donor cartridge. You’ll be putting the adapter board on the existing Mask ROM pins on the back of the board, but you might have some other chip, like SRAM, that the adapter might interfere with. Trim down any of those pins on the back to make sure the adapter board is as flush with the donor board as possible.
Also, there might be some little tabs on top of the PCB – these are called “mousebites”. They’re a left-over of the original board manufacturing, basically this board would be attached to another board at this point, and you would snap them apart (multiple boards connected to each other in this manner make up a “panel”). You might have to clip these back to fit the EPROM into the socket.
Now, you’ll want to solder the board onto the pins of the Mask ROM. Make sure you add enough solder so that it goes down into the holes and attaches to the pins, if they don’t stick up very high.
Now, flip the board back over, and cut pin 33 on the original ROM as close to the PCB as possible. Carefully bend it out a bit to make sure it’s not connected to the socket anymore. Bridge the pin to pin 34 next to it using solder or a wire. Make sure it’s not connected to the original socket anymore! This is the /OE pin (output enable), and we’re connecting it to VCC. This disables the output of the original ROM, and therefore allows the other EPROM that you connect on the board to operate without creating bus conflicts with the original ROM.
If your original board had a 36-pin socket, but only a 32-pin EPROM in it, you’ll have to add some wires that go down through the donor PCB and into the adapter board. It’ll still work just fine. I find it easier to cut a longer piece of wire to fish through the (usually solder-filled) extra holes. Just cut off the wire you don’t use after you solder the wires in. Note that the board in this picture is an old version – everything on this post still applies to the new boards as well, so don’t sweat it.
Now, solder in your EPROM in the socket on the adapter board! Throw it into your cartridge, and power it up!
How to Use the Adapters (32-pin Socket)
Some 32-pin boards have a ‘139 decoder or perhaps a MAD-1 on them that only allows the first 8 Mbit of data to be accessed. The 32-pin socket was only ever able to carry up to 8 Mbits. So it is possible that the board can only use games that are up to that size, without modifying other parts of the board. But for games larger than 8 Mbits, I recommend sticking to the 36-pin variety.
The process for using this board is the same as for the 36-pin socket, however, you will need to add a few extra wires. Just follow all the instructions above, leaving the extra four holes on the adapter board (1, 2, 35, and 36) empty. Then, simply add a wire from empty holes 1 and 2 on the adapter to GND (pin 16 on the 32-pin socket).
Then, you should be good to go!
How the Adapters Work
The 27C160 boards are pretty straightforward, so I won’t spend too much time explaining them here. It’s simply rerouting the pins from the SNES socket to the appropriate pin on the EPROM.
If you look at the table, you’ll notice the address pins are offset by one. This is because the 160 is a 16-bit device by default, but the SNES operates on an 8-bit data bus. If we put the EPROM into an 8-bit operating mode by typing the /BYTEVpp pin to GND, then the Q15 pin becomes the A0 pin for the 8-bit data bus. We can ignore the data pins between Q8 to Q14.
As for the 27C322, this needs a bit more explaining. If you look at the pinout of the 27C322, you’ll notice the data pins go from Q0 to Q15. That’s because this is a 16-bit EPROM, where each word is 16 bits instead of the 8 bits the SNES uses, like the 27C160 I just described. So the first address of the 322 contains the first TWO addresses the SNES will use, the first from Q0 to Q7 and the second from Q8 to Q15.
The problem with the 27C322 is that we cannot force it into an 8-bit operating mode, like we can for the 27C160. So we need to be a bit creative.
Let’s look at the TL866 programming window to see what I’m talking about. Compare the left window here, which is an 8-bit EPROM, with the 16-bit EPROM on the right. These numbers are in hexadecimal, or four binary bits. So you’ll see on the 8-bit bus two-digit hex numbers, while on the 16-bit bus you’ll see four-digit hex numbers.
Let’s use the first two addresses, which are 0x78 and 0x18, as an example. If on a 16-bit EPROM we read only D0 to D7 (0x78), we’re completely missing all the data on D8 to D15 (0x18) – with each increasing address request from the SNES, we’re skipping every other 8 bits segment. In effect, on a 16-bit EPROM, A0 from the SNES should point to the bottom half (A0 = 0) or top half (A0 = 1) of each word. And therefore, A1 from the SNES is acting like the 27C322’s A0 pin. So all we have to do is shift the address pins from the SNES one position – A1 on the SNES is connected to A0 on the 322, A2 on the SNES is connected to A1 on the 322, etc. Then, we use the A0 pin from the SNES to control which half of the 16-bit word we read from. We can do this using a multiplexer.
A multiplexer is a device that is essentially a digitally controlled selector switch. In our case, we need eight separate switches to change between two different data lines all at the same time. D0 on the SNES should either read D0 or D8 from the 322 EPROM, D1 on the SNES should either read D1 or D9 from the 322 EPROM, and so on. When A0 from the SNES is 0, the multiplexer will route D0 to D7 from the 322 to the SNES, and when A0 from the SNES is 1, the multiplexer will route D8 to D15 from the 322 to the SNES. Make sense?
The 74HCT257 is a quad-package two-line multiplexer. If we use two of them in parallel, we can control all eight data lines. So, here’s how the EPROM connects to the multiplexers and the SNES Mask ROM pinout.
Finally, here’s the resulting schematic of the multiplexers. The rest of the pins on the EPROM go to the matching cartridge connector pin, but offset by one (A0 of the EPROM goes to A1 of the SNES cartridge connector, etc).