[comp.sys.ibm.pc.hardware] protocol for half-duplex traffic on PS/2 bidirectional parallel port?

andrew@frip.WV.TEK.COM (Andrew Klossner) (11/06/90)

My group makes Postscript printers, which communicate with the host via
RS-232, Appletalk, or a parallel port.  When using the first two ports,
you get two-way communication; a Postscript program (executing on the
printer) can write information to the port to be read by the host.
This is not true of the parallel port, which for the printer is
input-only, because the first few generations of PCs could do only
output on their parallel ports.  But the parallel port provides the
fastest path to the printer.  This means that the user can configure
for two-way printer communication, or for high speed printer output,
but not for both.  This is frustrating.

The PS/2 features a bidirectional parallel port, and we would like to
exploit this with a future printer.

The problem is that this port is not full-duplex.  The PS/2 software
must set a bit to indicate whether the port will do input or output.
The eight data lines and the strobe line are bidirectional.  So, unlike
a serial port, the parallel port must be switched to "input mode"
*before* any input is sent from the printer to the host.

It seems to me that a simple protocol is required to enable the PS/2
and an external device to exchange messages.  As a stupid example, the
printer might put some magic value on the five input status lines to
tell the host that it wants to send input.  The host would configure
the port for input, then put a magic value on the three output lines to
tell the printer to go ahead.  The resulting communication behavior
would be similar to that of the half-duplex serial ports that saw
widespread use in the 1960s and early 1970s.

I am not encouraged by the fact that the PS/2 BIOS document states that
the parallel input function is "reserved."  Apparently IBM has not yet
addressed this problem.

Has such a protocol been defined?  Does anyone, anywhere, actually use
the PS/2 parallel port to do bidirectional communication?  I'd be
grateful to hear any details.

  -=- Andrew Klossner   (uunet!tektronix!frip.WV.TEK!andrew)    [UUCP]
                        (andrew%frip.wv.tek.com@relay.cs.net)   [ARPA]

dherity@cs.tcd.ie (Dominic Herity) (11/12/90)

It is possible to run a PC serial port at up to 115,200 baud. This works
on even an old XT. Although this capability is 'unofficial', the official
story being a 9600 baud limit, it is a more straightforward proposition
than doing a protocol on a parallel port, which won't work on old
hardware.