So far I’ve been able to test the 6510 CPU using a NOP tester circuit on a breadboard, the 4164 DRAM chips using a £20 Arduino-based DRAM tester by Stephen Vickers, and the logic chips using my trusty TL866II+ EPROM programmer.
Which got me thinking. Is there an easy way to test whether the PLA I’d removed from my C64 was working or not. Like the MOS logic chips, these have a reputation for failing. Modern replacements are readily available, but it’d be nice to have a simple test to determine, for future repair work.
I was getting ready to breadboard a test circuit when it occurred to me that I may be able to test it using the TL866II+ EPROM programmer. Since around version 10.61 of the Windows software I’d noticed that it was possible to create user defined tests for logic chips. And as the C64 PLA is essentially a large combinational logic chip, I should, in theory, be able to test it in the programmer.
Either way, I’d need a logic or truth table to determine what the normal operation of the PLA is. Thankfully I found one online, in a copy of an article in Volume 6, Issue 5 of The Transactor Magazine.
Testing a Commodore 64 906114-01 PLA with a TL866II+
The PLA takes 16 inputs from various parts of the motherboard and produces 8 outputs, which are used to switch in RAM, ROM and devices in the 6510 memory map. Armed with this knowledge, I had a crack at converting the truth table to work in the Minipro software.
And that is entered into the software by adding a new row for each test, and setting the pins accordingly:
On the first attempt it failed. I’d forgotten to pull the OE pin low. This was fixed by setting pin 19 to 0 for all tests. I eventually got it to pass all 26 tests, with just one anomouly.
If you look back at my translation of the original truth table, you’ll notice on the 26th line I’ve highlighted the L for pin 18 in red. I could not get this test to pass. It didn’t matter if I marked it as H or L, so got around it by ignoring it in the test. I assume that output is floating for some reason, rather than being pulled up or down.
Anyway, I’m not sure whether this is an issue with the test, the PLA, or the original documentation. As the PLA has passed all other tests, I’m 99% certain that it is not an issue with the PLA, and will investigate that later.