I looked at the circuit, and thought that the 8-bit latches driving 8-bit DACs could be replaced by much simpler I2C DACs. The Pin drivers could also be replaced by I2C I/O chips and buffers. They could all be driven by a USB-to-I2C module.

First step was to identify all the lines of C that used inportb and outportb functions, and wrap them in functions that would need converting to I2C commands.

I also had to update the C function descriptors to ANSI C, and create prototype functions. Not too difficult.

So I now have code that compiles (with many warnings) and runs (as far as displaying the menu).

I had to make dummy inportb and outportb and bdos functions that do nothing, of course.

Not more than a day's programming effort.

I then wondered if it was worth the effort of creating suitable hardware. 

The project only handles MMI chips, which is fine if buying them to program but limiting if trying to read all the possible PAL chips. The many types of PAL chips have been replaced by GAL16V8 and GAL22V10 chips, which ZAP-A-PAL can't handle. If security fuses are blown, which is likely, then ZAP-A-PAL cannot read the fuse maps. So you would have to have to work it out by recording and analysing the behaviour of the PALs, which ZAP-A-PAL can't do. You would need something like my logic-reader project, which is far simpler.

For this reason, I have shelved this project in favour of fault-finding and repairing my Dataman device programmer which can handle many makes of PAL chips.