When you input the 8-bit word using lines 300-460 of Figure 2, note that you also get the status of the outputs. If some I/O bits are used by the PPIO as outputs the status of the bits you read will tell you the status of the PPIO outputs. If PPIO output bit 0 is LOW then bit 0 of IB (the variable InputByte) will be HIGH (1). This can be used to check that the PPIO hardware is connected and is working properly. If, through a fault, a PPIO bit is shorted to ground then, when you read that bit it will be HIGH no matter what you output to the PPIO bit. If there are no shorts or inputs that are LOW on the PPIO pins then any byte you output should come back the same when you input.
A good way to test for shorts is by outputting a &HAA (10101010 binary) and checking to see that the input is the same. Then output a &H55 (01010101 binary) and check the input. This tests for both pin-to-pin shorts and shorts to ground. At the same time this tests that the PPIO is plugged in properly and you have the correct port selected. This will not work if any of the PPIO pins are connected to a device that is grounding or holding a pin LOW. If you have this problem you will have to ignore these bits when you read the port.
NOTE: If the PPIO is connected properly and the upper four outputs (4 - 7) are functional, but the lower four outputs (0 - 3) are not functional, the parallel port may be in ECP or EPP mode. It must be in “compatible” or “normal” mode for the PPIO to work properly. The mode of the parallel port can be changed in the BIOS setup by pressing either the F2 key or DEL key just after the computer begins the boot procedure.
B&B Electronics Mfg Co Inc – 707 Dayton Rd - PO Box 1040 - Ottawa IL 61350 - Ph 815-433-5100 - Fax 815-433-5104