I am a beginner at programming, but I am slowly making progress. I was wondering if someone would be able to help me out with what I believe to be a casting problem. I have attached a small program that is used to read inputs/outputs on an ISA card (home project kit). The program that is attached will compile for the original programmer but he used a different compiler ( I would like to stay with Microsoft Visual C++). I did find the correct way to use Sleep() on FAQ page and also the _inp statement. When I tried to compile this program I get 3 warnings which say "warning C4761: integral size mismatch in argument; conversion supplied". When I highlight the first line of code with a warning "return ((_inp(switch_port) >> (input + 3)) & 1) ^ 1; // yes, return using switch_port" and press the F1 key. I get directed to the "Return Statement" definiton. I thought that trying to change this line to " return ((_inp((int)switch_port) >> (input + 3)) & 1) ^ 1; // yes, return using switch_port " would fix the error but it didn't. Am I way off of course here? Any help with this problem would be greatly appreciated. Thanks again for the wonderful support that the users of this site give to everyone to help out others with their problems.