On 7/3/2006 at 10:07 AM Jules Richardson wrote:
Lack of power on the parallel port's a strange one
- I always found it
hard to believe that the implementors didn't forsee the use of the port as
a
general-purpose output port and provide it with a
couple of power pins.
It's not like there aren't several grounds available so that couple could
have
been given up for +5V pins.
Given the implementation of the port, I don't believe that any use beyond a
printer port was foreseen at the time of product release. The
implementation has some oddities about it, however (I'm talking about the
original IBM PC device found on the parallel printer adapter and the
monochrome display adapter).
If one looks at the original IBM PC BIOS listing, the printer port is
referred to in at least one spot as an 8255, which was not the way it was
implemented--but perhaps that was the original plan. The fact that the
output buffer on the original PC part (both on the parallel port printer
adapter and on the MDA) are tristate (LS374), with the tristate enable tied
to ground, essentially forcing the idea of unidirectionality (I know that
it's possible to drive the data lines low externally by application of
sufficient current, but it's hardly the way to run a railroad).
It's also curious that the 6-bit latch (LS174) used for some of the
handshaking pins has a free bit. I (and doubtless many others) found that
it was a simple matter to lift the tristate enable line and tie it to the
unused bit on the latch, giving full controllable bidirectional use of the
port. It's interesting that the PS/2 version of the parallel port did
exactly this; the bit used being identical in position and sense to the
original parallel port hack (probably a coincidence).
Regardless, it's pretty obvious that the "bidirectionality) of the parallel
interface was intended for self-diagnostic use more than anything.
If one needed +5, one could steal it by using a DC boost converter from an
unused logic high output or from the keyboard connection or, in the case
of later machines, a USB port.
Cheers,
Chuck