Here is a modified LudiPipo Serial Port PIC Programmer that has been used to programme the 10F204, 12F675, 16F628, 16F676, 16F876 and 16F877 chips.
This programmer is Essential when experimenting with PIC. Programs PIC16Fxxx and PIC18Fxxxx series (8, 18, 28 and 40 pins)
Universal device programmers and gang programmers.
Microchip PIC Programmer
for engine in motion.