Parallel port: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
Combuster (talk | contribs)
added header to section. added stub tag.
Line 8: Line 8:
* LPT2: 0x278 (IRQ 6)
* LPT2: 0x278 (IRQ 6)
* LPT3: 0x3BC (IRQ 5)
* LPT3: 0x3BC (IRQ 5)

==Data Register==
==Using the Parallel Port==
{{Stub}}
===Data Register===
Address = Base Address + 0
Address = Base Address + 0


Any byte writen to this register is put on pins 2 through 9 of the port.
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.
Any read from this register reflects the state of the port.
==Status Register==
===Status Register===
Address = Base Address + 1
Address = Base Address + 1
==Control Register==
===Control Register===
Address = Base Address + 2
Address = Base Address + 2



Revision as of 02:46, 1 June 2008

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 or 25 pin varieties. 25 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)

Using the Parallel Port

This page is a stub.
You can help the wiki by accurately adding more contents to it.

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