Jump to content

Commodore VIC-20 Troubleshooting Guide

From RetroTechCollection

This page concentrates on hardware faults that affect every VIC-20—NTSC models built around the MOS 6560 and PAL models that use the MOS 6561. Step-by-step diagnosis is given for the two major board families (ASSY 324003 and the cost-reduced ASSY 250403/VIC-20CR), together with tables of the most frequent symptoms, IC failure modes and electrical test points. Follow anti-static precautions at all times and remember that the early two-prong machines contain a live 9 VAC / linear-regulated 5 V supply.

Model overview

[edit | edit source]

The entire VIC-20 range shares a 6502 CPU clocked at ≈ 1 MHz, 5 KB of on-board SRAM, twin 6522 VIAs and a single VIC chip that generates 22 × 23 text, colour, sound and the φ2 CPU clock.

  • NTSC boards: MOS 6560, 14.318 MHz crystal, 60 Hz video.
  • PAL boards: MOS 6561, 17.734 MHz crystal, 50 Hz video.
Major motherboard revisions
Assembly Power connector Regulator inside computer RAM layout Notable changes
324003 (early) 2-pin AC 7805 + fuse 11 × 2114 (1 K × 4) Large PCB, nearly every major IC socketed
250403 “CR” 7-pin DIN External 5 V, internal 12 V doubler 2–4 larger SRAMs (e.g. 6116) Smaller PCB, fewer sockets, cassette motor driven by Q3 + Q4 + CR1 zener

Safety notes

[edit | edit source]

Disconnect the PSU before opening the case; early machines contain a linear 5 V regulator that can be hot and hold charge on large electrolytics. Use a grounded wrist-strap when handling the MOS 6502, VIC or 6522s. When probing a powered board keep multimeter tips clear of adjacent pins; slipping across the user-port or cartridge edge will short 5 V onto delicate lines.

Typical symptoms and first suspects

[edit | edit source]
Symptom Most probable culprits (in order) Diagnostic clue
Black screen, no chirp PSU / fuse ▸ 7805 ▸ 6502 ▸ VIC ▸ KERNAL ROM 5 V missing, φ2 clock absent or RESET stuck low
Random or “checkerboard” characters 1 K SRAM(s) ▸ character ROM ▸ VIC Pattern repeats every N bytes ⇒ single data bit bad
Stable screen, wrong colours Colour SRAM (2114) Characters correct but always same or flickering colour
No sound, video OK VIC audio DAC ▸ coupling capacitor ▸ RF modulator transistor Scope shows silence on VIC pin; A/V hum test silent
No keyboard at all VIA #1 ▸ keyboard ribbon System boots, cursor blinks but no input accepted
Some keys/joystick directions dead Matrix row/col break ▸ VIA port line Entire row/column missing in key-test PEEK(37151)
Intermittent resets / flashing Power switch ▸ cracked solder on 7805 ▸ dried electrolytics Wiggle switch recreates fault; volt-meter shows 5 V dip

IC failure reference

[edit | edit source]
IC Function Failure behaviour
MOS 6502 (40 pin) CPU, executes KERNAL/BASIC Black screen, no bus activity; may overheat
MOS 6560/6561 VIC Generates φ2, video, 3-voice audio No video + no sound (total); or colour gone, rolling picture, silent audio
MOS 6522 VIA × 2 Keyboard, joystick, IEC, timers, cassette Dead keyboard, motor won’t run, “DEVICE NOT PRESENT”, stuck IRQ
SRAM 2114 / 6116 5 KB main + colour memory Garbled text, random lock-ups, wrong colours
ROMs (BASIC / KERNAL / CHAR) System firmware & font Black screen (BASIC/KERNAL) or correct screen with wrong glyphs (CHAR)
74LS logic (138, 245, 157 …) Decode & bus buffers Black/garbled screen, often one enable line missing

Diagnostic procedure

[edit | edit source]

1 · Machine dead / black screen

[edit | edit source]

Confirm monitor & cable, then measure 5 V at pin 40 of the 6502 and 12 V at the VIC supply pin. Check RESET on pin 1: it must pulse low-then-high at power-up. Verify a 1 MHz square-wave on φ2 (pin 37). With power proven, remove cartridges and swap in a known-good 6502, then VIC, then KERNAL ROM. Boot with both VIAs pulled—BASIC will appear without them; if it does, test each VIA individually. A persisting blank screen after those swaps implies address-decoder logic or a PCB trace fault; probe 74LS138 outputs for activity when the CPU fetches ROM.

2 · Partial boot / garbage display

[edit | edit source]

Stable power but corrupted screen points to RAM. The video matrix lives at \$0400–\$0FFF, so bad chips in that block produce immediate garbage. Replace or piggy-back the lower SRAMs first. If the banner occasionally appears yet the machine quickly freezes, suspect a VIA flooding IRQ or a BASIC ROM with marginal bits. A cartridge that runs correctly while BASIC crashes confirms on-board ROM trouble.

3 · Good boot, bad graphics

[edit | edit source]

Composite cable checked? If characters themselves are wrong the 4 KB character ROM is likely defective. Correct characters in the wrong hues implicate colour RAM. Vertical stripes that repeat every 4 or 8 columns suggest a stuck address line or a dead 74LS157/257 multiplexer feeding the VIC. Persistent jail-bars or dot-crawl after RAM/ROM replacement hint at dried capacitors in the RF modulator or a VIC analogue fault.

4 · No audio

[edit | edit source]

Generate a tone in BASIC (`POKE 36878,15`). Probe the VIC audio pin; if silent the VIC is faulty. If the waveform is present, follow it through the 10 µF coupling capacitor into the modulator or audio transistor; replace whichever blocks the signal.

5 · Keyboard / joystick faults

[edit | edit source]

If every key is dead, reseat the ribbon then swap the two 6522s—keyboard scanning will move with the faulty VIA. Isolated columns/rows trace to breaks in the keyboard PCB or a single VIA port pin. A joystick shares the same matrix lines; a faulty joystick direction AND its corresponding keyboard column failing confirm the VIA line.

Electrical test points

[edit | edit source]
Signal Location (any board) Expected value
+5 V DC 6502 pin 40 or C15 positive lead 4.90 – 5.15 V
+12 V DC VIC pin (schematic) or 470 µF 16 V cap 11 – 13 V (absent → black screen / no colour)
φ2 CPU clock 6502 pin 37 ≈ 1.02 MHz (PAL) / 1.11 MHz (NTSC) square wave
RESET 6502 pin 1 Low <100 ms on power-up then +5 V
Composite video Centre pin of A/V DIN 1 V p-p with –0.3 V sync

Internal jumpers

[edit | edit source]

Board links that differ between NTSC and PAL set the crystal and VIC clock wiring; do not alter them unless performing a full conversion (VIC + crystal + jumpers together). The VIC-20 has no DIP switch for memory or ROM selection, and cassette-motor voltage on the CR board is fixed by Q3/Q4/CR1.

Preventive maintenance

[edit | edit source]

Replacing the large electrolytics (5 V filter ≈ 2200 µF 16 V and 12 V filter ≈ 470 µF 25 V) cures many stability and video-noise issues. An early two-prong machine benefits from a modern Cool-Running 5 V DC/DC regulator in place of the hot 7805. Keep the VIC heat-sink intact and renew thermal compound. Clean cartridge and user-port edge connectors with IPA; oxidised gold fingers often masquerade as cartridge “no boot” faults.

IC location cheat-sheet

[edit | edit source]

ASSY 324003 (“two-prong”)

[edit | edit source]
  • UB2 or UE1 – MOS 6502
  • UC1 – MOS 6560/6561 VIC (under RF can)
  • UB3 & UB4 – 6522 VIA A / VIA B
  • UD3 (KERNAL), UD4 (BASIC), UD5 (Character) – 8 KB, 8 KB, 4 KB mask ROMs
  • Row UE? / UF? – 1 K × 4 SRAMs, colour RAM near VIC

All above are socketed; SRAMs and 74LS logic are soldered.

ASSY 250403 (“VIC-20 CR”)

[edit | edit source]

CPU, VIC and often one VIA remain socketed, ROMs still grouped together (UA14-UA16). SRAM count drops to three larger 6116-type ICs. Transistors Q3 & Q4 with zener CR1 sit next to the cassette/user-port edge and control motor +6 V.