Tuesday 25 June 2019

Back from the Grave: Commodore Plus/4 (kitchen sink)

Following on from the success of the C64, Commodore set about creating a system to replace the ageing VIC-20 - itself still in production - and potentially replacing the C64 itself with something cheaper. The 264 series was born, split into three variants: the largely-unknown-outside-Europe 116, the 16, and the Plus/4. While the former two featured just 16KB of RAM, the latter boasted a full 64KB; plus a 4-programme office suite in ROM (from which it derived its name).

Sadly, for all it did right, it did far too much wrong to make a name for itself. While it had twice the clock speed, more colours to choose from, stereo sound, and even more usable RAM (approximately 60KB was free in BASIC), it cost as much as the established C64, couldn't run the majority of existing Commodore software, had a fractured market due to the 16KB variants, lacked sprite and sound modulation capabilities, and inexplicably changed nearly every external interface to one that was physically incompatible with existing peripherals.

The entire 264 line was discontinued in 1985 - the year after its introduction.
This particular Plus/4 came to my brother from eBay in "as is" condition, without any accessories. So after giving the machine a good physical cleaning (those keyboards function like new after some treatment) the first port of call was to power the thing so its condition could be assessed.

As I mentioned in the lead-up, Commodore opted to change many of the external connectors. This includes the power supply connector. It still uses the same 5VDC and 9VAC of a C64 (and the VIC-20 before it), but instead of a  7-pin DIN it used a customised 4-pin square plug. While this meant an adaptor could possibly be made, the solution was far more simple - the motherboard still features the correct through-hole pattern to install a C64 power connector without changing any of the pin assignments. A few legs were clipped to avoid any potential shorts, and a power connector from a donor C64 was installed without issue.

Straight up, there was a problem. In simple terms the machine didn't do anything. After a heart-beat was confirmed with a CRO, my brother decided to simply switch out chips into a known good C16 until it gave the same problems to determine the failure. This quickly lead to the PLA being identified as faulty, as switching them would result in the C16 failing and the Plus/4 working. A replacement would need to be sourced.

With the PLA replaced, the process continued. Most immediately obvious was that there were errant characters on the screen. Not many of them, and with no real pattern to them, but they were all basically the same - spaces (character 0) had become quotation marks (character 2). Since the Plus/4, like the C64, uses eight 64-kbit memory chips, our immediate suspicion was that the #2 RAM chip was the culprit, since this could easily put the characters out by a value of 2.

A quick memory test would confirm this. The donor C64 came out again, this time yielding its RAM to the cause. At it turns out, removing more than just the one chip was a good idea. Iroincally the #2 chip - the substitute - would fail shortly afterwards, requiring yet another replacement. Not surprising, given the number of failed RAM chips we've seen to date, but certainly unexpected.

The next issue to tackle was the office ROM - basically the main selling point of a Plus/4, beyond its smart looking case, anyway. Initially, attempting to use this would simply not work. Fortunately this one was both easy to diagnose and easier to fix. A quick physical inspection of the ROM chip itself revealed at least 3 of the pins had not been correctly inserted into the socket, so we simply had to remove the chip, clean it up, and correctly install it.

Following all of this we figured we had found and fixed all of the problems, but it turned out there was one more. One which would be perplexing at a glance, yet had a remarkably simple solution.  When playing some games it would just pause, then come good shortly afterwards. Nothing seemed to be going wrong, aside from the fact it shouldn't be pausing. Following some head scratching we realised that it would pause any time the joystick in port 2 used the fire button, un-pausing when any input was received at all.

Unlike in a C64, both joystick ports in the 264-series were read the same way as the keyboard (the absence of CIA chips was a cost-cutting method, and no SID meant no ADCs for analogue input). To keep the joysticks from being permanently active, a buffer chip (U102, a 74LS125) is used to toggle whether the keyboard or joystick is being read - one channel for each stick. In this machine, the channel which toggled port 2 was stuck low, meaning the stick was always active.

It just so happens that joystick fire buttons trigger the same column of the keyboard matrix which included the Run/Stop key. So any time the joystick in port 2 used fire, TED would receive a signal saying that Stop (along with Shift - the correct key -, X, V, N, ",", /, and @) was being pressed. Doing as it told, it responded by following the Stop routines. Once more a quick substitution would resolve the situation, and at last the machine was 100% functional.

In order to ensure longevity of the system, once all of these repairs and modifications were complete my brother opted to install heat sinks onto any chip made by MOS/Commodore. The Plus/4 is known for overheating as a result of its diminutive enclosure and the extra power draw of the office ROM (even when it's not in use - such power management was over a decade away), so this is definitely something you should look into even with a working example. However, that same diminutive enclosure does make it very awkward, so even small heatsinks need to be mounted carefully and sometimes modified to suit.


Thus ends another BftG. I'm unsure when the next is likely to come, but we do have a couple of projects on the go at the moment so there will be something more down the line. Both for better and worse, we're running out of machines to fix!

Remember that electricity can be dangerous to both property and life.  If you don't respect it you can wind up seriously hurting or even killing yourself or others, and chances are it's going to be painful while it's happening.  Unless you're sure of what you're doing, avoid tampering with any electrical circuit - especially when it's live or mains powered - and always ensure you have a nearby assistant who can contact emergency services.

No comments:

Post a Comment