Jump to content

Commodore 64 PLA Replacement

From RetroTechCollection
Commodore 64 250407 Rev A board U17 PLA and U7 6510
A 250407 Rev. A board: the PLA at U17 here is a Fairchild 93459PC, beside the 6510 CPU at U7. The 6581 SID is at U18 below.

The Commodore 64 long boards and the 250466 (B-3) board use a 28-pin programmable logic array (PLA) at U17, listed by Commodore as the 82S100, part 906114-01. It generates the chip-select signals for the ROMs, RAM and I/O chips, so it implements the machine's memory map.[1][2] Ray Carlsen calls it the most common chip to fail in the C64, because it runs hot in normal use.[3] Breadbox64 reports that PLAs run at 40-50 °C and attributes their failures to that heat and to corrosion of an internal protective layer, so a second-hand original is likely to be only a brief fix.[2] The 250469 (E) board used in most Commodore 64C machines has a 64-pin memory controller at U8 in its place; see PLA Replacement Options.[4][5]

Symptoms

[edit | edit source]
  • A blank screen with no border. Carlsen also lists a coloured screen or flashing colour garbage in place of the start-up screen, loss of the cursor, screen freezes or crashes after the machine warms up, and random characters on the screen.[3]
  • Carlsen's quick check: switch the computer off and on rapidly about five times. If the screen ever comes up with flashing colours or all one colour, suspect the PLA.[6]
  • With a Dead Test cartridge fitted, no flash code and no diagnostic screen after 20 seconds. Commodore lists the PLA among the causes, with the power supply, the reset and clock circuits, the 6510 and the VIC-II.[7]
  • Commodore's troubleshooting table names U17 for a blank screen at power-up, among other chips.[8]

A blank screen has many causes. Carlsen names a bad power supply, bad RAM and many other chips, but puts the PLA first on the early boards.[6] Retro Repairs and Refurbs found a failed PLA on some 250407 boards and a good one on others with the same black screen, where the RAM, the RAM multiplexers or the KERNAL ROM had failed instead.[9] Work through the Commodore 64 Troubleshooting Guide and, for RAM, Commodore 64 RAM Replacement.

Safety

[edit | edit source]
  • Check the power supply first. Carlsen lists it among the causes of a blank screen and recommends checking it with a known-good substitute.[6]
  • Desolder a suspect PLA intact unless you are certain it has failed; it may turn out to be good.[10]
  • The chips are static sensitive.[6]

Tools and parts

[edit | edit source]
  • A replacement PLA. The options are compared on PLA Replacement Options. Breadbox64 tested several:[2]
    • CPLD-based boards (U17 PLAnkton, Individual Computers SuperPLA V3, the Ultimate PLA, PLAdvanced+). The PLAnkton uses an XC9536XL drawing about 20 mA and is described as compatible with every C64 board including the 326298. Breadbox64 reports that the SuperPLA V3 does not support the Epyx FastLoad cartridge.
    • EPROM-based PLAs, such as RETRO Innovations' PLAdapter board with an AT27C512R 45 ns EPROM. Breadbox64 reports this version is not compatible with the 1982 Version A long boards or the Super Zaxxon cartridge.
  • A good-quality 28-pin socket, if the PLA is soldered in.[10]
  • An oscilloscope or logic probe for Commodore's signal checks, and a supply of known-good chips for substitution tests.[11][6]
  • A soldering iron, a large solder sucker, good desoldering braid, tweezers and a magnifier.[10] See Recommended Tools.

Procedure

[edit | edit source]

Check the power supply

[edit | edit source]
  1. Measure the supply's +5 V DC with the supply warmed up and loaded, before connecting it to the board. It should not be high or low by more than a few tenths of a volt.[12]
  2. Replace a supply that reads high, or fit a power-supply protector.[13]
  3. The full test and repair procedure is in Commodore 64 Power Supply Testing and Repair.

Open the case

[edit | edit source]
  1. Switch off, unplug the supply and remove all cables and anything in the cartridge, cassette and user ports.[14]
  2. Turn the computer over and remove the three screws along the front edge of the underside. Some machines have Torx screws, which need a T10 driver.[14][15]
  3. Lift the front of the top case. Unplug the keyboard connector, rocking it gently and pulling straight up, and the power LED connector.[15]
  4. Lift the top case away; the rear fasteners can be tight.[15]
  5. Remove the cardboard-and-foil or metal shield if one is fitted. It is held by self-tapping screws.[14]

Find U17

[edit | edit source]
Commodore 64 250425 board U17 PLA 906114-01
On a 250425 board U17, a MOS 906114-01, sits in the middle of the logic area, to the right of U14 and U27.

U17 is a 28-pin chip. Its position differs between boards: on the 250407 it stands beside the 6510 (U7), and on the 250425 it is in the middle of the logic area.[16][17] Commodore's board layouts in the service manual show the position for each assembly.[18] On some boards the PLA is soldered in; on others it is socketed.[9]

Breadbox64 lists the chips found at U17: the Signetics 82S100, the Fairchild 93459 clone, and Commodore's own MOS 7700 and 8700, labelled 906114-01 (later CBM-labelled 8700R2 parts).[2]

Confirm the fault

[edit | edit source]
  1. If U17 is socketed, the quickest test is to fit a known-good PLA. Carlsen notes that substitution is the only practical way to check most of these chips.[6]
  2. Feeling the chip proves little: an original PLA runs hot when working.[3]
  3. With an oscilloscope, check the PLA's signals with Commodore's diagnostic cartridge fitted, using the table below. For a wrong reading Commodore names U17 together with the other chips that share the signal.[19]
  4. To separate the PLA from the RAM on the CASRAM line, Commodore cuts pin 18 of U17 and measures the cut pin: a good pulse there means the RAM is loading the line, a bad one means U17.[19]
Commodore's U17 checks (diagnostic cartridge fitted)[19]
Pin(s) Signal Expected If wrong, Commodore suspects
15 Character ROM select +5 V with negative pulses U17, U5
16 KERNAL ROM select +5 V with negative pulses U17, U4
17 BASIC ROM select +5 V with a negative pulse on reset U17, U3
12 I/O enable +5 V with negative pulses U17, U15
2, 3, 4, 27 Addresses 12-15 +5 V pulses U17, U7, U13, U26, U27, U6, U8
6, 7, 8 CHAREN, HIRAM, LORAM +5 V pulses U17, U7
11 ROML +5 V pulses U17, cartridge
18 CASRAM +5 V pulses See the cut-pin test above
20, 21 VA12, VA13 +5 V pulses U17, U19, U26, U9-U12, U21-U24
23 EXROM 0 V U17, cartridge
24 R/W +5 V with one negative pulse on reset U17, the RAM
25 AEC +5 V pulses U17, U13, U25
26 BA +5 V pulses U17, U19, U27

The PLA takes +5 V on pin 28; pin 14 is ground.[20]

Remove a socketed PLA

[edit | edit source]
  1. Lift the chip a little at a time, prying alternately at each end with an IC extractor or a small flat-bladed screwdriver wrapped in tape.[14]
  2. Keep the original chip.

Remove a soldered PLA

[edit | edit source]
  1. Remove the seven screws holding the board to the lower case and lift the board out.[21]
  2. Heat each pin for about two seconds, until the solder is molten on both sides of the board. Ease the pin towards the centre of the hole with the iron tip, then draw the solder out with the sucker.[10]
  3. Check that each pin moves freely. If one is still stuck to the wall of the hole, wiggle it with tweezers or press it sideways until it breaks free. If solder remains, add fresh solder and desolder again. The power and ground pins on large copper areas need a larger tip and braid.[10]
  4. Do not hold the iron on a pad for more than a few seconds or press hard: too much heat or force lifts pads and traces.[10]
  5. When every pin is free, pry up one end of the chip gently, then the other. If any pin sticks, stop and free it.[10]
  6. Inspect both sides of the board under a light and magnifier. A copper-coloured blob on a removed pin is torn through-hole plating: repair it with a single strand of wire through the hole, soldered on both sides.[10]
  7. Clear each hole and fit a good-quality 28-pin socket. Never solder a socket with a chip in it.[10]

Retro Repairs and Refurbs removed soldered PLAs from 250407 boards this way with a desoldering station and fitted sockets. On two boards the fault was the socket itself: one board had a loose and corroded PLA socket, and on another a non-factory PLA socket had damaged two vias underneath, which needed jumper wires.[9]

Fit the replacement

[edit | edit source]
  1. For a SuperPLA V3, check the jumpers on its underside. Individual Computers ships it with jumpers 2 and 4 set, the setting for C64 assemblies 326298, 250407, 250425 and 250466 at U17. The jumpers are tiny; use tweezers and good light.[22]
  2. Fit the replacement with its pin 1 notch the same way round as the original chip.[14]
  3. Press it evenly into the socket and check that no pin has folded under.[14]
  4. If refitting an original PLA, consider a heatsink. Carlsen recommends heat sinks on the PLA, the SID, the VIC-II, the 6510 and the KERNAL ROM, and found the early cardboard-and-foil shield blocks the airflow over the chips.[23]

Reassemble

[edit | edit source]

Refit the board with its seven screws, then the shield, the keyboard and LED plugs and the top case, and the three case screws.[21][14]

Testing

[edit | edit source]
  1. Power up. The start-up screen should appear with 38911 BASIC bytes free.[12]
  2. Repeat Carlsen's rapid off-and-on test; the screen should come up normally every time.[6]
  3. Run the machine for a while. Carlsen lists crashes and freezes after warm-up among the PLA's symptoms.[3]
  4. Test cartridges. Breadbox64 uses Super Zaxxon and Epyx FastLoad as compatibility tests for replacement PLAs.[2]
  5. For a full check, run Commodore's diagnostic cartridge with its harness.[9]

Board revisions

[edit | edit source]
The PLA by board
Assembly PLA Notes
326298 U17, 82S100, 906114-01 Commodore parts list[1]
250407 U17, 82S100, 906114-01 Parts list; the Rev. A board photographed above carries a Fairchild 93459PC[1][16]
250425 U17, 82S100, 906114-01 Parts list; the photographed board carries a MOS 906114-01[1][17]
250466 (B-3) U17, PLA 82S100 8700-001, 906114-01 Commodore parts list[24]
250469 (E) U8, memory controller 251715-01 Not covered here; see PLA Replacement Options and Commodore 64C Troubleshooting Guide[4]
[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.0 1.1 1.2 1.3 Commodore Business Machines, Service Manual C64/C64C, March 1992, PN-314001-03, hosted at Commodore 64 / 64C Service Manual. Parts lists for assembly 326298 (p. 19), 250407-04 (p. 24) and 250425-01 (p. 29): U17 "82S100 PLA", 906114-01.
  2. ↑ 2.0 2.1 2.2 2.3 2.4 MtnBuffalo, "A Plethora of PLAs", Breadbox64, 19 December 2016, updated 5 July 2018. The PLA's role, versions, operating temperature and the replacements tested.
  3. ↑ 3.0 3.1 3.2 3.3 Ray Carlsen, "C64 chips and common symptoms", updated 7 January 2020, entry for U17. Repair notes.
  4. ↑ 4.0 4.1 Service Manual C64/C64C (1992), parts list for 250469-01 (E), p. 40: U8 memory controller 251715-01.
  5. ↑ Retroleum, "C64 chips", product note for the 251715-01: a 64-pin PLA for the C64C, used on no long board. Parts seller. Retrieved 2026-10-25.
  6. ↑ 6.0 6.1 6.2 6.3 6.4 6.5 6.6 Ray Carlsen, "C64 blank screen", updated 27 November 2021. Repair notes.
  7. ↑ Commodore Business Machines, Diagnostic Manual, C-64 Dead Test, PN-314139-02, January 1988, "Power-Up RAM Test", p. 2-1, hosted as File:C64 Dead Test Diagnostic Manual (314139-02, 1988 Jan).pdf.
  8. ↑ Service Manual C64/C64C (1992), "64 Troubleshooting Guide", pp. 14-16.
  9. ↑ 9.0 9.1 9.2 9.3 themightymadman, "Commodore 64 (ASSY 250407) Board Repairs", Retro Repairs and Refurbs, 23 July 2021. Repair log of fourteen 250407 boards.
  10. ↑ 10.0 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 Ray Carlsen, "Replacing IC chips in Commodore equipment", updated 19 December 2012. Repair notes.
  11. ↑ Commodore Business Machines, C64 Diagnostic Instruction and Troubleshooting Manual, Assembly #326070-01, hosted at Commodore 64 Diagnostic Instruction and Troubleshooting Manual (326070-01). Section 2, "Basic Preliminary Checks", p. 2-1: readings with an oscilloscope and the diagnostic cartridge installed.
  12. ↑ 12.0 12.1 Ray Carlsen, "RAM (Random Access Memory) problems in the C64/128 computer", updated 9 June 2011. Repair notes: power supply check and the normal 38911 bytes free.
  13. ↑ Ray Carlsen, "All about the Commodore power supply", updated 5 February 2014. Repair notes.
  14. ↑ 14.0 14.1 14.2 14.3 14.4 14.5 14.6 Creative Micro Designs, JiffyDOS C-64 Installation Guide, pp. 1-4: opening the C-64, removing the shield, and lifting and fitting a socketed chip with its notch the same way round. PDF, linked from the RETRO Innovations JiffyDOS page.
  15. ↑ 15.0 15.1 15.2 Ray Carlsen, "Commodore keyboards", updated 17 November 2015, section "Disassembly / reassembly... C64 computer". Repair notes.
  16. ↑ 16.0 16.1 Photograph of a 250407 Rev. A board by Sven Petersen, Wikimedia Commons, File:0431 - C64 Mainboard ASSY250407 RevA.jpg, read at full size.
  17. ↑ 17.0 17.1 Photograph of a 250425 board by Gona.eu, Wikimedia Commons, File:C64 ASSY NO 250425 motherboard 1984.jpg, read at full size.
  18. ↑ Service Manual C64/C64C (1992), board layouts for assemblies 326298 (p. 18), 250407-04 (p. 23), 250425-01 (p. 28) and 250466 (p. 36).
  19. ↑ 19.0 19.1 19.2 C64 Diagnostic Instruction and Troubleshooting Manual, Section 2, "6. System ROM and I/O", pp. 2-9 and 2-10.
  20. ↑ Service Manual C64/C64C (1992), pin assignments for U7 6510 and U17 PLA, p. 27.
  21. ↑ 21.0 21.1 Retroleum, "Commodore 64 fixings", product note: seven screws hold the breadbin motherboard to the lower case. Parts seller. Retrieved 2026-10-25.
  22. ↑ Individual Computers, "SuperPLA V3", manufacturer's documentation: jumper settings and supported C64 assemblies. Retrieved 2026-10-25.
  23. ↑ Ray Carlsen, "Heat sinking ICs in the C-64", updated 10 May 2014. Repair notes.
  24. ↑ Service Manual C64/C64C (1992), parts list for 250466-01 (B-3), p. 34: U17 "PLA 82S100 8700-001", 906114-01.