Commodore Plus/4 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 Plus/4 boards I worked on.

Commodore Plus/4 Board #1

The first board would boot up correctly most of the time (with flashing cursor and correct amount of RAM showing), but every now and again it would boot into a screen with only a flashing cursor and not the start-up prompt.

Weirdly, one of the 4164 RAM ICs on this board has a gold ceramic package, which I’ve never seen on a Plus/4 as it is usually more typical of older (> 1982) ICs. The solder underneath looks similar to the rest and there was no flux residue, so it’s hard to say whether it was in from the factory, or whether someone installed it later. Hmm.

Board #1 booting correctly.

With a diagnostic cartridge installed (Diag264), the tests intermittently indicated a problem with the BASIC ROM (U23), which is socketed on the Plus/4. After installing a replacement, all the diagnostic tests passed and the boot-up issue stopped.

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

Commodore Plus/4 Board #2

The second board worked perfectly first time. Boooo!

Commodore Plus/4 Board #3

The third board seemed to display video fine and boot up correctly (with flashing cursor and correct amount of RAM showing).

Board #3 seemed to boot normally.

However, with the diagnostic cartridge installed the machine output a flash code (seven flashes) indicating a fault with U17 (according to the Diag264 documentation).

Flash code screen indicated a RAM fault.

After removing U17 using my desoldering station (a Duratool D00672), installing a socket, and replacing it with a new-old-stock 4164 DRAM IC, the board booted into the diagnostics correctly – however, the high RAM test failed with code “$4476-02 DEVICE”.

I tested the original 4164 RAM IC from U17 using my RAM tester, and it was indeed bad.

Diagnostic tests indicate a problem with the high RAM.

Unlike the dead-test style diagnostics we saw earlier which pointed to a problem with a specific RAM IC, the Diag264 documentation wasn’t very specific about this kind of failure code – all it made clear was that the “DEVICE” portion of the code meant that it was a problem with the RAM itself, and not the addressing circuitry.

I decided to pull out my IR thermometer to measure the temperature of all of the RAM 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). Unfortunately, none stood out in temperature.

I therefore decided to take the brute-force approach and remove all of the remaining original RAM (U11-U18), install sockets, then install a full set of known-good RAM – then, I could reinstall the original ICs one-by-one whilst running the diagnostics, to determine which ones were causing problems.

Micron-brand RAM ICs (uT 4264) – commonly used in the C64, C128, and Plus/4 – are known to be particularly unreliable (potentially due to their manufacturing process), so having these original ICs socketed would be good for peace-of-mind.

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.

Using this method, I found that another two 4164 DRAM ICs had failed, so I replaced them with new-old-stock ICs. After this, the high RAM tests now passed OK.

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

Commodore Plus/4 Board #4

The fourth board also seemed to display video fine and boot up correctly (with flashing cursor and correct amount of RAM showing).

However, similarly to the third board, with the diagnostic cartridge installed the machine failed the high RAM test with code “$47FA-00 DEVICE”.

Diagnostic tests indicate a problem with the high RAM.

As with the third board, the Diag264 documentation wasn’t very specific about this kind of failure code – all it made clear was that the “DEVICE” portion of the code meant that it was a problem with the RAM itself, and not the addressing circuitry.

Again, I pulled out my IR thermometer to measure the temperature of all of the RAM 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). Unfortunately, none stood out in temperature.

Again, I therefore decided to take the brute-force approach and remove all of the original RAM (U11-U18), install sockets, then install a full set of known-good RAM – then, I could reinstall the original ICs one-by-one whilst running the diagnostics, to determine which ones were causing problems.

Using this method, I found that one 4164 DRAM IC had failed, so I replaced it with a new-old-stock IC. After this, the high RAM tests now passed OK.

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

Commodore Plus/4 Board #5

The fifth board wouldn’t output any video at all, which could be caused by three things: the video circuitry not being powered correctly; the TED not generating a video signal properly; a problem with the circuitry between the TED output and the video cable.

The TED that I was testing with was a known-good part, so no problems there. I tested the voltages across the board, and both 5Vdc and 9Vac were present and stable. I then reflowed most of the solder joints on the board, particularly on the video socket which sees a lot of mechanical stress, in case a dry or cracked joint was causing these problems, but I saw no change in symptoms.

I then noticed that someone had been working on the board previously (sigh). There was flux residue and signs of rework underneath the RF modulator – the soldering was sloppy, and a large piece of solder runoff had shorted the composite video input to the modulator to ground, which would explain our lack of video output.

The fact that someone was attempting this kind of rework made me wonder whether the board might have other problems, too.

After cleaning up the previous rework, I re-tested the board – it now outputted video correctly, but sure enough it would only display a solid black screen; there was no change with the diagnostic cartridge installed.

In the Plus/4, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

I re-tested the 5Vdc and 9Vac power rails, and both were still present and stable. I removed and socketed the 8551 ACIA (U3), a 28-pin IC which controls the RS-232 interface, which could cause this fault, but the IC tested OK. I then removed and socketed the two 74LS257 multiplexer ICs (U9 and U10), which are responsible for RAM addressing, and tested them using my MiniPro TL866II –both were MOS-branded parts which are notoriously unreliable but both tested OK, so I reinstalled them.

Again, I pulled out my IR thermometer to measure the temperature of all of the RAM 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). Unfortunately, none stood out in temperature.

Again, I therefore decided to take the brute-force approach and remove all of the original RAM (U11-U18), install sockets, then test each of the original DRAM ICs whilst out-of-circuit using my RAM tester.

Using this method, I found that two 4164 DRAM ICs had failed, so I replaced them with new-old-stock ICs. I then re-tested the board, which now seemed to boot to a “garbage screen” with various seemingly-random flashing characters. There was no change with a diagnostic cartridge installed.

I’d seen these symptoms on 264-series machines before, and they seemed to be commonly caused by a faulty 7501/8501 CPU (which are proprietary to the 264-series, and notoriously unreliable) – however, I was testing with a known-good IC.

I then noticed that, if the CPU were physically pushed down into its socket, the diagnostic cartridge would start up as normal. This indicated a contact problem.

On closer inspection, the CPU socket was poor-quality, worn, and corroded. Sockets are used to allow the quick installation or removal of ICs without requiring soldering; however, they can cause contact problems if damaged, corroded, or loose, and reduce the amount of heat that can be sunk away from an IC and onto the PCB. Commodore often cheaped-out on sockets by reducing the number that they used (prioritising only the most unreliable ICs) and by using very cheap, nasty sockets.

I removed and replaced the original CPU socket. Care must be taken when removing these kind of poor quality sockets, as solder pools underneath the leaf contact and can cause via or trace damage if not completely removed.

After this, the board seemed to boot up correctly (with flashing cursor and correct amount of RAM showing). It also passed all diagnostic tests with the cartridge and harness installed.

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

Commodore Plus/4 Board #6

The sixth board outputted video correctly, but would only display a solid black screen; there was no change with the diagnostic cartridge installed.

Board #6 black screen fault.

In the Plus/4, a black screen fault is a common failure mode which can indicate all kinds of problems: typically, a missing or improper signal, a data or address bus conflict, an addressing problem, or a stack page fault, all of which can be caused by a power issue or a failed IC. Most of the ICs on the board are connected to the data or address bus, so there are a large number of potential problems that need to be worked through.

I re-tested the 5Vdc and 9Vac power rails, and both were present and stable. I removed and socketed the 8551 ACIA (U3), a 28-pin IC which controls the RS-232 interface, which could cause this fault, but the IC tested OK. I then removed and socketed the two 74LS257 multiplexer ICs (U9 and U10), which are responsible for RAM addressing, and tested them using my MiniPro TL866II – both tested OK, so I reinstalled them.

Again, I pulled out my IR thermometer to measure the temperature of all of the RAM 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). Unfortunately, none stood out in temperature.

Again, I therefore decided to take the brute-force approach and remove all of the original RAM (U11-U18), install sockets, then test each of the original DRAM ICs whilst out-of-circuit using my RAM tester.

Using this method, I found that three 4164 DRAM ICs had failed, so I replaced them with new-old-stock ICs. I then re-tested the board, which now seemed to boot up correctly (with flashing cursor and correct amount of RAM showing). It also passed all diagnostic tests with the cartridge and harness installed.

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: