Commodore C16 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 Commodore C16 boards I worked on.

Commodore C16 Board #1

Before installing a set of known-good test ICs into a C16 board, it’s good practice to check that the 7805 voltage regulator is providing a stable 5Vdc – it’s possible for linear regulators to fail in a way that passes the input voltage (9Vdc unregulated) onto the output, which can cause damage to the computer. In this case, the output was fine.

The first board displayed a video output and seemed to boot correctly (with a flashing cursor and the correct amount of RAM showing).

Board #1 boot screen.

However, when testing with a diagnostic cartridge and harness, the cassette failed with code “07” – this indicated some form of fault with the cassette circuitry.

Board #1 fails diagnostic tests.

I noticed that the majority of the board suffered from poor solder joints, so I reflowed most of the joints on the board – paying close attention to those on the rear sockets, especially the cassette port – in case a cracked joint was causing an intermittent connection in the cassette circuit, however there was no change in symptoms.

I then decided to replace the power transistor at Q5 (TIP29C), which is responsible for driving the cassette motor line, as I had a spare in stock – however, this led to no change in symptoms.

I also decided to replace the poor-quality CPU socket, which can cause all kinds of issues (as I’ve seen a lot in the past), in case the CPU was not making proper contact with the board and wasn’t driving the cassette circuit properly – however, this led to no change in symptoms.

After the brute-force approach, I decided to investigate properly. I desoldered U11 (74LS125), the tri-state buffer which drives the cassette sense line, using my vacuum desoldering station (a Duratool D00672), and tested it with my MiniPro TL866II – it was working OK, so I installed a socket and reinstalled the original IC.

I did the same for U9 (7406), the inverter which buffers all of the cassette-related lines – this was working OK too, so I installed a socket and reinstalled the original IC.

I then investigated the passive components of the cassette motor circuit, particularly D12 (1N754A 6.8V Zener diode) which could be damaged if the computer is used with a reverse-polarity PSU (a centre-positive PSU instead of the correct centre-negative PSU) and prevent the cassette motor from running.

Using the diode test function of my multimeter, I found that D12 was showing low impedance in both directions – after replacing this with a suitable replacement, the cassette test now passed correctly.

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

Commodore C16 Board #2

The second board had been “repaired” in the past – someone had presumably decided that the machine had a RAM fault, and tried to desolder both the 4416 DRAM ICs (seemingly with a bulldozer), damaging the board, traces, and vias under both chips.

Unlike the Sinclair ZX Spectrum and many other vintage computers which use 4116 DRAM ICs, the Commodore C16 uses 4416 DRAM ICs which only require a 5Vdc supply, and not a 12Vdc and -5Vdc supply.

Top-side close-up of some of the damage to board #2.

The damage wasn’t too extensive and seemed repairable, but it’s unfortunate that it had to happen in the first place – I’m all for people wanting to fix their electronics and learning to do so themselves, but it’s best to practice and get the proper tools before attempting work on a good board like this, else you end up just causing more damage.

I removed the remaining RAM IC by cutting all its legs at the package, then desoldering them individually, to avoid causing any more damage to the already weakened vias.

I cleaned the area thoroughly with IPA so I could properly inspect the areas that needed attention: all of the vias on both ICs had at least minor damage, including deformation and damage to the through-hole plating, but all seemed to be usable; five traces had been broken next to the via eyelet, so would have to be repaired.

When repairing damage like this, I clean and tin each affected via eyelet, then strip and tin approximately 20mm of each affected trace. For each broken trace, I snip a short length of wrapping wire and form it into an ‘L’ shape, poke the shorter side through the affected via eyelet, then tack the longer side along the bare part of the affected trace using solder, making sure that it is mechanically stable.

Once all of the broken traces had been jumped like this, I installed a set of sockets and checked that continuity between each pin and each trace were now OK. I then installed a new set of 4416 RAM ICs.

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.

I replaced the missing fuse with a suitable one, checked that the 7805 voltage regulator was providing a stable 5Vdc, then installed a set of known-good test ICs.

After a quick test, the second board displayed a video output and seemed to boot correctly (with a flashing cursor and the correct amount of RAM showing).

Board #2 boots up for the first time.

After further testing with a diagnostic cartridge and harness, it also seemed to pass all of the diagnostic tests. I doubt that the original RAM had even been faulty – my guess would be that the previous owner had a problem with one of their socketed ICs but didn’t have any way of testing them, so resorted to replacing the RAM out of guesswork.

4416 SRAM ICs have the same pinout as the 41464 SRAM ICs used in the Commodore 64C. As such, a common modification is to upgrade the C16 to 64KB RAM – this involves replacing the two 4416 RAM ICs with 41464 RAM ICs and connecting the upper address lines on the CPU, or using a pre-built adaptor board.

Fully tested with diagnostic harness; composite video output OK; luma/chroma 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: