From what
I've seen in the spec sheets, one would just use
a slightly modified 2716 socket of any machine. A few lines
of code should be enough. No special voltages, just special
sequences. All easily handled in software.
My recollection is that the 2716 needs something like 21V or 26V on
the programming pin. As for a modified socket, I have an old "Z-80
Starter Kit" SBC that happens to have a built-in EPROM programmer on
one of the three ROM sockets. There's a toggle switch to disconnect
the programming voltage, but once enabled, you simply write to the
address range of that EPROM socket, and after the data are presented
to the ROM, the circuit wiggles the programming pin to write the
EPROM.
It would not be difficult, in principle, to add this feature to, say,
one of the empty ROM sockets on a PET, especially if you had an
external benchtop power supply injecting the programming voltage
(rather than generating it inside the PET housing).
It's not *quite* that simple - for the standard (slow) algorithm, you
need to hold the data/select for an extended period of time - IIRC
something line 50us. Normal selects won't last long enough, although
one could construct a wait generator that would do it. If you can hang
a socket off parallel I/O ports, you can do it no problem.
For faster algorithms, you typically run the VCC rail at a higher than
normal voltage to raise the threshold of the internal comparitors, then
hit it with shorter (but still long in terms of a normal access) pulses,
checking in between each one to see if it's progammed.
--
dave06a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools:
www.dunfield.com
com Collector of vintage computing equipment:
http://www.classiccmp.org/dunfield/index.html