Hi, I wrote an application for 16C711 and it has been tested and working fine. Now my company wants to 16C712 because it's cheaper. I used the same code but recompiled it to a 16C712 hex file. (BTW, I use Hi-Tech's PICC). But the new chip has some weird behaviors; some functions are working but some are not. It seems to me that I need to edit the code in order to migrate from 16C711 to 16C712. But I don't know what is needed even after I read the datasheets. I use basic functions only -- TMR0 interrupt, ADC read, digital inputs and outputs on PORTA and PORTB. Here are my settings: OPTION = 0b10000001; // disable PORTB pull-up TRISA = 0b00011111; TRISB = 0b11110000; ADCON1 = 0b11000010; // RA0,RA1 = analog; others = digital INTCON = 0; GIE = 1; T0IE = 1; T0IF = 0; It seems straightforward; it works with 16C711, but not 16C712. Apparently I missed something. What is it? Thank you for all the helps. Tony -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics