Hi all, I have been around this loop before myself. If you need to know what type of port your card is set to in HARDWARE, I have a program you can run to find this out. Watch out though, because there is probably some jumper you can change to alter the appearance of the port. If anybody wants this program, please drop me a mail (brian.clewer@telematics.com). The program also turns all the available pins to inputs and if you ground the port pins you can see them go to a zero on the screen. The next thing you need to do is set the type of port to a bi-directional port. Here is how I have done this: control = (0x20); /*This sets the TYPE of port*/ outport ( 0x378 + 0x402, control ); /*to a BI-directional port*/ where control is just an integer and 0x378 is the port address. Next is the data direction: control = (0x24); /*this sets the data direction to input */ outport (0x378 + 2,control); /* '' '' '' */ You should now be able to read the port by using the inport command. A code example of this (and more) is on my web site http://www3.mistral.co.uk/brian.clewer/ Regards, Brian.