Hello, I am working on a PIC16C84 programmer for Linux. So far things have been going prety well, but this eveing I have run into a small problem. When I read back the fuse and ID data I have programmed it is zero! Programming and reading all of the data memory, and eeprom memory works just fine. I have even built a distinctive ring switcher and used it for several months with no problems. I just added ID and fuse verification to the program, so this problem has probably always been there :> The method for programming ID is somewhat confusing in the PIC16C84 programming specs. It says to do a load config command, and then a program cycle, etc. The way I do things is like this: Load Config command send 0x3FFF to pic load data (0x02) command ID data program command Read data command(0x04) If the data is wrong, I re-try up to 25 times. then loop for 3x the wrong count: load data command ID data program command Increment address finally! Do this for 0x2000-0x2003 Skip over 0x2004-0x2006 load data command send fuse data read data command if bad, print error message end of program routine. Can anyone see a problem with this sequence? This follows the diagram on page 4 of the 16C84 programming spec. Thanks, Brian ------------------------------------------------------------------------------ "Everyone is a prisoner holding their own key." | finger blane@seanet.com -- Journey | PGP 2.6 email accepted ------------------------------------------------------------------------------