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 | 0x378 | 0x37f |
| LPT3 | IRQ 5 | 0x278 | 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 0x378 will then become LPT1.) The IRQ lines, however, remain fixed (therefore, 0x378 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 |