The following information is provided as is, and the authors take no responsibility for the correctness.
A parallel port is a type of socket found on personal computers for interfacing with various peripherals. It is also known as a printer port or Centronics port. The IEEE Standard 1284 standard defines the bi-directional version of the port.
Traditionally IBM PC systems have allocated their first three parallel ports according to the configuration in the table below.
| PORT NAME | Interrupt # | Starting I/O | Ending I/O |
|---|---|---|---|
| LPT1 | IRQ 7 | 0x3bc | 0x3bf |
| LPT2 | IRQ 5 | 0×378 | 0x37f |
| LPT3 | IRQ 5 | 0×278 | 0x27f |
If there is an unused LPTx slot, the port addresses of the others are moved up. (For example, if a port at 0x3bc does not exist, the port at 0×378 will then become LPT1.) The IRQ lines, however, remain fixed (therefore, 0×378 at LPT1 would use IRQ 7). The port addresses assigned to each LPTx slot can be determined by reading the BIOS Data Area (BDA) at 0000:0408.
Bit to Pin Mapping for the Standard Parallel Port (SPP):
| Address | MSB | LSB | |||||||
|---|---|---|---|---|---|---|---|---|---|
| Bit: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| Base | Pin: | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
| Base+1 | Pin: | ~11 | 10 | 12 | 13 | 15 | |||
| Base+2 | Pin: | ~17 | 16 | ~14 | ~1 | ||||
~ indicates a hardware inversion of the bit.
| Parallel Port Complete, by Jan Axelson. Programming, Interfacing & Using the PC’s Parallel Printer Port. ISBN 096508191-5 |
| Programming the Parallel Port, by Dhananjay V. Gadre. Interfacing the PC for Data Acquisition and Process Control. ISBN 0-87930-513-4 |