Volume 1 · Number 4 · December 1981

Page 2 of 33

EPROM Programmer / Checker / Reader

by C. Bowden

The equipment described in this article is the third EPROM programmer that the author has built in the last couple of years. The first version, which was built about two years ago, worked via the serial interface and was very slow and unreliable. It took over an hour to ‘burn’ a 2708.

Version number 2, built about a year ago, worked through the Nascom PIO and was much faster, taking only a couple of minutes for the same task. It was also much more reliable, and the software included routines to copy EPROMS to RAM, and to verify them against RAM. One disadvantage, however, was that it would only program 2708 EPROMS, although the basic hardware was suitable for extension to 2K EPROMS, such as the 2716/2516.

The third version, described in this article will work with 2708, 2516 and 2716 EPROMS, and some of the routines can also be used with mask-programmed ROMS which are pin-compatible with 2716s, such as the ROMS used in the Nascom 2 for Nas-Sys and Graphics. Two extra routines have been added, and the unit will now carry out the following tasks:

2708/2516/2716 EPROMs

  1. Check whether the EPROM is erased, and display a suitable message.
  2. Program the EPROM from data in RAM, and display a progress count.

2708/2516/2716 EPROMs, and pin compatible ROMS

  1. Transfer the contents of the chip into RAM at a chosen address.
  2. Compare the contents of the chip against RAM, and display errors.
  3. Dump a copy of the chip contents to a printer on the serial port, displaying memory locations and hex and ASCII data.

The program occupies about 2K bytes of memory space. No attempt has been made to reduce this for the following reasons:

  1. The program has been written so as to minimise the chance of operator error, by offering single-key choices backed up by verification of entry wherever possible. This requires a large number of messages and prompts, which take up a lot of memory space.
  2. Because of this, it would have been difficult to keep the size of the program below 1K bytes; 2K seemed to be suitable, as the program would then fit into a ‘self-programmed’ EPROM.
Page 2 of 33