At 06:05 PM 9/25/96 +0100, you wrote: >I am having some problems with the PIC16C620 and was wondering if anyone >else has had similar problems. > >Problem 1 > >Despite making sure that the CP bit was not set when I programmed them, >I now have 3 JW devices that have been erased but will not program >because the CP bit is now set. Ken, In all, there are 8 code protection fuses in a 16C620. EVERYONE of them must be left as "1" Due to my own little accident with a 14000, I can confirm that there are multiple code protection fuses and they are "ANDed" together. It is likely you are still programming one or more code protect bits. Examine your .HEX file and look for the config word line: :02400E00LLHH[xx csum] ^config word Ensure that bits 4,5,8-13 are ALL SET. If not, examine the __FUSES command in your source file. Make sure this expression leaves the above bits set high. If these bits are all high, then something is very wrong with the PS. > >Problem 2 > >I can program 620-JW and 620-04P devices on my PIC Start16B (firmware >2.0) but when I try to program SOIC 620's they will not program They >fail the verification as having all sorts of data which does not match, >but if you read the device it shows as being all 3FFF, if you then do >check blank it comes back and says the device is not blank. I am using a >DIL to SOIC adapter which is sold for PIC programmers and I have buzzed >out all of the pins and they are OK and go 1 to 1, any ideas. When this happens you should be looking for clues in what is programmed into the SOIC chip. Are the errors always on the same bits? If so this can tell you if there is poor contact or a short between pins etc. The difference between a read and a blank check is the time it takes to send the data to the PC. During this time, a floating pin may change state and give different results. I can't say it is happening in your case but I have seen it during development of my own programmers. -Jim P.S Can you let us know what the problem/s are when you get them sorted.