Hi Bryan, > We've been selling a product based on a 16C57 for a couple of years. > Suddenly the same code fails to run properly. But it's more weird than > that. The old code, when burned into an eraseable device works fine, but > not in the OTP parts. Have you tried NEW JW parts with the same date date code as the OTP parts that won't work ? > Did I hear than Microchip had changed the die on these parts a few months ago? Dunno. > We're using the PIC to output address data to a 27C010 Eprom. The addresses > get clocked out okay on ports RB and RC, but all output bits on RA seem to > get set to zero at the very end of the sequence in OTP parts, but NOT in > eraseable parts. In debugging, I've explicity set RA.2 to 1, but it goes to > zero anyway as if the code were shutting down before it finished the loop. Is the watchdog kicking in early, try and disable it completely in the programmer for a sample chip and see if this copuld be the problem. The process variations for the WDT are very loosely characterised and you may be working at a optimistic point especially since you indicate the fault occurs at the end of a long function. Also the chip might have supplemental Brownout stuff that is more sensitive to power dips. Cheers -- Kalle Pihlajasaari kalle@ip.co.za http://www.ip.co.za/ip Interface Products P O Box 15775, DOORNFONTEIN, 2028, South Africa + 27 (11) 402-7750 Fax: 402-7751 http://www.ip.co.za/people/kalle DonTronics, Silicon Studio and Wirz Electronics uP Product Dealer