I’m restoring my first home computer, a 1979 Exidy Sorcerer. I discovered a fault with one of the 2KB programmable read-only memory (PROM) chips; it had lost its memory and become blank. Terry Stewart had an identical problem, so I won’t describe the fault diagnosis process that he has documented so thoroughly.
The result was that I needed to source EPROMs, more-or-less compatible with the 2716 pin layout, as well as a UV EPROM eraser and an EPROM programmmer. I researched numerous articles, and watched many videos, and while I learned a lot, I was also left with the feeling this is a minefield. Because 2716-type devices have not been manufactured for many years, there is great suspicion in the marketplace. Which chips are genuine and which are fake? Which chips are compatible with which programmers?
I won’t add to the ethical and economic debate about the veracity of the available chips, but simply relate my experiences which were less painful than I feared.
I bought a TL866 II Plus Universal Programmer from a UK-based ebay seller named yourcartmax for £41. It was the cheapest UK-based offering. There are claims that these devices have been conterfeited, but also that the presence of a label on the bottom of the machine is suggestive of a genuine item. Here’s the label on mine. I have no reason to doubt its authenticity.
The programmer comes with software for Windows on a CD, but more recent updates are available via the xgecu website. At the time of writing the latest is 10.31. You are instructed to install the software before plugging in the programmer to a USB port, so that drivers are available. Once again the fear, uncertainty and doubt is rife regarding this software. An EEVblog thread indicates that six different anti-virus products detect malware. I checked it with Avast, and nothing untoward was detected.
I used a rear USB port on the elderly Dell desktop machine on which I run Windows, on hearsay grounds that the rear ports deliver more current to USB. Programming EPROMs does demand higher voltages than USB’s 5V, so the programmer may be impacted by current-limited USB ports. Some people recommend a powered USB hub but I don’t have one. More on this high-voltage programming later.
EPROMs can be erased and reprogrammed. Erasure requires exposure to light in the UVC range, ideally 254nm. There are cheap Chinese-origin plastic boxes containing a mercury vapour tube, and a little electronics, which promise to do the job. There is also lots of chatter on the boards about erasing with sunlight (you can but it takes weeks instead of minutes), toothbrush santisers, UV LEDs at close range (the lowest wavelength available from LEDs at this time seems to be 365nm, so less effective), and the usual claim that the Chinese devices are crap and you really need a used, turn-of-the-century device from ebay. With my head spinning from all the options, I ended up buying a cheap Chinese device from Banggood for $22. It’s the one labelled ‘Big Moon’ which seems to be slightly less common than the darker grey unit labelled ‘AY’; though the difference is probably just cosmetic. Banggood seem to get things to me a bit quicker than Aliexpress, and my biggest worry was receiving a box full of broken glass and mercury droplets like this poor fellow. Luckily all arrived intact nine days after ordering.
Here’s where things get really interesting(!). The original memory device in the Sorcerer BASIC cartridge was a masked ROM. It means the memory was one-time programmed by the chip manufacturer. EPROMs, as we’ve discussed, are user-erasable. As far as I can tell, the original 2716 was an Intel device which is rarely found these days. Subsequently other manufacturers copied the pattern and produced a variety of devices with similar-sounding names. It’s named ‘27’ because (I don’t know) and ‘16’ because it has 16k bits of storage capacity, ie 2K bytes. In the user-programmable device, pin 21 is used to supply a high voltage when programming the memory, and +5V in normal operation. Clearly a programming voltage wasn’t necessary in the masked ROM, so pin 21 in the Sorcerer ROM Pac is wired to Ground. This means, assuming we are successful programming a replacement EPROM, we’ll have to do some jiggery-pokery to get the chip working in the Sorcerer.
As I mentioned, many manufacturers followed Intel in offering 2716-style devices and these other manufacturer device types can easily be found on ebay and AliExpress. Fakes? Probably. Does it matter at this point when no western manufacturer offers new chips of this type? For my money, no. Two devices that seem commonly offered are:
Both parts have the same pinout as the original Intel 2716. The letter C in between 27 and 16 indicates that the Fairchild NMC27C16 is a CMOS device. The chief benefit of CMOS technology is lower power consumption than NMOS. The active power consumption of the Fairchild NMC27C16 chip is advertised as 55mW vs 525mW for the ST M2716 part. Not that this matters much in the context of the Sorcerer which is already cooking with tens of Watts burning off in the power supply.
But more significant in the present exercise is the voltage required on pin 21 to program the memory (Vpp). M2716 requires 25V whereas NMC27C16 only needs 12.5-13.0V. The TL866 II plus can supply a maximum of 18V programming voltage. Cunning schemes can be used to externally-power pin 21 in order to program an M2716. I have successfully used this technique. But note that there is a specific warning against this in the TL866 II plus manual. In bold: Do not use the external power supply to enhance the programming voltage for forced programming, when the chip is damaged, 21V / 25V high voltage may go back to the programmer’s internal, will damage the programmer hardware.
The NMC27C16, by contrast, is easily-programmed with the TL866 II plus.
I bought both types of chip, from AliExpress sellers, due to inexperience and the fear and doubt instilled by all of those scary discussion board posts.
Programming the M2716
The M2716 came from Shop1157182 Store. They cost $0.95 a piece, plus a little extra for shipping. I bought four chips. Three came blank, one needed erasing for 15 minutes or so, in the Big Moon eraser. The pins were a bit higgledy-piggledy, as if they had been removed from a prior installation. I only tested programming one of them because of the shenanigans with external voltage. I installed the EPROM in a socket, bent pin 21 of the socket out to one side, and inserted the socket into the programmer. Thus pin 21 of the chip was isolated from the programmer’s own Vpp, which was set at 18V. I then crocodile-clipped +25V to the splayed leg of pin 21, and the ground of the external power supply to the metal shield of the USB type B connector. For M2716, the programmer defaults to:
- Vpp: 18.0V
- Vcc verify: 5.0V
- Vdd write: 5.0V
- Pulse delay: 1000us
The last confuses me, because the datasheet suggests the programming pulse should be between 45ms and 55ms, but 1000us, or 1ms, is the highest value allowed. Nonetheless, the chip programmed and verified successfully with external power in a few seconds. The TL866 software warns about a failed pin check (because we’ve bent pin 21 out of the socket) but you can ignore the warning and programme regardless.
Programming the NMC27C16
The NMC27C16 came from Shop900249433 Store. I paid $12.54 for a lot of 10 pieces, with free shipping. They arrived quite nicely packed, with pins pressed into foam, and wrapped in clingfilm inside a jiffy bag. All the chips had pre-existing contents, and I erased them with a blast of about 12 minutes in the Big Moon eraser. The programmer pulled in default programming parameters when I told it the chip type:
- Vpp: 13.0V
- Vcc verify: 5.0V
- Vdd write: 5.5V
- Pulse delay: 200us
I changed the last to 100us as that is what is stipulated in the datasheet. The chips all programmed and verified successfully in a few seconds.
The verdict is: choose the NMC27C16 for trouble-free programming without external power shenanigans. My seller provided a nice package of 10 chips for not much more than $1 each and they all worked.
Installing the programmed EPROM in the Sorcerer
You’ll remember I started down this rabbit hole simply to replace a failed PROM in my BASIC cartridge. Expecting trouble, I bought lots of EPROMs, of two different types, but really, one would have sufficed. As I mentioned earlier, and Tezza recounts in his similar repair story, we need to isolate pin 21 of the reprogrammed EPROM from the GND connection in the corresponding socket of the Sorcerer’s ROM Pac. I snipped off the thin part of the leg of pin 21, and soldered a small piece of enameled copper wire between the stump of pin 21 and pin 24 (+5V). (First time around, I did this surgery on a socket, to save the leg of the EPROM, but the combined height of two sockets and an EPROM prevented the ROM Pac cover from fitting back on). Tezza did the surgery on the ROM Pac PCB, but I like my solution, which only damages a cheap and replaceable EPROM.
The fix was successful. BASIC loads just fine, and I celebrated with the obligatory 10 PRINT “HELLO WORLD”.
Thanks to Tezza for the original guide and to the Vintage Computer Federation for resources and help, especially ROM archives.