> > Hi, > > I have been using the D. Tait 16c84 programmer for some time. I made 10 > circuit boards from AP circuits based on it -- I made some minor changes > -- PNP transistors in place of the 4066 (or whatever). I did the same. I replaced the 4066 with a couple of programmable LM317 circuits because I figured that I'd need to regulate the incoming DC anyway. I also posted the software to Linux and added a read function and a Motorola S-Record Hex loader. Pretty good for less that 1 week's work. > > Anyway, it works like a champ for the 16C84, but I thought it would also > be nice to program the 16C71. The specs seem almost identical, but > without a scope, I have had no success -- although my Parallax programmer > works fine with the windowed 16C71's I'm using. It's a software problem. The hardware is fine. I was just about to pull one of the engineering samples of the 16C71 and try to program it when reality hit me like a brick. The one difference between the '84 and the '71 is that the first uses EEPROM and the latter EPROM. The write to the EEPROM is self-timed. So for the 16C84 all you need to do is send a BEGIN PROGRAM command and wait for 10ms or more. That's why it's so easy to program. The '71 (and all the others that are EPROM based) you must start and end the programming in a timed manner. 100 uS pulses until the location programs and then a N * 100 uS pulse to over-program the location. No easy to get a PC to do reliably (especially in Linux where context switches happen every 10 mS) The solution is simple: Use a 16C84 as an interface between the PC and the programmer. It's probably less than 100 lines of assembly to get the core functionality of pp.c into an '84. One could even add a parallel/serial interface. In any case the control 16C84 can then issue the begin and end program commands for the 16C71's with almost exact delays between the two. Hope this helps, BAJ