Microchip says to remove the CP bit and erase a 16C84, you Load the Config image with bit 4 set, Send a command 1, a command 7, a command 8 (program), delay 10ms, then send command 1 and 7 again. What does command 1 and 7 do? Anyone know? The reason I am interested, is my programming software (homebrew) is acting funny. Doing the previous sequence erases the program memory but not the data memory. If you load something other than all 1's in the config register, the PIC writes that value to all memory. Also when I program my fuses, it seems to shift the PC over by one each time I program (that is I start reading from location 1 instead of 0). Very odd. I suspect I am not shifting out commands properly, but I can't prove that as yet. The high-level stuff is OK because using a different driver for LudiPipo-style interface works great. But my custom hardware and driver seems to work fine except for the erasure of data memory and the upset when programming the fuse word. Anybody see anything like this before? Regards, Al Williams AWC *Solderless Stamp Prototypes at http://www.al-williams.com/awce.htm