Jump to content

PLA Replacement Options

From RetroTechCollection

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. 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.
  • Colour-flashing β€œgarbage” that crashes after warm-up.
  • 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.

πŸ” Selection criteria

[edit | edit source]
Criterion Why it matters
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.
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.
Board compatibility 250469 β€œshort-board” machines integrate the PLA inside the 251715-01 gate-array; external plug-ins are not required there.
Cartridge support Fast loaders (Epyx FastLoad, KFF, EasyFlash) depend on tight /CASRAM and /ROML asserts β€” earlier EPROM-based substitutes can break these.

πŸ—‚οΈ Replacement families

[edit | edit source]

1. Salvaged original MOS ceramic PLAs

[edit | edit source]
  • Perfect electrical fit if tested good, but still run hot and may fail again.
  • Short supply & rising price (US $40–80 on auction sites).

2. EPROM + TTL glue (first-generation DIY)

[edit | edit source]
  • 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”)

[edit | edit source]
  • 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)

[edit | edit source]
Replacement Logic core Idle current Notable points
SuperPLA V3 Xilinx XC9536XL β‰ˆ 15 mA Earliest β€œplug-and-play” commercial part, wide PAL/NTSC & cartridge compatibility. 20 € PCB kit.
U17 PLAnkton Altera MAX CPLD < 10 mA Eight-layer Β΅PCB nestled inside a plastic SIL socket; runs cool & supports C16/+4 PLAs via jumper.
RealPLA / β€œUltimate PLA” Lattice ispMACH 4064 12 mA Shipped with _Ultimate-64_ boards; cartridge timing verified with Kung-Fu Flash & Epyx.
SaRuMan-64 iCE40LP384 FPGA ~ 8 mA Adds a tiny linear-drop regulator to isolate noisy 5 V rails; user-upgradable bit-stream.

5. Multi-chip TTL recreations (educational)

[edit | edit source]
  • 27 Γ— 74LS/AHC gates that implement the PLA equations.
  • Excellent edge-rate but enormous current draw; avoided except as teaching tools.

πŸ› οΈ Installation

[edit | edit source]
  1. Power off & unplug PSU; discharge by pressing the power switch several times.
  2. Gently remove the original PLA from socket U17 using a PLCC puller or flat tool.
  3. Visually inspect the socket for oxidation or lifted pads.
  4. Align the notch or pin-1 indicator on the replacement with the board silk.
  5. Firmly press straight down β€” do not rock side-to-side.
  6. Power on and test:
    1. BASIC screen appears β†’ `PRINT FRE(0)` returns 38911.
    2. Run a fast-loader cartridge or *Dead Test* to exercise all decode paths.

βš–οΈ Comparison summary

[edit | edit source]
Solution Cost Heat Cartridge compat. Availability
Salvaged MOS High πŸ”₯πŸ”₯πŸ”₯ βœ… declining
EPROM TTL Low πŸ”₯πŸ”₯ ⚠️ mixed DIY only
GAL20V8 Low-mid πŸ”₯ βœ… open-source
CPLD/FPGA (e.g. PLAnkton) Mid (15–25 €) ❄️ βœ…βœ…βœ… multiple stores
TTL array High (parts) πŸ”₯πŸ”₯πŸ”₯ βœ… niche

πŸ“š Further reading

[edit | edit source]
  • Raymond Carlsen, β€œPLA Failures and Substitutes”