Jump to content

Commodore VIC-20 Troubleshooting Guide

From RetroTechCollection
A VIC-20CR logic board, with the 7-pin DIN power socket at the right.

The Commodore VIC-20 was built on two board families with different power arrangements, so start fault-finding by identifying the board. NTSC machines use the MOS 6560 VIC and PAL machines the 6561.

Pin numbers, chip positions, clock frequencies and supply arrangements come from Commodore's parts lists and schematics in the Commodore VIC-20 Technical Manual and the hosted Version E schematic.[1][2]

Model overview

[edit | edit source]

The VIC-20 has a 6502A at about 1 MHz, 5 KB of static RAM, two 6522 VIAs, and a VIC chip that produces the 22 × 23 display, the colour, the sound and the CPU clock.[2]

Board families[1]
Assembly Power connector 5 V regulation RAM Fuse F1
324003
(PC board 324002 rev C-F)
2-pin On board, VR1 on a heatsink Eleven 2114L 3 A slow-blow, 5 × 20 mm
250403 (VIC-20CR) 7-pin DIN From the external supply; no on-board regulator Two M58725P plus three 2114L 1 A slow-blow, 5.2 × 20 mm
Crystals[1]
Region VIC Crystal Resulting Φ2
NTSC MOS 6560 14.31818 MHz ≈ 1.02 MHz
PAL MOS 6561 8.867236 MHz ≈ 1.11 MHz

No VIC-20 board uses a 17.734 MHz crystal; that is the PAL Commodore 64 part.

Safety notes

[edit | edit source]

The VIC-20 has no CRT and no mains voltage inside the case; the risks are to the machine.

  • Disconnect the power supply before opening the case. On an early board the regulator and its heatsink stay hot for some minutes after power-off.
  • Use a wrist strap.
  • When probing a powered board, keep the meter tip clear of adjacent pins. Slipping across the cartridge or user-port edge can short 5 V onto a bus line.
  • On a CR machine, check the supply's +5 V output before you plug it in. The board has no regulator of its own.

There is no +12 V rail

[edit | edit source]

Commodore's schematics show the VIC's VDD on pin 40 tied to +5 V and VSS on pin 20 to ground, on both board families.[2][1] The supply rails are +5 V and the 9 V unregulated rail for the cassette motor and video stage.

Electrical test points

[edit | edit source]
Go/no-go checks[1][2]
Signal Location Expected
+5 V 6502A pin 8 (VCC); pins 1 and 21 are VSS +5 V
RESET 6502A pin 40 Low at power-up, then +5 V and stays there
Φ0 in 6502A pin 37 ≈ 1.02 MHz NTSC / ≈ 1.11 MHz PAL
Φ2 out 6502A pin 39 Same frequency
VIC supply 6560/6561 pin 40 (VDD) +5 V
VIC clock in 6560/6561 pins 38 and 39 Crystal frequency

Pin 40 of the 6502 is RESET and pin 1 is ground; measure +5 V at pin 8.

Typical symptoms and first suspects

[edit | edit source]
Symptom Check, in order Notes
Completely dead, no display Power supply, fuse F1, VR1 (early boards only), then the VIC and 6502A Check +5 V at 6502A pin 8 first. If it is missing on an early board, the fault is in the supply chain
Black screen, +5 V present VIC, KERNAL ROM (UE12), 6502A, address decoding No Φ0 at 6502A pin 37 points at the VIC, which generates it[2]
Garbage characters RAM, character ROM (UD7), VIC A pattern repeating on a fixed interval usually means one bad data bit
No sound, video fine VIC audio output, coupling capacitor, output stage Probe the VIC's COMP SND output (pin 19)[2]
No keyboard at all VIAs, keyboard ribbon The cursor blinks but no key is accepted
Some keys or joystick directions dead Keyboard matrix break, one VIA port pin A whole row or column missing
Intermittent resets Power switch, cracked joints at the regulator or bridge, electrolytics Flexing the board or working the switch reproduces it
Cassette motor runs continuously VIA port line, motor driver transistors On the CR board the motor drive is Q3 (2SC1815) into Q4 (2SD880) with a 6.8 V zener CR1[1]

Commodore made a VIC-20 diagnostic cartridge (324159-01, EPROM 324173-01) with a set of test plugs; its ROM is preserved at zimmers.net, but no manual for it is hosted here. See Commodore Test Cartridge Index.[3]

Diagnostic procedure

[edit | edit source]

1. Machine completely dead

[edit | edit source]

Confirm the monitor and cable first, then go to the supply.

On a CR board, measure the supply's +5 V output before plugging it in, then measure at 6502A pin 8 with the machine on. On an early board the supply provides only 9 V AC, so measure on the board. If 5 V is missing on an early board, work back: 6502A pin 8, VR1 output, VR1 input, reservoir C39, bridge, fuse F1, switch, connector.[2]

With 5 V present, check RESET at 6502A pin 40: it must go low at power-up and then sit at +5 V. A reset line stuck low holds the CPU.

Then check Φ0 at 6502A pin 37. If there is no clock there, suspect the VIC before the CPU: the VIC generates the CPU clock and feeds it out on its PΦ1 pin.[2]

2. Black screen with supply and clock present

[edit | edit source]

Remove any cartridge. Substitute a known-good 6502A, then the VIC, then the KERNAL ROM at UE12. A screen that stays blank after that points at the address decoding or a broken track; probe the 74LS138 decoders (UC4, UC5, UC6) for activity while the CPU is running.[1]

3. Partial boot or garbage display

[edit | edit source]

Stable power with a corrupted screen points at RAM: eleven 2114Ls on the 324003 board, two M58725Ps and three 2114Ls on the CR.[1]

If the banner appears and the machine then freezes, suspect a VIA holding IRQ or a marginal BASIC ROM (UE11). A cartridge that runs while BASIC crashes points at the on-board ROMs.

4. Good boot, bad graphics

[edit | edit source]

Wrong character shapes point at the character ROM (UD7). Correct characters in the wrong colours point at the colour RAM.

5. No audio

[edit | edit source]

Set the volume in BASIC with POKE 36878,15 (the VIC register at $900E), then set one of the voice registers. Probe the VIC's COMP SND output, pin 19. Silence there means the VIC; a signal there that does not reach the connector means the coupling capacitor or the output stage. On the Version E board the audio path runs through a 1 µF coupling capacitor to the video/audio connector.[2]

There is no SID in a VIC-20; all sound comes from the VIC chip.

6. Keyboard and joystick faults

[edit | edit source]

If every key is dead, reseat the ribbon, then swap the two 6522s between UAB1 and UAB3; if the fault follows the chip, you have found it. Isolated rows or columns trace to breaks in the keyboard PCB or a single VIA port pin.

Chip positions

[edit | edit source]

Commodore's parts lists give the same designators for both assemblies:[1]

Part Position
6502A MPU UE10
6522 VIA × 2 UAB1, UAB3
6560 / 6561 VIC UB7
BASIC ROM (2364) UE11
KERNAL ROM (2364) UE12
Character ROM (2332) UD7
74LS138 decoders UC4, UC5, UC6
74LS245 bus buffers UD8, UE8, UE9
4066 UD1
555 timer UB6
RAM 324003: UD2-UD6, UE1-UE6
CR: U14, U15 (M58725P) and UD2, UE1, UE2 (2114L)

The Version E schematic uses different designators: CPU UDE4, VIC UAB7, VIAs UDE7 and UDE8, ROMs UD5, UD6 and UC7.[2] Read the silkscreen on the board in front of you.

Things that are not faults

[edit | edit source]
  • 3583 BYTES FREE on an unexpanded machine is correct.[4]
  • There is no +12 V rail; see above.

Preventive maintenance

[edit | edit source]

C39 is the reservoir electrolytic on both boards. See Commodore VIC-20 Capacitor Replacement Guide for the per-board lists and Commodore VIC-20 General Maintenance for care of the regulator and connectors. Clean the cartridge and user-port contacts before suspecting a cartridge or the board.

[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Commodore Business Machines, Technical Manual, Model VIC-20, PN 990440, hosted at Commodore VIC-20 Technical Manual. Contains the parts list for PCB assembly 324003 (titled VIC-1001 PCB ASSY), the parts list for VIC-20CR assembly 250403, and the three-sheet VIC-20CR schematic 251027-01 Rev C, which gives the 6502A and 6560 pin assignments and the P7 power-connector wiring.
  2. ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 Commodore Business Machines, VIC-20 Schematic Main Logic Version E, © 1980, hosted here as File:Commodore VIC-20 Schematic (Version E).pdf. Single-sheet logic schematic showing the power-input chain, regulator VR1, the 6560 supply and clock inputs, and the 6502A pin assignments.
  3. ↑ vc-20-diag.txt—link(accessed 2026-10-01)
  4. ↑ VIC-20—link(accessed 2026-10-01)