The chaotic shambles of EPROM voltages, from 2708 through 2764
Computer memory used to require a lot of power supply voltages. Manufacturers gradually adopted simpler power-supply schemes, but legacy parts continued to require multiple voltages throughout the 1980s. The original Apple ][ included a negative power supply, -12 volts, solely to operate memory storage devices like the 4K and 16K dynamic RAMs and 2708 ROMs in peripherals. Apple switched to single-power-supply components whenever they could. Even though the Apple //c was mostly a single-voltage computer, it still needed a -12v power supply for two storage devices: the comparator inside the disk drive and the ROM in the AY-3600 keyboard controller.
And that poses a hurdle for programming EPROMs from that era. EPROM manufacturers tried to simplify their power supply requirements, but they also evolved toward requiring elevated VCC above +5 volts during programming because it enabled them to reduce the programming pulse width by a factor of 10, 50, or 500!
- 2708 8-Kbit (1024 byte) required three power supply connections for ordinary operation, plus VPP=26 volts for programming. It also imposed the peculiar requirement to elevate the Chip Select pin to 12 volts during programming. The 2708 also required that all bytes be programmed in a single pass, without the ability to program individual bytes. Uncommon, but not rare.
- 2716 16-Kbit (2048 byte) represented the first transition, reducing the quantity of power supplies. Texas Instruments retained three-supply design in their TM2716, and imposed a further complication to elevate VCC=12 volts during programming. Other manufacterers switched to a single-supply design. When TI adopted a single-supply, they designated it TM2516 to distinguish it from the incompatible TM2716. Motorola manufactured both styles, using TI's part number for the three-supply version and a conventional Motorola MM2716 part number for the single-supply version. Most manufacturers gradually migrated from VPP=25 volts to VPP=21 volts, and much later VPP=12.5 volts.
- 2732 32-Kbit (4096 byte) marked a second transition, reducing programming voltage VPP. Parts initially used VPP=25 volts, just like previous generations of EPROMs. But they soon migrated to VPP=21 volts, and later to VPP=12.5 volts.
- 2532 32-Kbit (4096 byte) seems to represent TI's effort to continue the numbering they adopted with their TM2516 variant, using different chip-select level than the 2732 and programming voltage VPP=25 volts. Uncommon, but not rare.
- 2764 64-Kbit (8192 byte) increased the pin count from 24 pins to 28 pins. Most manufacturers had switched to VPP=21 volts, and later they migrated to VPP=12.5 volts.
- 2564 64-Kbit (8192 byte) is yet another extension to TI's 25xx series, with programming voltage VPP=25 volts. It squeezed 8KB of ROM into a 24-pin package to make it easier to adapt circuits from their TM2516 and TM2532.
- 68764 64-Kbit (8192 bytes) is a strange beast from Motorola, with programming voltage VPP=25 volts. In order to squeeze 8KB of ROM into a 24-pin package it omitted the separate pins for chip-select versus output-enable, which prevented the chip from implementing standby or low-power mode.
This spreadsheet summarizes the voltage requirements for various EPROM types in the 8-kbit to 64-kbit range:
Note that this table is nowhere near complete. I don't even have specifications for all the EPROMs I own!
Some additional weirdness emerged from the chaos: manufacturers sometimes built EPROMs to their competitor's specifications and labeled them with competitor's part numbers to distinguish them. Here's a pair of Motorola TMS2716L EPROMs on a board found inside a Commodore PET. That's right, Motorola parts using a Texas Instruments prefix!
- S.Elliott's blog
- Log in or register to post comments
Programming voltages for some
Programming voltages for some of these older chips is an issue for most of the inexpensive modern USB based programmers. Particularly the popular Minipro TL866 family. Older versions could do up to 21V but the newer ones can only do around 18V. From your table, 21V isn't even enough to do a lot of the older chips. However, there is a solution, albeit extra cost and a bit of extra work to set up. I was able to buy an external voltage adapter. It plugs into the programmer's ZIF socket and provides it's own. It has a hookup where you can connect an external power supply. Then basically all you need is to know the closest chip as far as programming spec to the one you want to do... oh, and of course you have to source an appropriae DC power supply that can generate the needed voltage. Unfortunately 25V which is common for older EPROMs is not a common voltage, so a more expensive adjustable bench type supply may be needed... A lot of this of course negates much of the good parts about a cheap programmer like the TL866 family... that they are cheap and easy to use... But it does make things possible.
Some comments on the weird supply voltages of vintage ICs.
"The original Apple ][ included a negative power supply, -12 volts, solely to operate memory storage devices like the 4K and 16K dynamic RAMs and 2708 ROMs in peripherals."
Uncle Bernie comments:
The sign on the -12V looks like a typo to me, it should have been +12V in this context, as these DRAMs used -5V, +5V, and +12V supplies. The -12V in the Apple II was only needed for the 2513 character generator seen in the early machines, which is a PMOS part, and those actually ran from a negative supply (because inside, all the PMOS logic is "upside down", not strictly correct, but you get the idea). The Disk II Analog board also needed the -12V. Later, Apple replaced the Signetics 2513 with pin compatible parts that were NMOS and did not need the -12V.
About the need for -5V: NMOS parts typically used this only for substrate back bias. This increases the threshold voltages for the MOSFETs so they become useful. The whole circuitry runs between the +12V rail and GND, except for the TTL compatible I/O buffers/drivers which run from the +5V rail.
As a consequence, for the typical DRAM of the time, there is almost no load current on the -5V rail (a few 100 microampere per IC at most), the +5V has only a feeble load until the DRAM must drive the TTL compatible data bus to "H", and +12V is where the action is and the whole thing lives - this is why the huge, dreaded current spikes from /RAS and /CAS assertion happen between the +12V pin and the GND pin. There is some coupling into the -5V rail, too, but its largely harmless. The critical power supply bypass capacitors must be between +12V and GND for these DRAMs. The bypass capacitors on -5V can be fewer and of lower performance. Bypass on +5V rail to GND depends on the load on the data bus seen by the DRAMs. In the Apple-1, this load is only a 8T97 bus driver, so the +5V rail on the DRAMs don't need bypass capacitors (for most DRAMs). It can't hurt to have a few, though.
Much the same applies to the EPROMs of the time. Their programming voltage shrink is a consequence of progress in semiconductor process technology. Once they learned how to make thinner gate oxides, they could get the "hot" electron tunnelling effect through the gate oxides at lower voltages. But due to the shrinking of the structures the max voltage which could be handled on the IC also dropped. In other words, they had no other choice than to reduce the programming voltages. Historically, these always have been on the edge of which the silicon could handle without blowing up (dramatization of "insulation / junction breakdown"). So you can't exceed them.
And if you use any external power supply to apply the programming voltage, beware of the inductance of the wires which will cause inductive overshoot when the programming pulse is turned off. You need some sort of fast acting protection circuit to avoid blowing up the EPROM by inductive overshoot. This can be tricky. The best way to dodge that bullet is probably to regulate the programming voltage locally, physically near the programming voltage pin of the EPROM, and have enough bypass capacitors on the side with the long power supply cables.
It's sin to blow up these rare, precious, and irreplaceable EPROMs of the 2708, 2716 and 2732 types. Everything else is fair game, destroy them in your programmer experiments as you wish. The reason is that for 2764 and up, you can a) find plenty of them, and b) put in a larger one, up to 27512, with only small pin lifts and a few jumper wires on the EPROM, into the same socket. I happen to have thousands of these larger EPROMs, but 2708, 2716 are very rare, and 2732 are getting scarce. I think this in-stock situation is the same for most people repairing and cloning vintage computers. Of course, the usual suspects (IC brokers) still have 2708, 2716, and 2732 in stock, but at usurious prices, and you can't buy them from these brokers at qty 1.
- Uncle Bernie
Programmers and historic value
Of course, the difficulty of actually correctly programming old ICs is the reason that Data-IO 29Bs with Unipak 2 are still trading for several thousand dollars. If it was a simple matter I don't think you would see such durability of pricing. For sure they are not being purchased by Apple collectors.
2708 may be rare but 2716 and 2732 are definitely not. They're easy to get and not even very expensive. I've got dozens of both on hand. Albeit the ones I get are almost always the later versions which are 12.5 ot 21V programmable and the TL866CS that I have is able to program them w/o an issue. I bought the voltage adapter module just in case I ever needed to program a part that required more than 21V. FWIW, the adapter has a switchable regulator on it, so it probably isn't too likely to blow up parts.
robespierre wrote:Of course,
Data-IO are out of the price range of most hobbiests. They're also a PITA to deal with because of the very specific computers and software requirements needed to drive them. I have a lot of nostalgia for Apple II... not much for crappy MS-DOS PC clones. I have a couple of XT type machines, but only to use with a Quapple board... which actually makes them into a useful machine... An Apple II+ clone! :-D
Thankfully I haven't had a need to program any 2708s... and the older MiniPro TL866CS does 2716 and 2732 w/o issue. It would be nice to be able to do bipolar PROMs like a 6309... but those parts are so hard to find these days anyway.
Some hints on programmers for vintage PROMs/PALs/EPROMs
"They're also a PITA to deal with because of the very specific computers and software requirements needed to drive them."
Uncle Bernie comments: true that. DATA I/O always had a product philosophy to "suck you into their world" and once that kraken had the suckers on you, they sucked away your live blood (money). For example, to pay back the investment for a UNISITE programmer a programming center had to program half a million EPROMs, PLDs, etc.
I use a Data I/O System 19 with a Unipak I bought off Ebay for a few hundred dollars. It had all the upgrades. This is probably the most economical solution to program vintage EPROMs and bipolar PROMs of the 1970s. I use a more modern programmer to make master EPROMs for the smaller EPROMs and the PROMs. So I don't need to deal with the nasty DOS based, dongled proprietary drivers of Data I/O. Once I have the first set of bipolar PROMs made from an EPROM master, they become the masters for all following PROMs.
But make no mistake - these Data I/O System 19 and 29 programmers, if properly maintained and calibrated (service manuals are available on the internet for free) are absolutely the best machines for programming 1970's era bipolar PROMs and PLDs. It took competitors like BP Microsystems many years to catch up and be able to offer a programmer that could do these bipolar parts with the same good yield as with the Data I/O. The BP1200 is a fine programmer you can occasionally buy on Ebay for cheap. If you ask BP Microsystems support kindly, you can even get the latest driver software for DOS and Windows XP for the BP1200. At least I was lucky enough. Try to get any support from System General or others for their vintage programmers. No chance, nada.
- Uncle Bernie