Commodore 64 Troubleshooting Guide: Difference between revisions
No edit summary |
Add representative photo (Wikimedia Commons, attributed on file page) |
||
| (4 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 == | |||
== | |||
=== Visual Inspection === | === Visual Inspection === | ||
| Line 65: | 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 92: | 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 104: | 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 121: | 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 141: | 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 153: | 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 168: | 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 177: | 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 191: | 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 200: | 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 217: | 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 229: | 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]] | |||