Jump to content

PLA Replacement Options: Difference between revisions

From RetroTechCollection
Add an illustrating image of the board the page is about
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
The original '''MOS 906114-01 Programmable Logic Array (PLA)''' in early C64 board revisions (ASSY 326298 → 250466) is _the_ single highest-failure-rate part in the machine.
<templatestyles src="Template:StyledTable/styles.css" />
It runs hot (≈ 65 °C surface on an un-ventilated bread-bin), consumes ≈ 120 mA, and any internal electrical overstress manifests as: 


* '''Black screen / no border''' on power-up.
[[File:C64 Logic Board.jpg|thumb|300px|A Commodore 64 logic board. On a long board the PLA is the 28-pin device at U17; on the 250469 short board it is the 64-pin part at U8.]]
* Colour-flashing “garbage” that crashes after warm-up. 
The '''PLA''' is the single most-replaced chip in a Commodore 64. This page covers what the part actually is on each board, and which replacements can be verified from their makers' own documentation.
* Selective cartridge or bank-switch errors (EXROM/GAME decoding faults).


Because original spare parts are scarce and almost forty years old, several replacement families have appeared. They differ in technology, power draw, compatibility and cost.
'''Every product claim below is cited to the maker's own page.'''<ref name="icomp">Individual Computers, ''SuperPLA V3'', https://wiki.icomp.de/wiki/SuperPLA_V3 . Source for what SuperPLA is and is not, the jumper settings, and the exact list of machines and sockets it supports. The page is filed under Individual Computers' '''EOL''' category.</ref><ref name="mantione">Daniël Mantione, ''PLA20V8 — The Commodore 64 PLA that you can build yourself'', https://www.freepascal.org/~daniel/c64pla/ . Source for the design being two GAL20V8B devices in DIP, programmable with a TL866; for the named disadvantages of EPROM-based substitutes (timing, bus contention, switching noise, voltage levels); for the attribution of the original reverse-engineering and of SuperPLA to Jens Schönfeld; and for the list of other replacements in circulation.</ref><ref name="cerebrum">''C64 Hardware Reference and Repair Guide'' (open_cerebrum), https://opencbm.org/doc/c64/hardware_reference_and_repair_guide/ . Community reference. Board-by-board component placement tables for assemblies 326298, 250407, 250425, 250466 and 250469, and the pinout and function of the 251715 / 252535 PLA/MMU. Secondary source, but the placement tables agree with Commodore's own schematics.</ref>


== 🔍 Selection criteria ==
== Which part is in your machine ==
{| class="wikitable"
 
! Criterion !! Why it matters
This matters more than anything else on the page, because the "PLA" is a different device on the short board and most replacements do not fit it.<ref name="cerebrum" />
 
{| class="wikitable styled-table" style="width:95%; text-align:left;"
|+'''The PLA by board assembly'''
! Assembly !! Year !! Device !! Socket !! Notes
|-
| 326298 || 1982 || 82S100 / 906114-01 || '''U17''' || 5-pin video connector board
|-
|-
| '''Timing accuracy''' || PLA outputs must meet a < 60 ns access window to avoid VIC-II bus contention; marginal parts work in BASIC but fail with fast cartridges.
| 250407 || 1983 || 82S100 / 906114-01 || '''U17''' || Eight 4164 DRAMs
|-
|-
| '''Voltage tolerance & heat''' || Lower idle current (≤ 20 mA) keeps internal case temperature down and avoids over-loading the 5 V rail.  PLAnkton, for example, dissipates < 0.2 W compared with ≈ 0.6 W for the ceramic MOS part.
| 250425 || 1984 || 82S100 / 906114-01 || '''U17''' || Reduced oscillator circuit
|-
|-
| '''Board compatibility''' || 250469 “short-board” machines integrate the PLA inside the 251715-01 gate-array; external plug-ins are '''not''' required there.
| 250466 || 1986 || 82S100 / 906114-01 || '''U17''' || Two 41464 DRAMs; colour RAM is still a separate 2114 at U6
|-
|-
| '''Cartridge support''' || Fast loaders (Epyx FastLoad, KFF, EasyFlash) depend on tight /CASRAM and /ROML asserts — earlier EPROM-based substitutes can break these.
| 250469 Rev.A / 3 / 4 || 1987 || '''251715-01''', 64-pin || '''U8''' || Colour RAM is a separate 2114 at U19
|-
| 250469 Rev.B || || '''252535-01''', 64-pin || '''U8''' || Colour RAM integrated; no 2114 at U19
|}
|}


== 🗂️ Replacement families ==
The 251715 and 252535 are not PLAs in the 82S100 sense — they integrate the PLA '''and''' a set of discrete TTL functions into one 64-pin device, which is why they are often called the "SuperPLA". The 252535 additionally absorbs the 4 K colour RAM.<ref name="cerebrum" />
=== 1. Salvaged original MOS ceramic PLAs ===
 
* Perfect electrical fit if tested good, but still run hot and may fail again. 
'''A 28-pin DIP replacement for U17 will not fit U8, and vice versa.''' Replacements for the 64-pin part are a separate and much smaller field.
* Short supply & rising price (US $40–80 on auction sites).
 
== Replacements whose specification can be checked ==
 
=== SuperPLA V3 — Individual Computers ===


=== 2. '''EPROM + TTL glue''' (first-generation DIY) ===
Jens Schönfeld reverse-engineered the C64 PLA and produced the SuperPLA; V3 unifies the earlier versions, with '''jumpers on the underside''' selecting the target machine.<ref name="icomp" /><ref name="mantione" />
* EPROM (27C512/27C256) programmed with PLA truth-table, gated by 74LS04/74LS86. 
* Cheap but '''slow''' output edges and ~65 mA current → will over-heat inside a closed case.
* Timing marginal with some Ocean/AR II cartridges.


=== 3. '''GAL / PAL-based''' (PLA20V8, ThED PLA20V8, “128 PLA in C64”) ===
It '''adds no functionality''' — it is a repair part.<ref name="icomp" />
* Single GAL20V8 or ATF22V10C, pin-compatible. 
* Draw ≈ 20 mA, emit little heat. 
* Open-source JEDEC; hobbyists can burn their own chips.
* Slightly higher propagation delay than CPLD, but passes timing on > 99 % of boards in field reports.


=== 4. '''CPLD / FPGA-based''' (current gold standard) ===
{| class="wikitable styled-table" style="width:75%; text-align:left;"
{| class="wikitable sortable"
|+'''SuperPLA V3 jumper settings, from Individual Computers'''
! Replacement !! Logic core !! Idle current !! Notable points
! Machine !! Socket !! Jumpers
|-
|-
| '''SuperPLA V3''' || Xilinx XC9536XL || ≈ 15 mA || Earliest “plug-and-play” commercial part, wide PAL/NTSC & cartridge compatibility. 20 € PCB kit.
| C64 assy 326298, 250407, 250425, 250466 || U17 || 2 and 4 (as shipped)
|-
|-
| '''U17 PLAnkton''' || Altera MAX CPLD || < 10 mA || Eight-layer µPCB nestled inside a plastic SIL socket; runs cool & supports C16/+4 PLAs via jumper.
| CBM 610 || U18 || 1 and 4
|-
|-
| '''RealPLA / “Ultimate PLA”''' || Lattice ispMACH 4064 || 12 mA || Shipped with _Ultimate-64_ boards; cartridge timing verified with Kung-Fu Flash & Epyx.
| CBM 710 || U18 || 1 only
|-
|-
| '''SaRuMan-64''' || iCE40LP384 FPGA || ~ 8 mA || Adds a tiny linear-drop regulator to isolate noisy 5 V rails; user-upgradable bit-stream.
| C16 || U16 || none
|}
 
=== 5. '''Multi-chip TTL recreations''' (educational) ===
* 27 × 74LS/AHC gates that implement the PLA equations. 
* Excellent edge-rate but enormous current draw; avoided except as teaching tools.
 
== 🛠️ Installation ==
# Power off & unplug PSU; discharge by pressing the power switch several times. 
# Gently remove the original PLA from socket '''U17''' using a PLCC puller or flat tool. 
# Visually inspect the socket for oxidation or lifted pads. 
# Align the notch or pin-1 indicator on the replacement with the board silk. 
# Firmly press straight down — do '''not''' rock side-to-side. 
# Power on and test:
## BASIC screen appears → `PRINT FRE(0)` returns 38911. 
## Run a fast-loader cartridge or *Dead Test* to exercise all decode paths.
 
== ⚖️ Comparison summary ==
{| class="wikitable"
! Solution !! Cost !! Heat !! Cartridge compat. !! Availability
|-
|-
| Salvaged MOS || High || 🔥🔥🔥 || ✅ || declining
| C116 || U101 || none
|-
|-
| EPROM TTL || Low || 🔥🔥 || ⚠️ mixed || DIY only
| plus/4 || U19 || none
|-
|-
| GAL20V8 || Low-mid || 🔥 || ✅ || open-source
| 1551 drive cartridge || || 1 and 3
|-
|-
| CPLD/FPGA (e.g. PLAnkton) || Mid (15–25 €) || ❄️ || ✅✅✅ || multiple stores
| PET || UE5 only || 2
|-
| TTL array || High (parts) || 🔥🔥🔥 || ✅ || niche
|}
|}


== 📚 Further reading ==
Two limits stated by Individual Computers themselves:
* Raymond Carlsen, “PLA Failures and Substitutes”
 
* '''Assembly 250469 is not supported.''' SuperPLA V3 does not replace the 64-pin part.<ref name="icomp" />
* '''On a PET, only socket UE5 is supported.''' The second PLA cannot be replaced with SuperPLA V3.<ref name="icomp" />
 
The product is listed in Individual Computers' '''EOL''' category, so treat it as a second-hand purchase rather than a current stock item.<ref name="icomp" />
 
The jumpers sit in the socket adapter on the underside and are, in Individual Computers' own words, tiny — fit them with tweezers, with good light, and take care not to break the adapter pins.<ref name="icomp" />
 
=== PLA20V8 — Daniël Mantione ===
 
A deliberately low-cost, self-buildable design: '''two GAL20V8B devices''' from Lattice, in '''DIP''' packages, on a small PCB. One GAL cannot hold all the logic, hence two. The GAL20V8B is out of production but widely available second-hand, and can be programmed with the inexpensive '''TL866''', so a repairer can keep several spares on hand without paying for someone else's assembly labour.<ref name="mantione" />
 
The GAL's AND-then-OR array is structurally close to the original PLA; in the "simple" and "complex" modes its flip-flop is bypassed.<ref name="mantione" />
 
=== Other replacements in circulation ===
 
Mantione, who surveyed the field while designing the PLA20V8, names '''RealPLA, PLAnkton, PLAdvanced''' and '''Ultimate PLA''' as existing replacements, and says that many of them are as good as or better than the original part.<ref name="mantione" />
 
'''This wiki has not verified the logic device, current draw or compatibility list of any of those four against its maker's own documentation''', and therefore states none. Do not assume that a specification you have seen attributed to one of them belongs to it — several of these products are described with each other's parts in online summaries.
 
=== EPROM-based substitutes ===
 
The earliest replacements used an EPROM holding the PLA truth table. Mantione lists the known disadvantages plainly: '''timing, risk of bus contention, switching noise and voltage levels'''. They work, but they are the weakest option and the one most likely to fail with cartridges.<ref name="mantione" />
 
== Fitting a replacement ==
 
# Power off and unplug the supply.
# The part at '''U17''' on a long board is a '''28-pin DIP''' — lift it with a DIP extractor or by easing each end alternately with a small flat blade. It is not a PLCC.
# Inspect the socket for oxidation and for pads lifted by earlier extraction attempts.
# Match pin 1 to the notch on the socket and the board silkscreen.
# Press home squarely; do not rock the part side to side, which bends pins under the body where you cannot see them.
# Power on and confirm a BASIC screen, then exercise the decode paths — load from disk, run a cartridge, and run a diagnostic. See [[Commodore Test Cartridge Index]].
 
If you are fitting a replacement in a machine that also has a [[JiffyDOS Kernal Upgrade|JiffyDOS]] or [[Jump-less Dual-Kernal Switcher|kernal switcher]] board, fit one thing at a time. Two changes at once turns a five-minute diagnosis into an afternoon.
 
== Related pages ==
* [[Commodore 64]]
* [[Commodore 64 Troubleshooting Guide]]
* [[Commodore Test Cartridge Index]]
* [[C64 Reloaded MK2]]
* [[SixtyClone Bare-Board Project]]
 
== References ==
<references />


[[Category:Commodore 64 Modifications and Enhancements]]
[[Category:Commodore 64 Modifications and Enhancements]]
[[Category:Commodore Systems]]
[[Category:Commodore Systems]]

Latest revision as of 22:39, 23 September 2026

A Commodore 64 logic board. On a long board the PLA is the 28-pin device at U17; on the 250469 short board it is the 64-pin part at U8.

The PLA is the single most-replaced chip in a Commodore 64. This page covers what the part actually is on each board, and which replacements can be verified from their makers' own documentation.

Every product claim below is cited to the maker's own page.[1][2][3]

Which part is in your machine

[edit | edit source]

This matters more than anything else on the page, because the "PLA" is a different device on the short board and most replacements do not fit it.[3]

The PLA by board assembly
Assembly Year Device Socket Notes
326298 1982 82S100 / 906114-01 U17 5-pin video connector board
250407 1983 82S100 / 906114-01 U17 Eight 4164 DRAMs
250425 1984 82S100 / 906114-01 U17 Reduced oscillator circuit
250466 1986 82S100 / 906114-01 U17 Two 41464 DRAMs; colour RAM is still a separate 2114 at U6
250469 Rev.A / 3 / 4 1987 251715-01, 64-pin U8 Colour RAM is a separate 2114 at U19
250469 Rev.B 252535-01, 64-pin U8 Colour RAM integrated; no 2114 at U19

The 251715 and 252535 are not PLAs in the 82S100 sense — they integrate the PLA and a set of discrete TTL functions into one 64-pin device, which is why they are often called the "SuperPLA". The 252535 additionally absorbs the 4 K colour RAM.[3]

A 28-pin DIP replacement for U17 will not fit U8, and vice versa. Replacements for the 64-pin part are a separate and much smaller field.

Replacements whose specification can be checked

[edit | edit source]

SuperPLA V3 — Individual Computers

[edit | edit source]

Jens Schönfeld reverse-engineered the C64 PLA and produced the SuperPLA; V3 unifies the earlier versions, with jumpers on the underside selecting the target machine.[1][2]

It adds no functionality — it is a repair part.[1]

SuperPLA V3 jumper settings, from Individual Computers
Machine Socket Jumpers
C64 assy 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

Two limits stated by Individual Computers themselves:

  • Assembly 250469 is not supported. SuperPLA V3 does not replace the 64-pin part.[1]
  • On a PET, only socket UE5 is supported. The second PLA cannot be replaced with SuperPLA V3.[1]

The product is listed in Individual Computers' EOL category, so treat it as a second-hand purchase rather than a current stock item.[1]

The jumpers sit in the socket adapter on the underside and are, in Individual Computers' own words, tiny — fit them with tweezers, with good light, and take care not to break the adapter pins.[1]

PLA20V8 — Daniël Mantione

[edit | edit source]

A deliberately low-cost, self-buildable design: two GAL20V8B devices from Lattice, in DIP packages, on a small PCB. One GAL cannot hold all the logic, hence two. The GAL20V8B is out of production but widely available second-hand, and can be programmed with the inexpensive TL866, so a repairer can keep several spares on hand without paying for someone else's assembly labour.[2]

The GAL's AND-then-OR array is structurally close to the original PLA; in the "simple" and "complex" modes its flip-flop is bypassed.[2]

Other replacements in circulation

[edit | edit source]

Mantione, who surveyed the field while designing the PLA20V8, names RealPLA, PLAnkton, PLAdvanced and Ultimate PLA as existing replacements, and says that many of them are as good as or better than the original part.[2]

This wiki has not verified the logic device, current draw or compatibility list of any of those four against its maker's own documentation, and therefore states none. Do not assume that a specification you have seen attributed to one of them belongs to it — several of these products are described with each other's parts in online summaries.

EPROM-based substitutes

[edit | edit source]

The earliest replacements used an EPROM holding the PLA truth table. Mantione lists the known disadvantages plainly: timing, risk of bus contention, switching noise and voltage levels. They work, but they are the weakest option and the one most likely to fail with cartridges.[2]

Fitting a replacement

[edit | edit source]
  1. Power off and unplug the supply.
  2. The part at U17 on a long board is a 28-pin DIP — lift it with a DIP extractor or by easing each end alternately with a small flat blade. It is not a PLCC.
  3. Inspect the socket for oxidation and for pads lifted by earlier extraction attempts.
  4. Match pin 1 to the notch on the socket and the board silkscreen.
  5. Press home squarely; do not rock the part side to side, which bends pins under the body where you cannot see them.
  6. Power on and confirm a BASIC screen, then exercise the decode paths — load from disk, run a cartridge, and run a diagnostic. See Commodore Test Cartridge Index.

If you are fitting a replacement in a machine that also has a JiffyDOS or kernal switcher board, fit one thing at a time. Two changes at once turns a five-minute diagnosis into an afternoon.

[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Individual Computers, SuperPLA V3, https://wiki.icomp.de/wiki/SuperPLA_V3 . Source for what SuperPLA is and is not, the jumper settings, and the exact list of machines and sockets it supports. The page is filed under Individual Computers' EOL category.
  2. ↑ 2.0 2.1 2.2 2.3 2.4 2.5 Daniël Mantione, PLA20V8 — The Commodore 64 PLA that you can build yourself, https://www.freepascal.org/~daniel/c64pla/ . Source for the design being two GAL20V8B devices in DIP, programmable with a TL866; for the named disadvantages of EPROM-based substitutes (timing, bus contention, switching noise, voltage levels); for the attribution of the original reverse-engineering and of SuperPLA to Jens Schönfeld; and for the list of other replacements in circulation.
  3. ↑ 3.0 3.1 3.2 C64 Hardware Reference and Repair Guide (open_cerebrum), https://opencbm.org/doc/c64/hardware_reference_and_repair_guide/ . Community reference. Board-by-board component placement tables for assemblies 326298, 250407, 250425, 250466 and 250469, and the pinout and function of the 251715 / 252535 PLA/MMU. Secondary source, but the placement tables agree with Commodore's own schematics.