Jump to content

PLA Replacement Options

From RetroTechCollection
C64 Logic Board
Commodore 64 logic board, assembly 250407 (1983). On this and the other long boards the PLA is the 28-pin 82S100 at U17.

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]
The PLA by board assembly
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

[2]

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]

SuperPLA V3 jumper settings (Individual Computers)
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

[3]

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]
  1. Switch off and unplug the power supply.
  2. 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.
  3. Inspect the socket for oxidation and for pads lifted by earlier extraction attempts.
  4. Match pin 1 of the replacement to the notch on the socket and the board marking, then press it home evenly.
  5. 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.

[edit | edit source]

References

[edit | edit source]
  1. ↑ 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. ↑ 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. ↑ 3.0 3.1 3.2 Individual Computers, SuperPLA V3 (retrieved 2026-10-01). Filed in the maker's EOL category.