Page 119 of the datasheet seems to imply that I have 4k of EEPROM space available: ... the EEADR and EEADRH registers form a 2-byte word that holds the 12-bit address of the EEPROM location being read. These devices (PIC16F685/PIC16F689/PIC16F690) have 4K words of program EEPROM with an address range from 0h to 0FFFh. The program memory allows one-word reads. ... So as a test I set EEADRH to b'00000001' and EEADR to 0x00, thinking that it should put the value in location 256, but it put the value in location 0. I'm pretty sure I've got the BANKSEL's correct since both EEADR and EEADRH are in the same bank. The code is straight out of the datasheet, but let me know if you'd like me to post it. Is there a trick to using the EEPROM above 255? (and if so, do you have any working sample code to do it? :-) ) Thank you for your help, DougM -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist