Now I *am* truly pulling my hair out. After finding that the on-board oscillator on the 14000 varies considerably from chip to chip, I rewrote my synchronous serial port code to establish its timing from the on-board clock calibration constant. I've got the serial output going on on pion3 of PORT A, and that's the only pin of PORTA I'm using. The serial pin writes to a 9600b serial LCD for debugging. I wrote a function putch() to output a character, and putstr() to dump a string. It all works absolutely perfectly in the test main() I put together, but when I plug the functions into my real application code, it works 1 in 20 times (of applying power). When it doesn't work, the pin just goes low and stays there. I'm definitely not tromping TRISA or anything in the rest of the code, and I've been trying to fix this for three days now... -Will "Life is a meritocracy"