EPROM Adapter v4
27C322/160/800/400 EPROM Programming Adapter, Version 4
This document covers version 4 of the EPROM adapter, which uses a rotary switch for bank selection. Please go to the old page for information about previous versions.
This adapter supports the following EPROM parts:
- 27C400: 40-pin, 4Mbit (256k x 16-bit, 512k x 8-bit)
- 27C800: 42-pin, 8Mbit (512k x 16-bit, 1M x 8-bit)
- 27C160: 42-pin, 16Mbit (1M x 16-bit, 2M x 8-bit)
- 27C322: 42-pin, 32Mbit (2M x 16-bit, no 8-bit access mode)
The adapter converts the pin-outs of the above parts (which is similar to contemporary DIP-packaged mask ROMs) to 27C4096 pin-out as supported by the readily-available and cheap TL866 series of USB programmers.
- 1x DPDT Sub-Miniature Slide switch (9x4x3.5mm, easily found on Ebay)
- 1x Copal S-2110A Rotary Switch
- 1x 48pin ZIF socket
- 2x 20pin male header pins
- 4x 10kohm 0805 resistors (R1, R2, R3, R4)
- 1x 1kohm 0805 resistor (R5)
- 1x MMBT3906, SOT23 package (Q1)
If you received a kit of parts for self assembly, note that the SMD components are soldered to the underside of the PCB. The 1k resistor (R5) placement is explicitly marked.
Note that the ZIF socket will foul the tops of the male header pins. This can be mitigated by:
- Cut or grind the central stand-off on the underside of the ZIF socket. If you received a kit from me then I may have done this for you.
- Tack-solder the corner pins of the ZIF socket, making it as square and straight as you can, before soldering all other pins.
Insert the programming adapter into the TL866 with the socket handles adjacent to each other. Insert the EPROM into the lowest-possible position in the adapter and with pin 1 nearest the handle.
Set the slide switch according to your EPROM type (27C322 vs others).
Launch the MiniPro software, select
AMD 27C4096 DIP40 device, and
Check ID. You may also optionally reduce
VPP Voltage to
12.50V, depending on your EPROM's datasheet and programming success.
The EPROM can now be accessed as if it were a 27C4096 device, 512kB at a time, as configured by the bank-selection rotary switch (R):
- 27C400: no need to set R, program all 512kB in one pass.
- 27C800: program in 2 512kB passes: R=0 (bank 1), then R=1 (bank 2)
- 27C160: program in 4 512kB passes: R=0-3 (banks 1,2,3,4)
- 27C322: program in 8 512kB passes: R=0-7 (banks 1,2,3,4,5,6,7,8)
If your ZIF socket lever keeps popping open, use a knife to carefully remove some plastic where the lever rests when closed. You may end up with the lever resting below horizontal: this is not a problem,
If you suffer write or verify errors when programming, try these steps:
Make sure the EPROM is fully blank before programming it (
Device -> Blank Check). All EPROMs available today are second-hand 'pulls' and sellers aren't always careful when erasing before resale.
Really make sure the EPROM is fully blank. I now pre-erase all EPROMs before I program them, regardless of whether they appear blank. By this method my burn failure rate has dropped to almost zero.
Open and close the adapter's ZIF lever a few times, and reposition the EPROM squarely in the socket.
13.50V. Subjectively I have had greater success at the higher voltage and it gives headroom for voltage losses in transferring VPP through the adapter's logic.
Programming errors will occur from time to time, and of course the chances increase the larger the device. It makes sense to invest in a UV eraser. These are available at low cost on Ebay from the Far East for around £10-15 ($15-20). Most devices will be erased after 10 to 20 minutes under UV light.