Parallel port

From OSDev.wiki
Revision as of 13:57, 23 March 2008 by osdev>Lukem95
Jump to navigation Jump to search

The parallel port uses a sub-d 25 connector to provide a 8-bit data bus. It is commonly used by printers. There are 3 kinds of parallel ports: Standard Parallel Port (SPP), Enhanced Parallel Port (EPP) and Extended Capabilities Parallel Port (ECP). iirc they are all part of IEEE Standard 1284, or is it just the second two?

Pin types

Most parallel ports come in either 36, 25 or 9 pin varieties. 25 and 9 pins being the most common.

Registers & Common Address

Common base addresses are:

  • LPT1: 0x378 (or occasionally 0x3BC) (IRQ 7)
  • LPT2: 0x278 (IRQ 6)
  • LPT3: 0x3BC (IRQ 5)

Data Register

Address = Base Address + 0

Any byte writen to this register is put on pins 2 through 9 of the port. Any read from this register reflects the state of the port.

Status Register

Address = Base Address + 1

Control Register

Address = Base Address + 2