Port Address Translation or Port Access Redirection

Modern parallel port cards for either PCI, PCIexpress, and ExpressCard (via PCIe) have fixed port base addresses above 0x1000, e.g. 0x3008. You cannot set their address to one of the well-known ISA addresses 0x378 or 0x278. (Note the address 0x3BC is not capable for EPP and ECP.)

Some older software cannot use an arbitrary port address, and you run into serious trouble. For example, the well-known avrdude command-line chip programmer.

This program can redirect the port accesses for you, and does it universally for all known cases (DOS Box, Win16, Win32, VxD, other kernel-mode driver) in kernel mode.

The bad news: Currently, this software runs on Windows 3.1 (Enhanced Mode), 3.11, 95, 98, Me, NT 3.51, NT4, 2000. But not on XP and newer. Not on SMP machines. ECP and EPP parallel port extensions are not supported.

This program, written for a completely other purpose, has to be set-up as follows:

It is a 16-bit program, but you won't see that. It's open-source. Look at the nice screenshots below:

 
Screenshots for right program settings as port address translator

This kind of port access redirection is quite fast, so you can run high-speed parallel port devices like JTAG programmers and oscilloscopes, in opposite to the more amazing USB2LPT device.


Henrik Haftmann, last change: Tuesday, 17-Jan-2012 14:09:53 CET