EPROMs

 I first became familiar with programmable devices much like modern EPROMs back in the 1970s when we used early Signetics devices to carry the firmware for a multiplexer. Because it was still early days the things were pretty unreliable and not too long after a second generation (and reliable version) of these fusible-link devices had been introduced, the EPROM was developed. The fusible-link chips were a "one-time" device which meant an expensive exercise if the firmware didn't work properly, but since those far off days it's easy to fix firmware if it goes wrong and, probably because it's so easy, sloppy programming has become the norm (ie. "unplug the BT box and plug it in again").

 

 

 Here's a picture of a relatively early EPROM. This example being a Signetics 27C256 with its quartz window exposed. Nowadays these have been superseded by a type that doesn't need the window because they can be erased electrically (EEPROM).

The early types require the chip to be exposed to ultra-violet light for a period of say 30 minutes although its not uncommon for erasure to occur naturally, especially when the window isn't masked well enough.

 Many years after my experience with the dud Signetics 82S06, and the better 82S106, I came across proper EPROMs in the shape of the type shown above. This was because I was managing the HDRS project which used EPROMs in its microprocessor-based control equipment. Because the software was so incredibly complicated the HDRS EPROMs needed lots of changes and it became clear that the devices eventually became unreliable through excessive erasing-reprogramming. After lots of firmware updates not only did we experience programming bugs but also random errors from hardware failures. Of course HDRS wasn't alone in having teething troubles as nearly all (if not ALL) defence projects had problems. In fact one has only to look at the massive numbers of patches to Microsoft Windows to realise that software is never completely bug-free. In fact it's rare that a user can rely on the various laws set up for consumer protection because in actually using software (or firmware) one has to indemnify the manufacturer against mistakes. Try declining Windows 10 terms and conditions when installing it and you'll quickly discover you can't install it... you have no option but to accept what usually turns out to be a buggy product.

Below the Willem PCB45 programmer.

 

 

Back to EPROMs... above is a picture of a cheap EPROM programmer (It's known as a Willem PCB45). In fact the first one I bought in order to program devices used in lifts (the repair of which is my day job). It used to work admirably but that was in the days of Windows 98 and Windows XP and, as you can see above, when parallel printer ports were common.

So, recently faced with the task of reading 2725627C256 devices, I unearthed this old Willem programmer. I tried it on my Windows 7 PC and found it didn't work so I removed the hard drive from my workshop PC (which uses Windows 10) and installed Windows XP on a spare hard drive. Oddly, although support for XP has long finished the machine insisted upon downloading and installing updates... Once it was relatively stable, I re-discovered the software for the device and installed it. Results were promising. I found I could now read EPROMs and was able to determine that a specific lift board EPROM had been corrupted. To discover this I read a newer chip and compared it with the older one. In fact the newer one is a 27C256 EEPROM without a quartz window.

Although I could read the chips I couldn't write to them. It seemed that once the very first byte was written it was wrong. As the program checked each byte it was impossible to get past the first byte unless all "FF" (which means all binary ones) was written, when it then completed the job properly (but as all ones is equivalent to the erased state that wasn't any use). I tried everything but failed to program any of my various devices so I decided to look for a replacement programmer. As the amount of EPROM programming I do is very limited I did not care to invest any cash in the current range of expensive commercial programmers. Ages ago, one customer in desperate need of programming bought a programmer for £750 and it worked a treat but I'm looking to spend less than £50.

 

 My choice (a bit of a gamble) was the programmer shown above. It cost me £39 including next day delivery. It would have been cheaper direct from China but as my customer rang me a few times to check on progress I couldn't wait over a month. I noticed the case is marked "XGecu Pro" but similar cases are marked "MiniPRO" and seem to be exactly the same thing? You can buy adaptors to program non-DIL chips but I didn't need these and anyway my collection of similar adaptors left over from the Willem will probably work OK.
 

 

 Left is the accompanying mini-CD carrying the software, and right the only paperwork received in the box.

The CD has a few files with Chinese names but it also has some in English and adequate for an installation on my 64bit version of Windows 7. It would even run on a Windows 10 PC and several earlier systems.

The programmer uses a USB lead and this carries power to the device as well as being used for data. Inside the case, much like the Willem, is a DC-DC converter which produces the voltages for most types of EPROM (but not those using elevated voltages beyond about 18 volts).

 

 How did I get on? The first task is to use the CD to install the program and the drivers. Then plug in the device. The first thing to happen appeared to be a firmware update. I guess this is to update the list of EPROM types? Once completed, and once the program is happy about the drivers, it displays what you can see below.

This example has an M5M27C256K selected, but not plugged in. The software calls itself "Xgpro v9.0"

 

 The number of types of chip that the programmer can handle is enormous and even as I opened the program, a message popped up to say an update was available. One interesting feature is that each EPROM type carries an identification code which is read by the programmer to ensure you didn't make an error in selecting your chip. Oddly, one of my old chips made by one specific maker turned out to have the wrong ident code (I must investigate why) but all the others were OK. Firstly I confirmed the logo on the EPROM was indeed Signetics (see the picture at the top of this page), then looked to see if the company had been absorbed by another manufacturer. I found that Philips had taken over Signetics so selected the 27C264 and discovered the ident code was then recognised.

I read the code from the good EEPROM by pressing "R", saved it as a BIN file, then changed to the new EPROM setting, plugged in an erased chip, checked that it was indeed erased then pressed "P" and magically it was programmed and validated.

Compared with my old Willem, this new programmer was really simple to use. The Willem is fitted with at least 28 switches and jumpers, some of which are undocumented, and are therefore a bit of a mystery,,, and no provision for being operated with wrong settings.

 

 

 This is the Willem PCB45 program running on my Windows 7 PC. Not only will it not work but error messages pop up when attempting to use it and the program has to be forced to shut down using Task Manager. Note also that the position of the chip is the opposite to that in the Xgpro.

 In summary then, I can recommend the XGecuPro (or the MiniPro) if you need to handle EPROMs, EEPROMs or even many PIC devices (these combine the microprocessor AND its EEPROM in the same chip. When I get time I must investigate the repertoire more fully...

 Return to Reception