EEprom Programmer


Micro Projects Home Page



 Microprocessor Basics

Micro Basics

Site Projects

Site Projects

Construction Techniques


Programming concepts




8085 page

8085 page

Fault Finding

Fault Finding

Data Sheets

Data Sheets

EEprom Programmer


Video Information

VIDEO info

Peripheral Circuitry

Peripheral circuitry

Central Heating and Z280's

Z280 and  Central Heating  Controllers

Concluding Ideas

Concluding ideas

EEPROM programmer


In order to program an EEPROM chip, Set the start address (0000h) at 4000h.


Memory location FFFFh is the programming register. Use for EEPROM /WR /CE and Z80 WAIT.

Initialised to FCh.    1111-1100   /WRITE & /CE HIGH  (de-selected)  6mS on BIT0 disabled.

EXEL  /OE should be high.  (this is for /WE controlled)

/OE is connected to the CPU read so it cannot be low for a write. (so ignore)

/CE and /WE can effectively be linked (!) as at no time do they operate independantly.



ROM is from:     0000 to  3FFF  (16K)   Stack is at FF00

Device under test:4000  to  7FFF  (16K)

System RAM:8000  to  FFFF  (32K)


RH display from:03  02  01  00

LH display from: 13  12  11  10

SSC from:    20-  All addressing for the ‘A’ half = with A0 high



All at 3x  (30)    Outport to echo value in FFFFh  (set on reset)

Outport bits:- Bit 0=  low to enable /WAIT one shot clear line HI=CLEAR

Bit 1=  low to enable 2nd  /WAIT one shot NOT used

Bit 2=  High to disable device /CHIP ENABLE

Bit 3=  High to disable device /WRITE ENABLE



74125 reads in (30) Bits 0,1,2,4

For transmit data, the byte is first of all put in  FFFE for program part to use

Bytes used:-

FFE0TEST 1First byte of pair for conversion

FFE1TEST 2  Second byte of pair for conversion


FFE2Result of line in prog & last line in prog (00 or 01)

FFE3MSB ASCII HEX conversion

FFE4LSB  ASCII HEX conversion

FF80/1   Byte count for programming  (FF80 FF81)

Keyboard read in (DB) 30  Bit 0 is grey key and Bit 1 is red key.

SSC serial transmission rate: 2400 baud 8 bits, 1 stop bit and no parity


Although my original idea was to create a programming device with a ‘universal’ interface, by the time I had made it work with the setting that I wanted to use, I never found the inspiration to incorporate all the facilities into the program that I’d probably never use! Thus the present revision of  program rests at V1.1 -   The firmware I have written I will be glad to forward to any other budding programmer, as long as they are prepared to accept it’s limited appeal in it’s current limited form!


Place a suitable 8K x 8bit  EEPROM in the programming socket BEFORE powering up the programmer.

As soon as the device is powered up, the usual initialisation routines are run to configure the 8530 serial comms chip, and to send the message ‘READY’ up the comms link to the terminal device which will download the finished program. The word ‘READY.’ Also comes up in the displays to show that the device has correctly booted.

Pressing the RED button should bring up the word ‘BINARY?’ as this is the only mode that works, press the GREY button to select. (The ‘Intel’ programming mode that comes up if the RED button is depressed a second time was never completed…)

After depressing the GREY button to select BINARY? Programming mode, the word: HEX: should show.  As soon as the FIRST byte of programming data is received by the programmer this will be altered to show:  HEX:0000     The value in this new field will increment by ONE for every byte of download program received. The value will be shown in four digit HEX notation.

As soon as the whole program has downloaded, the incrementing of the digits will cease (which permits the checking of just how large the program should be), the GREY button should be pressed to tell the programmer that the program download is now complete. The word DONE. Will be followed a second later by the word PROG?

Now press the GREY button to program the EEPROM, or the RED button to abort the programming session. If the GREY button is pressed the word PROG will be joined by the four HEX digits (plus one to show the actual number of bytes to be programmed) and the programming LED.

If the EEPROM programs without errors (the device runs a verify at the end of the programming session)  the word PASS will appear across the two displays and the programming LED will go out. If however,the device doesn’t program correctly, the word FAIL will appear instead.

Power down the programmer before removing the EEPROM.

EEPROM programmer close-up

Click on the  image below to bring up a full sized usable schematic diagram of the programmer:

Programmer schematic

Whilst it is most unusual for me to ‘nicely’ draw out one of my circuits, even this one is not without ommisions where I felt that there was no necessity for me to explain the finer details to myself! Thus it is that I have produced some additional information on the programmer, covering the following areas:



The RESET button

The programming delay

The user button interface

The crystal oscillator

The TTL to RS232 interface device

EEprom Program listing

Click for EEprom programmer program listing (Z80 code)

EEprom Wiring list

Click for EEprom programmer core wiring net list


Click here for a data sheet on a typical Xicor EEprom