Hi again, I have solved my problem with suddenly not being able to program the EEPROM in my 16F877 with the ICD. It seems that firmware v2.30 that comes with MPLAB 5.20 is broken. Actually MPLAB 5.XX has the EEPROM functionality broken in a number of ways. Now you can't see data that is changing inside the chip, just what is in the buffer to be written to the chip. I used to be able to single step through a small routine to clear the internal EEPROM and watch it do exactly that from the EEPROM window of MPLAB. That no longer works at all. To make it worse I recently upgraded the firmware in my ICD to v2.30 and had not noticed that it no longer writes to the EEPROM at all. Of course you wouldn't know unless you specifically do a verify, or like me, stumble onto it when your program crashes. It also seems to no longer be able to clear the EEPROM when you ask it to during a program cycle. Anyway, either my ICD is shot to hell, or (more likely) some weird crap has gone wrong with MPLAB 5.XX and the EEPROM functionality lately. Please someone prove me wrong before I start flaming Microchip... :-) David -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.