Commodore VIC-20 Troubleshooting Guide
| This page requires updating. It is either incomplete, inaccurate, vauge or needs verification. If you wish to contribute, please do! |
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.
| 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.