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

entry LPT3 (if there are that many). The DOS device "PRN" is really
software alias for another port, by default LPT1; use the MODE command to
change this aliasing. The following table has "typical" assignments.

Note that by swapping the entries in the BIOS table at 0x408, you can change
which physical ports are assigned to LPT1, LPT2, etc. Several "printer
swap" programs do just that.

Typical Assignments

Addr MDPA no MDPA
0x3BC LPT1 n/a Monochrome Display and Printer Adapter (MDPA)
0x378 LPT2 LPT1 Primary Printer Adapter
0x278 LPT3 LPT2 Secondary Printer Adapter

Name MDPA no MDPA
LPT1 0x3BC 0x378
LPT2 0x378 0x278
LPT3 0x278 n/a

4. Registers addresses within the parallel printer port:

Port R/W IOAddr Bits Function
---------- ------ ----- ----------------
Data Out W Base+0 D0-D7 8 LS TTL outputs
Status In R Base+1 S3-S7 5 LS TTL inputs
Control Out W Base+2 C0-C3 4 TTL Open Collector outputs
" " " C4 internal, IRQ enable
" " " C5 internal, Tristate data [PS/2]

Data Feedback R Base+0 D0-D7 matches Data Out
Control Feedbk R Base+2 C0-C3 matches Control Out
" " " C4 internal, IRQ enable readback

The Feedback registers are for diagnostic purposes (except in bidirectional
ports, where Data Feedback is used for data input; and the IRQ enable C4).

5. Pin signals and register bits

<= in DB25 Cent Name of Reg
=> out pin pin Signal Bit Function Notes
------ ---- ---- -------- --- -----------------------------
=> 1 1 -Strobe C0- Set Low pulse >0.5 us to send
=> 2 2 Data 0 D0 Set to least significant data
=> 3 3 Data 1 D1 ...
=> 4 4 Data 2 D2 ...
=> 5 5 Data 3 D3 ...
=> 6 6 Data 4 D4 ...
=> 7 7 Data 5 D5 ...
=> 8 8 Data 6 D6 ...