On this page you find the schematics of the
programmer and some
adapters. As you can see the programmer consists of several TTL latches for storing address (IC1 and 2), data (IC 3 and 4) and control data (IC 5). Two bits (Q4, Q5)of the control-port are used to set the programming voltage. Q6 is used to control the direction of data and Q7 controls the lower/upper nibble selection of the LPT SPP-data input. That leaves 4 control-lines for programming signals to the 'programmee'.
All signals of the programmer end up in connector J2, and to this connector a device-adapter may be attached. At this moment I use 4 types: