Here’s where you can find documentation on how all my adapters work, to help you understand the concepts and even make your own if you’d like.

27C160 Adapter for TL866 MiniPro Programmer

Buy the 27C160 adapter on the store page.

This is an older design that only programs 27C160 and similar model EPROMs.

In order to program the 160’s, we’ll need to reroute the pins on the 160 to match the pinout of the 27C4096, which the TL866 supports. Here’s the pinouts of each of the chips from their datasheets, and the rewiring you’ll need to do.


Pin 1 (A18) and pin 42 (A19) are not available on the 4096, so they will go to the switches that will turn the two address lines to 1’s or 0’s. Here’s a schematic of how you’ll need to connect them to switches using a pull-down resistor. The resistors can be pretty much any value above 1kΩ or so.


27C322/160 Adapter for TL866 MiniPro Programmer

Buy the 27C322/160 adapter on the store page.

This adapter board allows you to program these 42-pin EPROMs on your 40-pin TL866 programmer. You’re also able to program 27C800 and 400 EPROMs as well, but I won’t be using them anywhere in my tutorials.

Here’s a breakdown of the pinouts on the 27C322, 27C160, and the 27C4096.


Remember, the 27C4096 is the chip we’re going to tell the TL866 we’re programming. The X’s signify an address pin that goes unused on that chip. We’ll be adding three switches to manually control these pins – A18, A19, and A20. You’ll note that the 322 and 160 share every single pin, except that 160’s don’t utilize A20, and the VPP and /OE pins are a bit different.

According to the datasheet for the 27C322, pin 13 (or /GVpp as it’s defined) combines the /OE (output enable) pin and the VPP (programming voltage) pins into one. The 4096, however, keeps these pins separate. This isn’t too much of a problem, though, if we take a look at the operating modes of the 322 we can see that we never really need the /GVpp pin to be anything but zero volts or the programming voltage.


Here, VIL notates logic low, or zero volts. VIH is logic high, or anywhere between 2 and VCC + 1 volts (according to the datasheet). You’ll notice that the only mode that uses VIH is “Output Disable” which isn’t really used while programming the EPROM. So we only really need to switch pin 13 between ground and VPP (which means we can ignore pin 20 on the TL866 completely for programming the 27C322). Unfortunately, the TL866 switches VPP between the programming voltage and VCC voltage, so we need to add a bit of circuitry to change that VCC to GND.


The PNP transistor above conducts when the emitter voltage is greater than the base voltage. During programming, the VPP pin from the TL866 applies the high programming voltage. When this happens, current flows through the base resistor (RB), and pulls pin 13 on the 27C322 to VPP. Then, when the VPP pin on the programmer drops to VCC voltage, the base current drops and the transistor stops conducting. This causes pin 13 to be pulled to VSS through the collector resistor (RC).

Now, taking care of the extra address pins is just using simple switches with pull-down resistors.


With this extra circuitry, we can make a standalone 27C322 adapter for the TL866. However, if you check that table again up at the top, you should’ve noticed that the 322 and 160 (and by extension, the 27C800 and 27C400) share a lot of common pins. The only real difference is which pin is used for the programming voltage – pin 32 on the 160 is the VPP pin, but on the 322 this is the A20 pin. We can easily reroute this using a double-pole-double-throw switch.


29F033 Breakout Board Adapter for TL866 MiniPro Programmer

Buy the 29F033 adapter on the store page.

The 29F033 is a 40-pin surface mount chip. The TL866 supports this EEPROM, however you’ll need a surface mount programming adapter to do so. These are pretty expensive, so a cheaper option is to solder the 29F033’s to the DIP36-TSOP40 breakout board, and make an adapter for the breakout board.


The breakout board adapts the 29F033 to the standard SNES pinout. So, we can make an adapter that changes the SNES pinout to the 29F033 pinout (that the official surface mount adapter uses).

Here’s a list of the pins you need to route from the DIP36-TSOP40 adapter to your programmer.

tsop adapter.png

If you want to try this without a board, what I did here was just take one of my many small breadboards that I wasn’t using and make an adapter board with a bunch of wire bundles and female-to-male header sockets. Very ugly, and very annoying to get working. But it’ll serve in a pinch, if you’re patient.

20170903_160048   20170903_160057


One thought on “Documentation

Leave a Reply to Montana Cancel 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