>I am sorry, I did not follow very well what you said, appears to me that >in case of eeprom writing problems, you still have problems anyway. If >the ID byte is recorded in failure, how can you recognize what is right >or wrong? Each of my 8 records includes a 16 bit CRC. I try to detect bad eeprom 2 ways - after I have written a new record, I read back the data and ensure that it is correct. If I detect an error, I map in a new block of eeprom and re-write the record. Upon power-up, I check the CRC of each block to ensure that the sequence number I am about to get is valid. If it is not valid, I assume that system power died before that block could written and that I have lost that record. The record before the bad one should be the newest - the bad record becomes the next to be over-written. This should be quite unlikely - I've got enough reserve power stored in capacitors to ensure that I could finish at least 5 complete block saves. But its a problem that I can detect and deal with, so I will. Thanks to everyone for their help and insight. The answer seems pretty simple now - because the records are always written in sequence, just look for the discontinuity that always has to occur after the newest record. I'll post code after its been written and tested. Many thanks! dwayne Dwayne Reid Trinity Electronics Systems Ltd Edmonton, AB, CANADA (780) 489-3199 voice (780) 487-6397 fax Celebrating 15 years of Engineering Innovation (1984 - 1999) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Do NOT send unsolicited commercial email to this email address. My posting messages to Usenet neither grants consent to receive unsolicited commercial email nor is intended to solicit commercial email.