Just to add my 2 pennies to this discussion, I had a problem with a so-called universal programmer of commercial origin. A particular line of EPROM's I was trying to program had high failure rates when it came to the verify cycle. I kept the chips that had failures and one day when I had some spare time (or it might have been that we were running out of chips and I desperately needed some) I got stuck in to investigate the problem. It turned out that the programming pulse waveform was nothing like the timing WRT the other waveforms that the datasheet called out. I ended up building a little circuit on matrix board using some one-shots that timed according to the data sheet, and an address counter so I could copy from one EPROM to another. The result was I could now verify the "faulty" devices as good. It appeared that the original testing worked OK on the devices they had tested with, but a process change by the EPROM manufacturer meant that the waveforms had to be followed exactly for correct programming of newer batches. It is this sort of problem which plays havoc with any attempt at a hobbyist universal programmer, as it is always "someone else's design" that needs fixing. Witness the problems some people are having (as reported on this list) with the 16F84A chips compared to 16F84 chips. -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu