>> Most recent stuff has been written C. Here's a typical set of eeprom >> functions: More for completeness than instant usefulness - Note that some products which use such guard sequences may have quite a tight permitted time window between the first and last magic write. A suitably slow high level language [tm] such as a tokenising or interpreting BASIC (a la STAMP, PICAxe, and similar *) MAY exceed the maximum allowed window. Also, the unawares may add some other code inside the sequence which causes timing to be exceeded, even at machine language speeds. The incredibly clever and/or unlucky may have interrupt calls occur during the sequence thereby discombobulating its efficacy semi randomly and invisibly. For extra points perform the data writes without checking the error flags so that you get occasional random apparently corrupt data bytes*. Running IRQ free during such actions (which no doubt the manual advises) is 'wise'. * Only "apparently corrupt", as there is nothing wrong with them as they were previously validly written - they just aren't what's meant to be there :-). (Pseudo random occasional non data generator. YMMV. * Languages where this is an issue almost invariably have EEROM handling routines included as standard, thus overcoming this issue. Russell McMahon -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist