Hi John, > If I change the register manually in the EEPROM window of MPLAB, write the > data and then read back the data (using program and read) the register > does change, so I assume there must be a problem with my code. Perhaps there is nothing wrong with your code. I assume you did your test this way: setting a break point after the writing routine, and check the result in the EEPROM window. But do you know that the window won't reflect to the previously writen data. You have to right click on that window and click "refresh"... Are you falling into this? WH Tan _______________________________________________ http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist