I sincerely thank everyone who responded to my query. Dan: Yes, I am using RB0 to indicate reception of a start byte. This is working fine with the 67, and I don't believe there's any changes to RB0 on the 877. Do you have any ideas? Olin: We are aware of the increased capacitance issue caused by the socket module. It has always caused trouble when emulating with the board resonator, so we are forced to emulate with the PC clock. I highly suspect that my 232 problem is timing-related. However, I am bewildered by the fact that this code works on the 67 (see postscript if interested) but not on the 877. Presumably whatever capacitance issues arise for the one should affect the other as well.... (BTW I'm aware that some of my initialization code is unnecessary -- I figured it couldn't hurt.) Jerry: I have done a close comparison, register by register, bit by bit, of the differences between the two processors. I believe all differences are addressed by my initialization routine. Thank you for the suggestion of randomizing variable initialization -- I'm proceding with that now. I have talked to Microchip and they suggested that this problem might be related to the silicon errata issue pertaining to TMR1 on the 877. TMR1 is not set to extermal clock mode in my application, so I have eliminated that as a possible candidate. If anyone has any thoughts or ideas I would love to hear them. A million thanks, Barnaby Thieme Product Engineer, SP Controls, Inc. (415) 642-2600 ext. 108 bthieme@spcontrols.com PS My method to test this code on the 16C67 has been to comment out the additional initialization code I added in service of the 877 and to substitute nop's so that code length would be identical. When this code is burned on a 67, it functions without any problem. -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.