Ha ha! Absolutely amazing. Congratulations!
intric8 wrote:Is there any risk of harming the original PALs by trying to read them?
In other words, let's say the code transfer fails with new chips. Will the original PALs be safe to reinstall to the vintage Rejuvenator and still be OK for use? I'd hate to trash the original chips in the process.
Let me preface by saying I am, by far, NOT an expert on this topic; just sharing my personal experiences in decoding a single unit. My project showed that there was no risk. I attempted read, failed, and repeated dozens and dozens of times, and it still works today. Want a longer answer?
Everything has risk. Just pulling the PALs from their sockets has a small amount of risk. Luckily, yours are actually in sockets. Mine was soldered to the board, so you're already in a better position than I. That's good.
The individual handling the process needs follow good grounding techniques. I mean, we don't want to be cleaning the legs of the PAL on a cat or something. Also, the programmer needs to be set correctly for the chip. You wouldn't want to apply too high of voltage, or voltage to the wrong pins because the programmer was set for an incorrect part. By the same token, orientation in the programmer is very important. These are elementary precautions, but good to be aware.
Since I had never tried reading a PAL before, I firstly needed a programmer. I settled on the TL866CS, which reportedly has pretty decent PLD support, and there is a whole thread about it on the eevblog. More research detailed that although PAL16L8 isn't listed specifically as one of the "supported chips", the newer(-ish) GAL replacements are read/write compatible. (GAL16V8 and GAL20V8)
So, I tried reading several "expendable" PALs off of a Macintosh SE/30 motherboard. I also ordered some GAL16V8s from eBay and practiced reading, writing, and verifying before trying it all out on my prized possession. I read the PAL16L8 from the Mac, wrote it to a GAL16V8, verified it with the programmer, and popped it into the Mac. It worked! It was happy days until I finally got the courage to try and read the PowerCache chip. This when I found out about the protection fuse... (BOO!)
After reading the chip, the software will show a screen of the contents. If it is filled with all ones, then the protection fuse is blown, and you have a long road ahead. If you have a smattering of 1s and 0s, then you are golden. Save the array as a JEDEC file. You can now burn this to a new GAL16V8 (or GAL20V8 for the bigger guys) and use that part in place of the original.
Like I said, the PowerCache PAL was protected-- every read attempt provided an array of solid 1s. I was very sad. But I can tell you after trying to read it dozens of times in two different programmers, it still worked. Even after trying it in Charles' adapter many more times, it still worked. And even after clipping 16 leads from my logic analyzer to the pins many times over several months, it still works. I will say they're pretty damn hardy.