Commodore PLA: The breadbin killer

Last Updated on June 23, 2024 by Dave Farquhar

The Commodore PLA is one of the most problematic ICs in the Commodore 64. Even in the early 1990s, Commodore parts dealer The Grapevine Group estimated 50% of dead C-64s were due to a bad PLA. In this blog post, we will explore what the PLA was, and we’ll investigate the gremlin that lurks inside some PLAs but not others.

The chip that gives the C-64 a full 64K of RAM

Commodore PLA
The Commodore PLA chip at U17 (top left) is the single most problematic chip in breadbin-style C-64s.

The PLA, the chip at position U17 on C-64 breadbin motherboards, was the Commodore 64’s internal traffic cop. The 6510 CPU in the Commodore 64 can only address 64k of memory. This was more than just RAM. ROM needs memory address space, and so do I/O chips.

If you’ve ever wondered why the IBM PC has a somewhat odd and arbitrary 640k memory limit, it’s because of the same issue. The 8088 CPU can address 1 megabyte of memory, but IBM needed room for its BIOS and add-on ROMs too, so they reserved the upper 384k for ROM.

Commodore really wanted to sell a computer that had a full 64k of RAM in it. The PLA was the answer for that. It allowed the processor to swap RAM for I/O and ROM. The RAM underneath the I/O was much more difficult to use, but it was there, so you couldn’t accuse Commodore of false advertising.

When the PLA gremlin rears its ugly head and the PLA goes bad, the system behaves in unpredictable ways. The most common fault is a black screen when you power the system on, but the system can fail in somewhat more subtle ways as well.

Today I am not sure you could say the PLA is responsible for half of Commodore 64 failures. But this chip at U17 on motherboards made from 1982-1986 is still the most common point of failure in breadbin models. C-64C computers manufactured in 1987 or later solved the problem. Commodore integrated the PLA logic along with other logic into a single chip and outsourced its production to Sharp. Sharp’s Super PLA was always very reliable.

The PLA’s troubled history

The PLA is basically a truth table, devised by Bob Yannes, one of the principal designers of the C-64. Initially, Commodore programmed its logic into an off-the-shelf component, a field programmable logic chip from Signetics called the 82S100, first introduced in 1975. Commodore also sometimes used a Fairchild 93459, a clone of the 82S100. Commodore later developed their own clone, called the MOS 906114-0.

But it would be cheaper to just etch the logic straight into a piece of nonprogrammable silicon. Eventually, Commodore delidded a programmed 82S100, traced out the circuits, and had engineer Dave DiOrio design a replacement. These chips have part numbers 7700, 251641, or 8700.

Why Commodore PLAs go bad: A matter of chemistry

So why did Commodore-manufactured PLAs have a gremlin inside? Chemistry. Dan Morris, a former manager at Commodore’s chip fab in Califonia from 1981 to 1985, said the chip corrodes internally due to an imbalance of Boron and Phosphorous that they use to soften the silicon to make it flow. The more Boron they used, the faster it flowed. But the more Boron you use, the more prone it is to corrode the aluminum in the chip.

Former Commodore engineer Bil Herd has said numerous times that the chemistry in Commodore’s foundry wasn’t always as good as other chipmakers. At least it wasn’t as consistent. This meant that certain chips broke down more quickly than others. And they could degrade just sitting on the shelf. You didn’t have to be actively using the machine for that chip to go bad, although since using the chip raises the temperature and accelerates the chemical reaction, using it will accelerate the decay process.

The Commodore-produced 74-series logic chips were also prone to the same problem. To a lesser degree, so was the 6581 SID.

Good and bad PLAs

If you have a very early 64 with an 82S100 on the motherboard, the 82S100 is probably fine, no matter how old it is. The same goes for a Fairchild 93459 or a Philips PLS100. But a PLA with a Commodore part number on it probably is living on borrowed time if it still works.

Some knowledgeable repair people have been programming the PLA logic onto 82S100s or PLS100s to make reliable replacements even in the 90s. Some people also used a Soviet clone of the 82S100 called the P556PT2, or the R556RT2.

Modern replacements

There have been a number of efforts to produce modern replacements, including the SuperPLA, realPLA, U17 PLAnkton, PLAtinum, neatPLA, and PLA20V8 (aka “GAL-PLA”). I’ve personally used the GAL PLA, which is a small PCB containing a pair of GAL 20V8B chips from the 1990s. These parts are no longer in production, but are still readily available on the secondary market and still pretty inexpensive, so it is a cost-effective PLA replacement.

The NeatPLA uses a newer component. Its designers even mounted on the PCB upside down and silkscreened the other side to make it look a little more like an IC rather than a PCB. It certainly stands out less than a GAL PLA, although the only time you notice it is when you open the machine.

If you found this post informative or helpful, please share it!