LAVA: Forums

Full Version: Understanding Parallel Port Addressing
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
There are three hexadecimal addresses commonly used for parallel ports: 0x03BC, 0x0378, 0x0278. These are absolute addresses and fixed in memory.

They can be distinguished from the “logical” addresses accessed by users and many programs (i.e. LPT 1, LPT 2, LPT 3). These logical addresses can be interpreted as “1st Line Printer, 2nd Line Printer, 3rd Line Printer,…”

Consequently, one cannot have a “2nd Line Printer,” without having a “1st Line Printer.” (i.e. You can’t get an LPT 2, unless you already have an LPT 1).

At boot-time, the system’s BIOS automatically checks the three FIXED HEXADECIMAL ADDRESSES mentioned above, and arbitrarily assigns the LOGICAL ADDRESS of LPT 1, LPT 2, LPT 3, if parallel port(s) are found at any of those addresses.

The FIXED HEXADECIMAL ADDRESSES are checked in descending order (i.e. 0x03BC is checked first, 0x0378 is checked second, and 0x0278 is check third).

If port(s) is/are installed at the following addresses:

FIXED ADDR produces LOGICAL ASSIGNMENT
0x0278 only ...................... LPT1
0x0378 only ...................... LPT1
0x03BC only ...................... LPT1
0x0378, 0x0278 ................. LPT1, LPT2 (respectively)
0x03BC, 0x0278 ................. LPT1, LPT2 (respectively)
0x03BC, 0x0378 ................. LPT1, LPT2 (respectively)
0x03BC, 0x0378, 0x027h ...... LPT1, LPT2, LPT3 (respectively)

Since logical addressing is arbitrary, particular operating systems will deal with the addressing schemes in different manners. For instance:

Certain versions of UNIX will assign logical addresses LPT 0, LPT 1, LPT 2.
DOS/Windows 3.1x will usually conform to the outline above.
Win-95, Win NT will usually conform to the outline above, BUT if a parallel port of a higher FIXED HEXADECIMAL ADDRESS is added to an existing system, Windows might assign the new port the next logical address, rather than re-assign established logical addresses.

Eg. Jane has a computer with Windows 95 installed and a built-in parallel port residing at 0x0378. She buys a LAVA Parallel Bi-Directional card at the local computer shop, configures it for 0x03BC, and slips it into her system. When she runs the Windows-95 Add New Hardware Wizard, it automatically detects the LAVA port configured as 03BC hex and assigns it the logical address LPT 2.

However, since the assignments are arbitrary, Windows might not perform as expected. It is always best to adjust any settings (via DEVICE MANAGER) to conform with the table, above.

Applies to:
- 2SP-550
- Parallel Bi-Directional
- Parallel-ECP/EPP

faq-17112011b