tait software eprom
I have not tried it, but I built a PIC programmer of my own, before actually building an ICD-2 clone.
Basically, the PIC's need 5V for power and 13V applied to the /MCLR pin for programming. After the part is put into programming mode by a special sequence, the data is shifted in serially on PGD, while PGC is the clock. For verification, the data is shifted out the PGD pin, with PGC still acting as a clock.
For older parts (with C in the middle), you also need to supply two commands: start programming and stop programming (spaced at 100ms) to actually program a word. When all it's said and done, you program the configuration word.
For more info and another similar programmer, check out appnote AN-589 from Microchip. The Tait programmer looks clean to me. It will work. ONe thing I would change is the 13V supply. I know PIC's are notorious for refusing to enter programming mode if the 13V is too low. So I would either use a pot instead of the diodes (or perhaps a small one in series with them), or better yet use an LM317L with a pot, so you can adjust accurately the 13V. That is what I have found in my experience.
Other than that, the algorithm is not that complicated.
Does Tait provide the software that goes with this programmer? AN-589 does provide code, but it is DOS-based (it's old) and I don't think it supports F devices. Personally, I built the ICD-2 clone, which works only on F devices, but this is what I use anyway. The schematics and code for the ICD-2 clone can be found on this board. Just search on that. I have to warn you, it uses a PIC16F877 or PIC16F876A, depending on the version. Anyway, you will have to program this PIC before you can use the programmer, so you need to ask someone for help.
However, the nice thing about it is that once you build it you can actually use it with Microchip's MPLAB IDE software, so new devices will always be supported, all you have to do is update your free MPLAB IDE.
Here is the link to appnote AN-589 **broken link removed**
The code is written in C.