Commodore 64 Troubleshooting Guide: Difference between revisions

No edit summary
Add representative photo (Wikimedia Commons, attributed on file page)
 
(3 intermediate revisions by the same user not shown)
Line 16: 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 ==
== Diagnostic Tools & Techniques ==


=== Visual Inspection ===
=== Visual Inspection ===
Line 63: 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 ==
== Power-Supply & Voltage Checks ==
Always verify PSU '''before''' blaming main-board silicon.
Always verify PSU '''before''' blaming main-board silicon.


Line 88: 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 ==
== “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 98: Line 98:
# Remove SID/CIAs/4066 again if stuck.
# Remove SID/CIAs/4066 again if stuck.


== 💾 RAM Failures ==
== 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 113: 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 ==
== VIC-II (Video) Faults ==
{| class="wikitable"
{| class="wikitable"
! Model!!Pal IC!!NTSC IC!!Supply(s)
! Model!!Pal IC!!NTSC IC!!Supply(s)
Line 131: 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 ==
== 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 143: Line 143:
No internal fix – replace with same IC or modern clone (''ARM-SID'', ''Swinsid'', ''FPGASID'', etc.).
No internal fix – replace with same IC or modern clone (''ARM-SID'', ''Swinsid'', ''FPGASID'', etc.).


== 🧩 PLA (U17) Logic Chip ==
== 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 154: 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 ==
== 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 161: Line 161:
* Replace with 6510 or 8500 (HMOS) matching clock.
* Replace with 6510 or 8500 (HMOS) matching clock.


== ⌨️ Keyboard / CIA Issues ==
== 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 173: Line 173:
Swap CIAs (identical), socket & replace as required.
Swap CIAs (identical), socket & replace as required.


== 🕹️ Joystick Port Faults ==
== 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 180: 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 ==
== Character ROM & Other ROMs ==
{| class="wikitable"
{| class="wikitable"
! ROM!!IC/Location!!Boot symptom when bad
! ROM!!IC/Location!!Boot symptom when bad
Line 205: 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]]