Commodore VIC-20 (CR) Board Repairs

Alongside purchasing complete systems, over the past few years I’ve also accumulated a large quantity of incomplete circuit boards for “spares and repairs”, primarily from Commodore computers (VIC-20, VIC-20CR, C64, C64C, C16, Plus/4, C128, etc).

I got these for cheap in various job lots, with the intention of fixing up as many as possible and selling the working ones on for those who needed a fully-tested board (for swapping into a system, for use as a test board, etc). This meant I could focus on my favourite part of my work – the electronics restoration – without having to worry about case and keyboard cleaning, which is fun but can get quite tedious; also, a reliable supply of original spare parts from irreparable boards.

I recently finished my restoration of the salvageable boards, which has taken a VERY long time (bit by bit for the past year or so) because of both the quantity of the boards and the amount of work involved in testing, repairing, and cleaning each one.

This article focuses on a handful of VIC-20 (CR) boards I worked on.

Commodore VIC-20 (CR) Board #1

The first board would display video but wouldn’t boot up correctly, showing only a solid black screen; there was no change with a cartridge installed. In the VIC-20, a black screen fault usually indicates a missing signal or bus conflict caused by a failed IC – most of the ICs on the board are connected to the data bus or involved in addressing, so there are a large number of potential problems that need to be worked through.

I was planning on using this board as a VIC-20 test board, so I decided to remove all of the main ICs – the 6502 CPU, Kernal ROM, BASIC ROM, character ROM, VIC-I, VIAs, and 6116 SRAMs) using my vacuum desoldering station (a Duratool D00672) and install sockets, so the ICs can be easily swapped around for quick testing.

I always use high-quality double-sided sockets, which are more reliable than cheap single-sided sockets as they contact the IC legs on both sides – a lot of people push the use of turned-pin sockets, but I don’t like using them as they make swapping ICs difficult, they are difficult to desolder, and they are visibly obviously non-standard.

Once the sockets were fitted, I installed a full set of known-good ICs and re-tested the board, which now seemed to boot correctly (with a flashing cursor and the correct amount of RAM showing) – I then reinstalled each of the original ICs one by one and found that each was working correctly except for the BASIC ROM, which seemed to have failed and was responsible for the original black screen fault.

With a working BASIC ROM fitted, the board passed all diagnostic tests.

Commodore VIC-20 (CR) Board #2

The second VIC-20 (CR) board worked perfectly first time. Boooo!

Testing the second board (boots OK; cartridge works OK; disk drive works OK; tape drive works OK).

Commodore VIC-20 (CR) Board #3

The third board was another black screen fault, in that it would display video but wouldn’t boot up correctly, showing only a solid black screen; there was no change with a cartridge installed. In the VIC-20, a black screen fault usually indicates a missing signal or bus conflict caused by a failed IC – most of the ICs on the board are connected to the data bus or involved in addressing, so as with board #1 there are a large number of potential problems that need to be worked through.

Board #3 black screen fault.

The first thing to check with any repair is that power is being correctly received on the board, which may indicate a problem with the power socket, power switch, or fuse – I checked for 5Vdc and 9Vac on the user port, and both were OK.

A constant reset can also cause a black screen – I checked the reset signal at the user port and it worked as expected, staying low (around 0Vdc) for about a second at power on, then going high (around 5Vdc).

ROMs are a common failure on the VIC-20, so I decided to remove them all using my vacuum desoldering station (a Duratool D00672) – I also did the same with the UA1 CIA and replaced the poor-quality Kernal ROM socket whilst I was at it, which could have been preventing the IC from making proper contact with the board.

I always use high-quality double-sided sockets, which are more reliable than cheap single-sided sockets as they contact the IC legs on both sides – a lot of people push the use of turned-pin sockets, but I don’t like using them as they make swapping ICs difficult, they are difficult to desolder, and they are visibly obviously non-standard.

Once the sockets were fitted, I installed a full set of known-good ICs and re-tested the board – unfortunately, the board still would not boot.

I decided to pull out my IR thermometer to measure the temperature of all of the soldered ICs, to check for any outliers. IC failures often lead to gates shorting or pulling on inputs or outputs, which draws more current, which increases die and package temperature – this can range from a subtle difference to something that could quickly burn your finger (i.e. RAM ICs damaged by overvoltage.

UE2 and UD2 (2114 SRAM ICs) seemed to be running a little warmer than everything else, at approximately 33C. This wasn’t particularly significant and could have been caused by more load, but it was a place to start, so I socketed and tested all of the 2114 SRAM ICs (UD2, UE1, UE2) – unsurprisingly, all were working OK.

I then started checking the signals across the board using my logic probe, and noticed that most of the outputs of UB4 (7406 inverter) were erratic, and one was even open-circuit – UB4 is used to buffer a lot of lines within the VIC-20, so could cause a black screen fault. I pulled the chip and tested it using my MiniPro TL866II – sure enough, most of the gates were reported as having failed.

I installed a socket and replaced UB4 with a new part, then re-tested the board, which now seemed to boot correctly (with a flashing cursor and the correct amount of RAM showing).

Board #3 boots up for the first time.

After testing with a diagnostic cartridge and harness, however, the cassette test was reported as having failed, so the board was not fully working.

Board #3 fails the cassette port test.

I tried loading from a 1530 cassette unit to try and narrow down the problem that might be causing the test to fail, and the motor wouldn’t run at all. Q4 (D880) is responsible for driving the cassette motor, and I had some spares in stock, so I replaced it – no change in symptoms.

After the brute-force approach, I decided to investigate properly. Pin 39 of UAB3 (6522 VIA) was driving the motor on signal correctly, but there was no voltage at Q3 (2SC1815). I re-checked the fuse, and it was still OK; I checked the unregulated 9Vdc rail, and it was OK. It seemed that either Q3 had failed open-circuit, or that CR1 (6.8V Zener) had failed short-circuit – I tested both, and CR1 was indeed shorted in both directions. After installing a replacement, the cassette test now passed.

Components replaced during board #3 repair.

Fully tested with diagnostic harness; composite video output OK; audio output OK; cleaned ports and edge connectors.

Commodore VIC-20 (CR) Board #4

The fourth board was missing the electrolytic capacitor at C39, which I replaced before powering it on. After an initial test, it seemed to boot correctly (with a flashing cursor and the correct amount of RAM showing).

Board #4 boot screen.

However, when testing with a diagnostic cartridge, RAM test 2 failed with code “UC 0A BAD” – this indicated some form of RAM fault.

Board #4 fails diagnostic tests.

Given that the computer booted seemingly normally, I predicted that the three 2114 SRAM ICs (UD2, UE2, UE4) were probably not the problem – I therefore pulled the two 6116-family SRAM ICs (U14 and U15) and installed sockets for testing.

I installed two known-good ICs in place of the originals, and the computer now passed the diagnostic cartridge RAM tests, meaning that at least one of the 6116 SRAM ICs had been at fault. I reinstalled the originals and tested them one by one, and one had failed – I replaced this with a new IC, and all the diagnostic harness tests passed.

Fully tested with diagnostic harness; composite video output OK; audio output OK; cleaned ports and edge connectors.

Published by themightymadman

A conscientious, intelligent and committed graduate engineer, with excellent interpersonal skills, an eye for detail and a keen interest in hardware design, mathematics, and software development.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: