If the user changes values and within a second or so the power fails the actual change might not be relevant or even safe to use on restart of your application, a good reason to wait till the last value has been stable for seconds before copying from ram working values to eeprom. If you do not trust the written values are finished being written to eeprom use two copies , alternating between them and make your last write operation the bit that determines which of the two copies is current. as a last safeguard a simple checksum byte should do. Peter van Hoof ------------- > Looks like I need to integrate the EEPROM routines more fully into the key > reading routine. > > I thought I had already taken care of the auto-repeat problem by using > 'working' registers which are then copied to EEPROM after the user has > finished updating the values. I was obviously worried about the time lag > and possible corruption using this method, hence my original question. > > The values are live in that they are needed to be used by other > routines and > are also shown on a display. Because of the relatively long write time of > the EEPROM I cannot see an easy way to work directly with values stored in > EEPROM. Am I missing something fundamental? > > > David