"Interfacing the IBM PC parallel printer port" - читать интересную книгу автора (Stewart Z.)

S5+ 12 <= 7 D5 direct
S4+ 13 <= 6 D4 direct
S3+ 15 <= 5 D3 direct

C0- 1 <=>* 1 C0- direct
C1- 14 <=>* 14 C1- direct
C2+ 16 <=>* 16 C2+ direct
C3- 17 <=>* 17 C3- direct

Gnd 25 === 25 Gnd (ground)

* Note: Control Out bits on receiver set high (including inversion, ie:
C0,C1,C3=0; C2=1). Control feedback on receiver can read control out from
sender. Can use some lines each way, and could switch C0 - C2 and C1 - C3
for symmetry if we want two lines each way, or other variations.

Mode 2: 8 bits, using bidirectional parallel port

This version works only with bidirectional parallel port whose Data Out
can be tristated; the receiving side must tristate its Data Out port to
use its feedback register as an 8 bit input port.

Side 1 Pin dir Pin Side 2 connection
------ --- --- --- ------ ----------
D0 2 <=>* 2 D0 direct
D1 3 <=>* 3 D1 direct
D2 4 <=>* 4 D2 direct
D3 5 <=>* 5 D3 direct
D4 6 <=>* 6 D4 direct
D5 7 <=>* 7 D5 direct
D6 8 <=>* 8 D6 direct
D7 9 <=>* 9 D7 direct

C0- 1 => 13 S4+ inverted
C1- 14 => 12 S5+ inverted
C2+ 16 => 10 S6+ direct
C3- 17 => 11 S7- direct

S4+ 13 <= 1 C0- inverted
S5+ 12 <= 14 C1- inverted
S6+ 10 <= 16 C2+ direct
S7- 11 <= 17 C3- direct

Gnd 25 === 25 Gnd (ground)

* Note: bidirectional cards only; receiving side must tri-state with C5=1

If a two bidirectional ports are left connected in this fashion, and they
are both enabled (eg: after powerup or reset) with different data outputs,
then the 74LS374 driver chips could be "fighting". Just to be careful,