I'am trying to program a PIC-processor (18F452) with a icsp circuit connected to the serial-port of a PC. I have written a program that can program the code-memory and read the data-memory but not program the data-memory. I'am following the description in the datasheet but I get only one of the bytes programmed, with the wrong value. I think that there can be something wrong the WR-bit check (the datasheet p. 17). I don't understand how to check the WR-bit. Should you read bits from the data-pin and abort when the bit is clear? I get only 0xFF. Do anyone have any suggestions?