portAval gets a value assigned to it once it goes through the loop, so I can tell if the state of the port changes. So the first time through the loop, yes, portAval = 0, which it should. Also, the first time through the loop, the program spits out serially, the values of the input ports. This is fine for my use.

All the program really does is sense the input pin changes and when a port changes value it spits out a serial string reflecting an ID code for the chip (from port e), a letter telling which port changed, and the value -easy.

port e will have a set of DIP switches attached to it that will tell me which chip out of 8 is sending the code.

I could have assigned it a value earlier in the code, but for all intensive purposes, it would not serve any functionality. In my app, the ports are going to read 0 about 99.9% of the time at power-up.

However, I'm still occasionally experiencing the quirk where it when it compiles it saya 'tokens on end of line', etc. If I put it on PMASM setting, this doesn't happen... oh well. Once I get it to compile, and put it on the chip the code works great.

I may try giving meLabs a call, although at this point it's really just an annoyance problem and I have a working product going out the door, it did cost me several hours of development time and few select words being spoken. I went through another situation where I had three of the same 16F877A's and they all ran differently, so I was reliving that nightmare too.

Thanks everyone!
J.-