Can I use a DOS executable written for an ISA PIO card with a KPCI-PIO24 or KPCI-PIO96?
Can I use my DOS executable for a PIO card with a KPCI-PIO24 or KPCI-PIO96?
Yes, but only within certain limits.
A typical scenario is a program was written many years ago using a compiler for DOS that used an ISA digital I/O card such as the PIO-12, PIO-24 or PIO-96J. The program used inp and outp statements to directly access the registers of the PIO card. The address of these registers is controlled by a base address switch on the card.
The PCI equivalents of these cards have a significant design difference: they are memory mapped not I/O mapped. This means the address of the cards internal registers are at high 32bit address locations. DOS programs that used inp or outp statements can not address these memory locations. The analogy would be that a 4 foot step ladder used to be adequate, but now you need to be able to safely reach 500 feet in the air. Clearly, new tools are required.
The DriverLINX driver for the KPCI-PIO24 and KPCI-PIO96 provides a method however: the I/O Emulator. To use the I/O Emulator, you must be running Win95, Win98 or WinME. First install the DriverLINX driver, then install the board into your system. Verify correct performance using the AIOPanel test application. Then install the I/O Emulator by running the 'Add New Hardware' Wizard. See pages 28 - 33 of the kpcipio.pdf for more detailed instructions. This document is located in \drvlinx4\docs\notes\ folder if the "Documentation" have been installed from the DriverLINX CD.
Configure the I/O Emulator to use the same address range as the ISA board had been using (base address switch). If your ISA card had a base address of 300 (hex value), then assign this value also to the I/O Emulator.
Any software that makes inp or outp calls to these addresses will be intercepted by the I/O Emulator and routed to the memory addresses of the KPCI card. Your DOS executable will now be able to access the ports of the KPCI card.
This I/O Emulator does not work in WinNT, Win2000 or WinXP.
FAQ ID 71981すべてのFAQを表示 »