I was contacted by an owner of a PP39 device programmer which showed no signs of life when powered on. The processor clock was running and the address and data buses were active but it did nothing. So that the area of the circuit with the problem could be narrowed down I created the initial version of PP3X test firmware for the Stag PP38 & PP39.
V1.0 transmitted a continuous stream of characters from the serial port but
it would show if the processor, EPROM and address decoding were working correctly.
V1.1 added a beep when powered on and then tested the static RAM and if this failed it would loop back to the start again otherwise it would transmit characters as before.
V1.2 added code to access the keypad and display and commands to test the paged data memory and dump the contents of the EEPROM.
V1.3 added tests for all four 8255A PPIs and reads from the relevant port continuously on failure to allow probing with an oscilloscope or logic analyser.
As the areas of the circuit tested are limited you are free to modify this firmware to add other tests if you wish.
The purpose of this firmware was to detect a fault which was causing the standard firmware not to run up. If the standard firmware is able to run and the keypad and display are useable the built in test features of that firmware can be used.
Download the zip file containing source and Intel hex.
If the Intel hex file is programmed into a fully erased 2764 EPROM the checksum should be 65C5
You will require a working device programmer to program a 2764 EPROM containing the firmware from the Intel hex file. The EPROM should replace the firmware in the base unit, any modules fitted can be removed as they are not currently needed.
If you wish to modify the firmware you will need to download a Z80 assembler, I used a version of TASM for DOS from the 1990s which you can download here tasm301.zip