27C322/27C160 to SNES Mask ROM Extended Adapter Board

Buy the 27C322/27C160 to SNES Mask ROM Extended Adapter Board on my store page!

Here’s a version without the multiplexers – recommended for using with 27C160s!

This board adapts 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! A version comes with pre-mounted multiplexers for 27C322s, and one comes with the sockets for through-hole parts if desired. I recommend using the premounted version for 27C322s, and the socketed version for the 27C160 – you don’t need multiplexers for 27C160s, so why buy a board with them already attached if you won’t be using them?

NOTE: This board will NOT work with boards that have three chips stacked on the right side of the board. These boards take up the entire space inside the cartridge – an example would be a game that has SRAM and two EPROMs, like this one. But for boards that only have one or two chips, these will fit fine!

83907104_2230966100530750_5603849869262323712_n83082399_172064184069782_7906091771736621056_n

 

 

 

 

 

 

How to Use the Board (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.

83369764_665372620949579_1752791074213986304_n

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.

83000484_2585250761703931_312065821146873856_n

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.

83604994_187062472412347_3999454390481059840_n

Now, flip the board back over, and cut pin 33 on the original Mask 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!

83726092_790083854836942_4946097665357119488_n

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.

82466152_2616105265105299_7815791231094489088_o

Now, solder in your EPROM in the appropriate socket on the adapter board! The 27C160 is a bit of a tight squeeze but it should fit ok. Note that:

  • If you’re using a 27C160 in the pre-soldered surface mount board, you need to cut pins 8 and 16 on each of the multiplexers, as shown below, and make sure they aren’t connected to the board anymore.
  • If you’re using the through-hole board and 27C322s, you need to solder in your through-hole multiplexers (74HCT257 or equivalent).
  • If you’re using the through-hole board and 27C160’s, you don’t need to solder any multiplexers in!

83521929_171075010870890_6137402893256359936_n  83408521_2646397998801707_2640553873630035968_n

And now you should be good to go. Throw it into your cartridge, and power it up!

84328668_2464594956985614_6550926325949923328_n

How to Use the Board (32-pin Socket)

The process for doing this 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.

Now, you’ll need to locate one or two spots to solder to on the board. Try to find a spot connected to A20 (on the cartridge connector – pin 45 for HiROM, pin 46 for LoROM). If you’re using the 27C322, also find a spot connected to A21 (on the cartridge connector – pin 46 for HiROM, pin 47 for LoROM). If there aren’t any other chips on the board to solder to, like a decoder, you’ll have to solder directly to these pads – try shaving off some of the green portion of the board to expose more copper on the trace (this is called the “solder mask”).

For 27C160:

Add a wire from pin 42 on the 27C160 to A20.

For 27C322:

Add a wire from pin 42 on the 27C322 to A20.
Add a wire from pin 32 on the 27C322 to A21.

Then, you should be good to go!

How the Adapter Works (for 27C322)

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. 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.

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.

8bitvs16bit.png

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?

mux

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.

322_table_tosnes

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).

322_mux_schem.png

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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