Chris Ward's 6502 Computer
Created by Chris Ward
Early on in the project, I realised that I was going to need to program my own ROM chips. EEPROMs (or E2PROMs if you prefer) sounded like the easiest type of ROM to work with, as they don't need to be erased with expensive UV boxes and they don't need a seperate +12V programming voltage. With commercial programmers being very expensive and doing a lot more than I needed, I set about designing my own PC controlled programmer.
The design is very simple. Three 8-bit shift registers are fed with serial data from the parallel port, and their outputs control the address and data lines of the ROM.
To allow for reading there is also a parallel-to-serial shift register on the data lines. An octal buffer disconnects the other shift register when reading, otherwise there would be two devices trying to control the bus.
Other parallel port lines are directly connected to the control pins of the ROM - chip enable, write enable, output enable and ready/busy. Three jumpers are provided to configure the programmer for different devices, although it was originally intended for M28C64C EEPROMS. See table below.
Note 1: A 28-pin device with Ready/Busy pin, e.g. Microchip 28C17A. The
24-pin 2816 devices won't work.
The programmer is controlled by a Windows program written with Visual C++. It can load and save files in raw binary or Intel Hex format. Read and write support is provided for the 2817 and 2864, and read-only for the 2764, 27128 and 27256. Below is a screenshot from the program:
The software has the following bugs/problems/missing features: