PLA Replacement Options

The PLA is the programmable logic array that decodes the Commodore 64's memory map. A failed PLA is one of the most common Commodore 64 faults, especially in parts made in 1983 and 1984.[1] Which replacement fits depends on the board: the long boards use a 28-pin 82S100 at U17, while the 250469 short board uses a 64-pin custom device at U8 that the common replacements do not fit.[2]
Which part is in your machine
[edit | edit source]| Assembly | Released | PLA | Socket | Identifying notes |
|---|---|---|---|---|
| 326298 | 1982 | 82S100 / 906114-01 | U17 | 5-pin video connector; eight 4164 DRAMs |
| 250407 | 1983 | 82S100 / 906114-01 | U17 | 8-pin video connector; eight 4164 DRAMs |
| 250425 | 1984 | 82S100 / 906114-01 | U17 | Reduced oscillator circuit |
| 250466 | 1986 | 82S100 / 906114-01 | U17 | Two 41464 DRAMs (U9, U10); colour RAM is a 2114 at U6 |
| 250469 Rev. A, 3, 4 | 1987 | 251715, 64-pin | U8 | Short board; colour RAM is a 2114 at U19 |
| 250469 Rev. B | 252535, 64-pin | U8 | Colour RAM integrated in the 252535; no 2114 at U19 |
The 64-pin 251715 and 252535 combine the PLA with many of the discrete components and TTL chips of the earlier boards, and open_cerebrum notes that the part was dubbed the "SuperPLA". On the last revision of the short board it also contains the 1K × 4 colour RAM.[2] This Commodore part is not the same thing as Individual Computers' replacement product of the same name, described below.
A 28-pin replacement for U17 does not fit U8, and the replacements below are all for the 28-pin part.
Replacements documented by their makers
[edit | edit source]SuperPLA V3 (Individual Computers)
[edit | edit source]Daniël Mantione credits Jens Schönfeld with first reverse-engineering the C64 PLA; Schönfeld later produced the SuperPLA.[1] Individual Computers describes SuperPLA as a replacement for Commodore PLA chips based on the 82S100 that "does NOT add any functionality". Version 3 replaces the earlier versions, with jumpers on the underside selecting the target machine.[3]
| Machine | Socket | Jumpers |
|---|---|---|
| C64 assemblies 326298, 250407, 250425, 250466 | U17 | 2 and 4 (as shipped) |
| CBM 610 | U18 | 1 and 4 |
| CBM 710 | U18 | 1 only |
| C16 | U16 | none |
| C116 | U101 | none |
| Plus/4 | U19 | none |
| 1551 drive cartridge | 1 and 3 | |
| PET | UE5 only | 2 |
The C64 list does not include assembly 250469. On a PET only socket UE5 is supported; the second PLA cannot be replaced with the SuperPLA V3. The jumpers are tiny and sit in the socket adapter: Individual Computers advises tweezers, plenty of light and care not to break the adapter's pins. The product is filed in the maker's EOL (end-of-life) category.[3]
PLA20V8 (Daniël Mantione)
[edit | edit source]The PLA20V8 is a self-build design made from two Lattice GAL20V8B chips in DIP packages on a small board; one GAL cannot hold all the logic. A GAL has an AND array followed by an OR array, like the original PLA, and in its "simple" and "complex" modes its output flip-flop is bypassed. The GAL20V8B is out of production but easy to find, and it can be programmed with the low-cost TL866 programmer. The design is based on Thomas Giesel's document "The C64 PLA dissected".[1]
Mantione reports tests on assemblies 326298, 250407, 250425 and 250466, the SX-64 board 251103 and the C64 Reloaded MK1, in PAL and NTSC machines; it does not suit the 250469 short board. Of the three GAL20V8B speed grades, the 25 ns part is the best choice in theory, 15 ns parts work after a small adjustment he describes, and 10 ns parts are untested and probably too fast. He reports that Super Zaxxon, which switches banks through address-line accesses, and alternate-KERNAL cartridges work with it.[1]
Other replacements
[edit | edit source]Mantione names the RealPLA, PLAnkton, PLAdvanced and Ultimate PLA as other modern replacements and says many of them are as good as or better than the original PLA.[1]
EPROM-based substitutes
[edit | edit source]The first PLA replacements used EPROMs. Mantione lists their known disadvantages as timing, risk of bus contention, switching noise and voltage levels, and notes that EPROMs are known to cause switching noise on address changes, which matters for bank-switching cartridges.[1]
Fitting a replacement
[edit | edit source]- Switch off and unplug the power supply.
- On a long board the PLA at U17 is a 28-pin DIP. Lift it out of its socket a little at a time from each end.
- Inspect the socket for oxidation and for pads lifted by earlier extraction attempts.
- Match pin 1 of the replacement to the notch on the socket and the board marking, then press it home evenly.
- Power on, check for the BASIC start-up screen, then test with a diagnostic cartridge, a disk load and a cartridge (see Commodore Test Cartridge Index).
If the machine also has a JiffyDOS ROM or a Kernal switcher, fit and test one change at a time.
Related pages
[edit | edit source]- Commodore 64
- Commodore 64 Troubleshooting Guide
- Commodore 64 General Maintenance
- Commodore Test Cartridge Index
- C64 Reloaded MK2
- SixtyClone Bare-Board Project
References
[edit | edit source]- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Daniël Mantione, The PLA20V8, the Commodore 64 PLA that you can build yourself (retrieved 2026-10-01).
- ↑ 2.0 2.1 2.2 open_cerebrum, C64 Hardware Reference and Repair Guide, opencbm.org, board pages for assemblies 326298, 250407, 250425, 250466 and 250469 (component placement tables). Community reference.
- ↑ 3.0 3.1 3.2 Individual Computers, SuperPLA V3 (retrieved 2026-10-01). Filed in the maker's EOL category.