I want to thank Bruce Abbott for his work on atfblast.
I had a system that had a National Semiconductor GAL16V8 manufactured week 6 1993 let out the magic smoke on Friday before the Christmas holidays.
I built the minimal programmer, with pulldown resistors on the I/O's to support the GAL chip.
I then programmed a Atmel ATF16V8B with a dump pulled from a similar system, but it did not work because of a hardware difference (three mod wires not existing in the schematics I could get for this ancient system).
Finally I got a reply from the manufacturer of said system after the Christmas holidays, lo and behold they had a dump saved with a date code of 1992 and it worked
I was doubtful at first because the code looked very different, but atfblast seemed to handle the extra padding zeroes without complaining at all.
I attached the dump received and how atfblast read it after being programmed to the Atmel chip for the curious.
I did run into an issue though, atfblast 3.1 lists compatibility with: Windows 3.1/95/XP
However it failed to read anything on both a Windows 2000 desktop machine, and also a Thinkpad T40 running Windows XP SP3.
After some Googling I saw that on an
older version of Bruce's website there is a file called "ATFBlast_ALL.zip" that contains a user mode program for LPT port access called "UserPort"
This allowed atfblast to work well on the Windows 2000 machine but not the Windows XP machine.
I later found another such program called "AllowIo" it's website is dead but you can also
reach it here on archive.org
That program worked fine on the Thinkpad running Windows XP, I have attached the two usermode programs here in case they will be hard to locate in the future.
Note that a few
posts back user "marinovsoft" posted a version with proper I/O handling for Windows NT based kernels, however it is the galblast version that lacks support for Atmels GAL chips.
The Perl version linked above by PCB.Wiz is probably useful, but I gave up before I could get Perl-Tk installed in Windows.
It's probably trivial in Linux however but I could not be bothered to boot my Linux machine up to test, mainly because it's physically located in such a way that plugging in the programmer would be difficult