I recall having similar problems when I was writing my programmer based on the uChip documentation, which indeed is wrong at this point. Someone on the piclist helped me out (I don't rememer his name), so maybe I can pass on the magic. I do not recall the correct command sequence itself, but the erase fragment in my WISP programmer is shown below. It uses some weird macro's, but I think you will be able to deduct the correct command sequence. When you have done so, do not forget to post it on picfaq/techref! Wouter command_program_erase ; remove protection move_const_via_w_to H'03', data1 move_const_via_w_to H'0F', data2 move_const_via_w_to H'0F', data3 move_const_via_w_to H'0F', data4 output_command_const H'00' call output_data move_const_via_w_to D'07', count1 increment_loop call command_increment decfsz count1, f goto increment_loop output_command_const H'01' output_command_const H'07' output_command_const H'08' call wait_for_target output_command_const H'01' output_command_const H'07' ; erase data memory call reset_target move_const_via_w_to H'00', data1 move_const_via_w_to H'00', data2 move_const_via_w_to H'0F', data3 move_const_via_w_to H'0F', data4 output_command_const H'03' call output_data output_command_const H'08' call wait_for_target output_command_const H'0B' output_command_const H'08' call wait_for_target return -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics