27C322 to SNES Mask ROM Adapter Board

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

I’ve been getting a lot of requests for this board! This little board adapts the 32 Mbit 27C322 EPROM to fit in donor SNES boards or custom SNES PCBs. This will save you a TON of time adding wires to your board. All you need is two 74HCT257 (or equivalent) multiplexers and two rows of 18-pin headers. A protoboard or perforation board is also very handy, but you don’t absolutely need it.

20190903_234517.jpg

How to Use the Board

Let me start off by saying this board is extremely thin and therefore extremely easy to break! Be careful not to flex this board too much!

The first step you’ll want to do is get your headers ready. I do this first because if I have problems, this is the step I’ll have problems on. Cut the headers down to two rows of 18 pins total. These will go in the shorter rows of pins that will eventually be placed in your 36-pin SNES EPROM socket. Place your two rows of 18 pins in the protoboard with 5 rows between them. Don’t push them in all the way. Then, place the adapter board on top of these two rows of pins, so that the pins barely stick out of the 36 pin socket on the adapter board. Make sure the black plastic is on the opposite side of the protoboard.

(If you don’t have protoboard, just put the pins into the board like the second picture below so that they barely stick out. You should probably have a guide to line the pins up correctly, like the SNES PCB, so you don’t solder them in crooked.)

20190903_203309.jpg

20190903_203003.jpg

Now, carefully solder the pins in on the top of the adapter board. You want good connection with the solder, but you don’t want too much of the pin sticking out of the top. Now, gently push down on the protoboard so that it pushes against the black plastic on the rows of pins.

20190903_203336.jpg

Sometimes you can get the black plastic off the pins completely this way, but I’ve found it’s good enough to just wiggle it a bit and cut off the black plastic with clippers. If you don’t have the protoboard, just clip the pins as close to the black plastic that you can get.

20190903_203852.jpg

Now, you should have the adapter board with 36 pins in it. You should place it into your donor cartridge just to make sure it fits ok. You might have to move a capacitor or something else where the left part of the board meets your donor cartridge. In this picture, you can see I had to take a capacitor out of the board and resolder it on the bottom of the board.

20190903_204141.jpg

Now that you know the board will fit in your donor, and you have the pins in correctly, you can add your multiplexers like so. IMPORTANT: Be sure the packages are facing the correct direction! Pin 1 is located at the top left of each chip in the below picture. You can tell the orientation of the chip pins by a notch, bar, or other marking on the edge of the package that has pins 1 and 16.

20190903_205200.jpg

Now, put your 27C322 into the adapter board and see how low you can get the EPROM to the surface of the board. If it doesn’t go down all the way, take it off and try carefully trimming the header pins sticking out of the board that are underneath the EPROM. Just be really sure the EPROM is in as far as it can go. This is important to get right, because if you don’t, your board won’t fit back into the cartridge. Once it’s set, solder the pins.

20190903_233920.jpg

See how the solder kind of blobs up on the pins of the EPROM? You want to make sure you have good connection from the EPROM to the board because we’ll be trimming those pins on the bottom. But make sure you don’t accidentally solder two pins together! Now, flip the board over, and cut down the 42 pins on the 27C322 as close as you can get to the board. Be sure to leave the header pins exactly how they are!

20190903_233855

You’re nearly done! Put your board into the SNES socket, and solder the header pins into the cartridge PCB. Be careful to not heat up the pins too much, as they may cause them to come loose from the adapter board! Spend as little time as you can soldering these pins to the board without making a cold solder joint!!

Your final product should look and work great!

20190903_234437

How the Adapter Works

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

One thought on “27C322 to SNES Mask ROM Adapter Board

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