Commodore 64 Troubleshooting Guide: Difference between revisions
Created page with "= 🛠️ Commodore 64 Comprehensive Troubleshooting Guide = == Overview == This guide provides detailed, component-level troubleshooting for the Commodore 64 home computer. It covers '''all''' major motherboard revisions (ASSY 250407, 250425, 250466, 250469, etc.) and notes differences between PAL and NTSC models where relevant. Common failure symptoms, diagnostic procedures and fixes are outlined for: * Power-supply faults * “Black-screen” (no-boot) scenarios..." |
Add representative photo (Wikimedia Commons, attributed on file page) |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
This guide provides detailed, component-level troubleshooting for the Commodore 64 home computer. It covers '''all''' major motherboard revisions (ASSY 250407, 250425, 250466, 250469, etc.) and notes differences between PAL and NTSC models where relevant. | This guide provides detailed, component-level troubleshooting for the Commodore 64 home computer. It covers '''all''' major motherboard revisions (ASSY 250407, 250425, 250466, 250469, etc.) and notes differences between PAL and NTSC models where relevant. | ||
Common failure symptoms, diagnostic procedures and fixes are outlined for: | Common failure symptoms, diagnostic procedures and fixes are outlined for: | ||
| Line 19: | Line 16: | ||
''Note: Disk drives (1541, 1571, etc.) and the Datasette are '''not''' covered here.'' | ''Note: Disk drives (1541, 1571, etc.) and the Datasette are '''not''' covered here.'' | ||
== Diagnostic Tools & Techniques == | |||
== | |||
=== Visual Inspection === | === Visual Inspection === | ||
| Line 68: | Line 63: | ||
* If nothing at all after stripping to bare minimum ⇒ PLA, CPU, VIC-II or clock logic. | * If nothing at all after stripping to bare minimum ⇒ PLA, CPU, VIC-II or clock logic. | ||
== Power-Supply & Voltage Checks == | |||
== | |||
Always verify PSU '''before''' blaming main-board silicon. | Always verify PSU '''before''' blaming main-board silicon. | ||
| Line 95: | Line 88: | ||
Never run a C64 on an unstable brick; modern replacements or crowbar protectors are highly recommended (≥1.5 A @ 5 V, ≥1 A @ 9 VAC). | Never run a C64 on an unstable brick; modern replacements or crowbar protectors are highly recommended (≥1.5 A @ 5 V, ≥1 A @ 9 VAC). | ||
== “Black Screen” (No Boot) Flowchart == | |||
== | |||
# Check PSU rails, RESET, and system clock first. | # Check PSU rails, RESET, and system clock first. | ||
# Swap/feel VIC-II (dead clock = blank display). | # Swap/feel VIC-II (dead clock = blank display). | ||
| Line 107: | Line 98: | ||
# Remove SID/CIAs/4066 again if stuck. | # Remove SID/CIAs/4066 again if stuck. | ||
== RAM Failures == | |||
== | |||
* '''Eight 4164 DRAMs''' (earlier boards) → each = one data bit. | * '''Eight 4164 DRAMs''' (earlier boards) → each = one data bit. | ||
* '''Two 41464 DRAMs''' (250466/250469) → 4-bit wide. | * '''Two 41464 DRAMs''' (250466/250469) → 4-bit wide. | ||
| Line 124: | Line 113: | ||
* Colour-RAM (2114) only affects on-screen colours, never causes black screen. | * Colour-RAM (2114) only affects on-screen colours, never causes black screen. | ||
== VIC-II (Video) Faults == | |||
== | |||
{| class="wikitable" | {| class="wikitable" | ||
! Model!!Pal IC!!NTSC IC!!Supply(s) | ! Model!!Pal IC!!NTSC IC!!Supply(s) | ||
| Line 144: | Line 131: | ||
Swap with same-type VIC to confirm. Never mix 12 V and 5 V variants without conversion. | Swap with same-type VIC to confirm. Never mix 12 V and 5 V variants without conversion. | ||
== SID (Audio) Faults == | |||
== | |||
* '''6581''' (+12 V)—heat-prone; '''8580''' (+9 V)—cool HMOS. Not interchangeable w/o mods. | * '''6581''' (+12 V)—heat-prone; '''8580''' (+9 V)—cool HMOS. Not interchangeable w/o mods. | ||
| Line 156: | Line 141: | ||
=== Repair === | === Repair === | ||
No internal fix – replace with same IC or modern clone ( | No internal fix – replace with same IC or modern clone (''ARM-SID'', ''Swinsid'', ''FPGASID'', etc.). | ||
== PLA (U17) Logic Chip == | |||
== | |||
* Ceramic 906114-01 in bread-bins = hottest, most failure-prone IC in C64. | * Ceramic 906114-01 in bread-bins = hottest, most failure-prone IC in C64. | ||
* SuperPLA (CSG 251715/252535) on 250469 seldom fails. | * SuperPLA (CSG 251715/252535) on 250469 seldom fails. | ||
| Line 171: | Line 154: | ||
Replace with modern cool-running GAL/FPGA-based drop-ins (PLAnkton, SuperPLA v3, RealPLA, etc.). | Replace with modern cool-running GAL/FPGA-based drop-ins (PLAnkton, SuperPLA v3, RealPLA, etc.). | ||
== 6510 CPU Faults == | |||
== | |||
Rare, but possible (over-voltage, ESD). After PLA/VIC ruled out: | Rare, but possible (over-voltage, ESD). After PLA/VIC ruled out: | ||
| Line 180: | Line 161: | ||
* Replace with 6510 or 8500 (HMOS) matching clock. | * Replace with 6510 or 8500 (HMOS) matching clock. | ||
== Keyboard / CIA Issues == | |||
== | |||
* CIA-1 (U1) scans keyboard & joysticks, controls tape motor. | * CIA-1 (U1) scans keyboard & joysticks, controls tape motor. | ||
* CIA-2 (U2) handles IEC/user-port & RESTORE NMI. | * CIA-2 (U2) handles IEC/user-port & RESTORE NMI. | ||
| Line 194: | Line 173: | ||
Swap CIAs (identical), socket & replace as required. | Swap CIAs (identical), socket & replace as required. | ||
== Joystick Port Faults == | |||
== | |||
* Trace breaks at DB-9, burnt SIP resistor networks or CIA-1 bit failure. | * Trace breaks at DB-9, burnt SIP resistor networks or CIA-1 bit failure. | ||
* Ground pin 8 often fractures causing *both* ports to mis-read. | * Ground pin 8 often fractures causing *both* ports to mis-read. | ||
| Line 203: | Line 180: | ||
Continuity-test each DB-9 pin back to CIA; repair connector or replace CIA-1. | Continuity-test each DB-9 pin back to CIA; repair connector or replace CIA-1. | ||
== Character ROM & Other ROMs == | |||
== | |||
{| class="wikitable" | {| class="wikitable" | ||
! ROM!!IC/Location!!Boot symptom when bad | ! ROM!!IC/Location!!Boot symptom when bad | ||
| Line 220: | Line 195: | ||
Swap with known-good mask ROMs or EPROM-adaptors (27C64/27C128, etc.). | Swap with known-good mask ROMs or EPROM-adaptors (27C64/27C128, etc.). | ||
Cartridges that use their own code/font will boot fine even with bad on-board ROMs. | Cartridges that use their own code/font will boot fine even with bad on-board ROMs. | ||
== Final Notes == | == Final Notes == | ||
| Line 232: | Line 205: | ||
# VIC-II or (rarely) 6510 | # VIC-II or (rarely) 6510 | ||
* Always fit sockets on replacement parts and monitor brick PSU health. | * Always fit sockets on replacement parts and monitor brick PSU health. | ||
== Component reference and test points (deep dive) == | |||
=== Chip map === | |||
The main custom and memory ICs (Commodore service manual, boards 250407/250425/250469): | |||
<templatestyles src="Template:StyledTable/styles.css" /> | |||
[[File:Commodore 64 (photo).jpg|thumb|right|300px|Commodore 64. Source: Wikimedia Commons.]] | |||
{| class="wikitable styled-table" style="width:100%; text-align:left;" | |||
! Ref !! Device !! Function | |||
|- | |||
| U1, U2 || 6526 CIA || Keyboard/joystick/paddle + IRQ + serial (U1); user port + serial + NMI (U2) | |||
|- | |||
| U3 || 2364 (901226) || BASIC ROM | |||
|- | |||
| U4 || 2364 (901227) || KERNAL ROM | |||
|- | |||
| U5 || 2364 (901225) || Character ROM | |||
|- | |||
| U6 || 2114 || Colour RAM | |||
|- | |||
| U7 || 6510 || CPU (with the parallel port P0–P5 that banks the memory map) | |||
|- | |||
| (8× 4164) || DRAM || 64 KB main RAM | |||
|- | |||
| U17 || 906114 PLA || Address decode / ROM & I/O select | |||
|- | |||
| U18 || 6581 (or 8580) SID || Sound (audio out pin 27, audio in pin 26) | |||
|- | |||
| U19 || 6567 (NTSC) / 6569 (PAL) VIC-II || Video and the system clock | |||
|} | |||
<ref name="c64svc">[https://portcommodore.com/rcarlsen/cbm/c64/C64_SERVICE_MANUAL.pdf Commodore C64 Service Manual] (Ray Carlsen / PortCommodore); [https://oldsilicon.com/technologies/commodore-64-250407-parts-locator/ C64 250407 Visual Parts Locator], OldSilicon; and [https://www.c64copyprotection.com/commodore-64-chip-set/ Commodore 64 Chip Set]. Source for the IC map, the PLA output-select pins (F1 pin 17 BASIC, F2 pin 16 KERNAL, F3 pin 15 character ROM, F5 pin 12 I/O) and the SID audio pins (27 out, 26 in).</ref> | |||
=== Clock signals (where to probe) === | |||
* '''Master crystal''': 14.31818 MHz (NTSC) or 17.734472 MHz (PAL) at the VIC-II, which divides it to make the dot and system clocks. | |||
* '''Dot clock''': 8.18 MHz (NTSC) / 7.88 MHz (PAL). | |||
* '''System clock φ2''': about 1.023 MHz (NTSC) / 0.985 MHz (PAL), generated by the VIC-II (U19) and fed to the 6510 and both CIAs. '''No φ2 means the VIC-II or the crystal is dead and nothing runs.'''<ref name="c64clk">C64 clock rates per the [https://www.c64-wiki.com/wiki/Clock C64-Wiki] and the service manual.</ref> | |||
=== PLA (U17) output selects — a scope short-cut === | |||
The 906114 PLA does the address decoding; probing its outputs shows at a glance whether the CPU is fetching ROM. Each output goes '''low''' when its area is selected:<ref name="c64svc">[https://portcommodore.com/rcarlsen/cbm/c64/C64_SERVICE_MANUAL.pdf Commodore C64 Service Manual] (Ray Carlsen / PortCommodore); [https://oldsilicon.com/technologies/commodore-64-250407-parts-locator/ C64 250407 Visual Parts Locator], OldSilicon; and [https://www.c64copyprotection.com/commodore-64-chip-set/ Commodore 64 Chip Set]. Source for the IC map, the PLA output-select pins (F1 pin 17 BASIC, F2 pin 16 KERNAL, F3 pin 15 character ROM, F5 pin 12 I/O) and the SID audio pins (27 out, 26 in).</ref> | |||
* pin 17 (F1) low = BASIC ROM selected | |||
* pin 16 (F2) low = KERNAL ROM selected | |||
* pin 15 (F3) low = Character ROM selected | |||
* pin 12 (F5) low = any I/O device selected | |||
A PLA showing no activity on these pins (or lines stuck high/low) is the classic no-boot / black-screen cause. | |||
=== Symptom → suspect chip === | |||
<templatestyles src="Template:StyledTable/styles.css" /> | |||
{| class="wikitable styled-table" style="width:100%; text-align:left;" | |||
! Symptom !! First suspect(s) | |||
|- | |||
| Black screen, no border || PLA (U17) → VIC-II (U19) → CPU (U7) | |||
|- | |||
| Garbage / checkerboard border || A 4164 DRAM (the border colour/pattern hints the failed bit) | |||
|- | |||
| Border + cursor, no KERNAL banner || KERNAL ROM (U4) or the ROM/PLA select | |||
|- | |||
| Screen OK but no blinking cursor || CIA U1 | |||
|- | |||
| No sound || SID (U18) | |||
|- | |||
| Keyboard / joystick dead || CIA (U1 / U2) | |||
|- | |||
| Runs then crashes when warm || Overheating PLA or SID (feel/freeze-spray) | |||
|} | |||
=== Diagnostic cartridges === | |||
* '''Dead Test''' cartridge runs with all ROMs, the SID and both CIAs removed — the border-flash count identifies the faulty RAM bit. | |||
* '''586220 Diagnostic''' cartridge, used with the keyboard/user-port/serial/joystick '''loopback harness''', tests every port and reports pass/fail — the definitive full-machine test.<ref name="c64svc">[https://portcommodore.com/rcarlsen/cbm/c64/C64_SERVICE_MANUAL.pdf Commodore C64 Service Manual] (Ray Carlsen / PortCommodore); [https://oldsilicon.com/technologies/commodore-64-250407-parts-locator/ C64 250407 Visual Parts Locator], OldSilicon; and [https://www.c64copyprotection.com/commodore-64-chip-set/ Commodore 64 Chip Set]. Source for the IC map, the PLA output-select pins (F1 pin 17 BASIC, F2 pin 16 KERNAL, F3 pin 15 character ROM, F5 pin 12 I/O) and the SID audio pins (27 out, 26 in).</ref> | |||
== References == | |||
<references /> | |||
[[Category:Commodore Systems]] | |||
[[Category:Troubleshooting Guides]] | |||