A while back I got my hands on my first Commodore 128, yet another 1980s 8-bit computer to add to my collection. The machine was in good condition and came with several accessories and its original box, however it was sold as “untested”.
The Commodore 128, or C128, is the last 8-bit home computer that was commercially released by CBM, and is a significantly expanded version of its predecessor – the Commodore 64 – with full compatibility. It featured two 64 KB banks of RAM, an 80-column colour video output, and a Zilog Z80 CPU which allows the C128 to run CP/M. It has a cream wedge-style case like the C64C, and a full-sized mechanical keyboard.
The C128 had good sales worldwide, so they are not too difficult to find – there are usually a few up on eBay at any one time, but they often command high sale prices.
The C128 seemed to be all original, and featured a 1985 ASSY 310381 REV.7 mainboard with 128 KB of RAM – the CPU, ROMs, CIAs, SID, MMU, VDC, and VIC-III were socketed.
After checking that the PSU was working OK, I did a quick power-on test – the computer seemed to output video and booted correctly in C128 mode (with flashing cursor and the correct amount of RAM indicated), however there was an awful buzzing noise constantly being emitted from the audio output on the display.
I opened the computer to visually inspect the mainboard for any obvious issues, and didn’t see anything wrong – found a MOS 6581R4 SID from 1986 installed.
I tried using a diagnostic cartridge which features an indicative sound test, but there was no other intelligible sound output than the constant background buzzing.
I reseated all of the socketed ICs and cleaned all sockets, ports, and switches with contact cleaner, however there was still no change in symptoms.
I checked the 5Vdc and 12Vdc supply rails to the audio IC, the 6581 SID, and both were OK – these are both “clean” rails derived from the 9Vac input from the PSU via a bridge rectifier and two linear voltage regulators, VR1 (7805) and VR2 (7812).
I pulled out my IR thermometer to measure the temperature of the SID. 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). However, the SID wasn’t running any hotter than I’d normally expect.
I then performed a basic check on all the digital signals into and out of the SID using my logic probe, looking to see whether there may be any connection issues on the data or address busses, but all the signals were operating as expected.
At this point I suspected that the SID chip itself must be at fault – MOS chips are well known for their unreliability at the best of times, and ones that operate at higher voltages and run hot (such as the SID and VIC-II) suffer from accelerated corrosion that leads to premature failure. Also, the SID audio output is almost directly connected to the video connector, so the chip can be damaged if the video cable is hot-plugged. Because it was socketed, the SID would be easy to remove and test.
Finally, I installed a spare known-good SID, a MOS 6581R4 AR (which apparently stands for “advanced resonance”, and is one of the most acclaimed versions of the SID chip) – this seemed to fix the problem, and the audio output returned to normal.
At this point I would normally perform some preventative maintenance, starting with replacing the electrolytic capacitors – these are commonly used for filtering, smoothing, and decoupling in both high- and low-voltage electronics, and suffer from ageing.
However, the board was so original that I didn’t want to mess with it.
After all this work was performed, I did some finishing up: I thoroughly cleaned the mainboard with compressed air and an ESD-safe brush; I thoroughly cleaned the case inside and out using Cillit Bang and a microfibre cloth (or a toothbrush for tight spots); I cleaned all IC sockets, ports, and switches with contact cleaner; I replaced the thermal compound on both of the video chips, and between the RF shield and most of the ICs on the board; I also dismantled and thoroughly cleaned the keyboard.
The computer still seemed to boot OK following all of this work. However – and I know this well – just because a computer boots, doesn’t mean it’s working properly. Thorough testing is necessary to verify operation, so I did as much testing as I could.
- All keys registered correctly; shift-lock mechanism worked OK.
- All boot modes (C128, C64, and CP/M) all work OK.
- Power LED worked OK.
- Reset button worked OK.
- 40-column luma/chroma and composite video outputs worked OK.
- Audio output worked OK.
- All diagnostic tests passed correctly with diagnostic cartridge and loopback harness.
Functionally, the original PSU was working fine – I usually install a modern mains plug (3A fused) on any PSUs that I use (not possible in this case), and check the output voltage(s). Aside from that, the PSU casing and cabling just needed a good clean.
I’d generally recommend using a modern PSU with most vintage computers, as some of the originals can be prone to failure. The C128 PSU is an open-air design which makes it cooler and easier to service than an epoxy brick – it still has a 7805 linear regulator inside, which can fail in such a way that its input voltage starts to leak onto its output, causing all kinds of damage to the computer due to overvoltage.
As such, I would recommend regularly checking the output voltages on these kind of PSUs with a multimeter before using them, both when cold and hot – the 9Vac output is unregulated so can range from 9Vac to 12Vac when not under load, and the 5Vdc output should really range between 5.1Vdc and 5.3Vdc when not under load.
Personally, I use a modern-made Commodore 64 PSU which is reliable and safe to use, and because it supplies enough current it can power a C128 using a suitable adaptor – I keep the original PSUs as a part of my collection, but generally don’t use them.