I built the PICPgm LVISP with a few modifications.
First, I only had a 7404 hex inverter chip instead of a 7405 hex inverter chip, so I used that. The 7405 is open-collector, the 7404 is push-pull (i.e., not open collector). Aside from that, I used a C series PNP transistor (C9015, high gain) instead of a BC series one (BC557, medium gain).
Still, the programmer was detected on Linux, but the PIC wasn't.
Autodetecting Programmer ...
Programmer: PICPgm LVISP Programmer
at /dev/parport0 (0x000)
Autodetecting PIC ...
No PIC detected!
So, I tried replacing the 4 hex inverters with 4 NPN transistors configured as inverting switches (input logic low produces output logic high and vice versa).
For reference, the CA3046 NPN transistor array is given below.
With this, even the programmer isn't detected. I'm not sure why what I have done isn't fooling PICPgm into thinking I have a PICPgm LVISP. Any ideas?