Monday, 6 January 2025

Back fromt he Grave: Commdore 1571 redux (light stays on and the system locks)

  This entry is going to seem familiar at a glance, as the title is nearly identical to a previous entry. Unfortunately this is due to the tragic nature of retro computers in general: parts are inevitably going to fail, even when living an easy life. It's for this reason that both emulation and software preservation are going to start becoming more and more important as time goes on as eventually there simply won't be replacement parts available for many of these machines, and trying to fix ICs at the individual transistor level doesn't seem like it will ever be within the reach of a hobbyist - either in terms of ability or simple practicality.

Once again my childhood C128D is back onto the operating table, and once again it is exhibiting the same problem: the activity light remains lit and the spindle motor stays running, but there is no other activity and the system will simply stall waiting for the drive to respond. Does this also mean it's suffering from the same failure? Well, yes and no.

The first noteworthy point of diagnostics is that the data lines were showing what can only be described as noise. Unclean signals aren't at all uncommon on older machines like this, with levels varying by anything up to half a volt depending on what's doing the signalling and many chips showing "shark tooth" patterns, however these were showing far more variation than that and at an inconsistent pace. Something was sending out bogus data, and that in turn was causing the CPU itself to stall.

As a first step, the entire board was re-flowed. Bad connections could easily account for noise on the data line, and after 40 years it was possible that any slightly bad contact may have finally oxidised to the point it was no longer usable. In hindsight this was a pointless endeavour as it turned out that the bad data was at both ends on every line, and the chances of every line failing in the same basic way at even close to the same time without any physical damage is almost zero, but at least it didn't make things worse; and maybe it will help prevent some minor issues developing.

With the connections themselves ruled out, the next step was to establish which chip or chips were responsible for this bad data. Most of the larger chips in the 1571 are on the data bus: the CPU (U1), ROM (U2), RAM (U3), both VIAs (U4 and U9), WD1770 (U11), and the CIA (U20). As the CPU was needed to generate a clock for anything else to operate it needed to remain in place, and the WD1770 was not socketed so would be left alone unless it was determined to be possibly at fault. A substitute, custom ROM was used that did not require the RAM to rule these out as well.

As it would happen, the faulty data was coming from U4 - one of the two VIAs, and the remaining original VIA following the previous repair. It had finally given up like its U9 counterpart once did. Much like previously, however, this would only be part of the problem as switching this out for a substitute would prevent the CPU from stalling but would not bring the drive back to life.

Following a substitute U4, the drive appeared to be almost working. The CPU, with its now clean data, would continue to run and the drive appeared to behave itself as expected with the light and motor briefly running on boot. However the system itself would continue to hang as previously with no attempts being made to access a disc. If this sounds oddly familiar it should, as this is exactly the behaviour I documented as occurring after addressing the small gate array and serial cable. Substituting the new VIA and the earlier replacement would cause mechanics to fail, quickly establishing the problem: once again a faulty VIA in U9, meaning that both had failed this time.

Whether fortunate or not, we only had a single loose replacement VIA available that time. However we also had the sacrificial board that we had previously salvaged U5 (the smaller gate array) from, complete with a pair of matching W65C22s - high speed, CMOS-based VIAs made by WDC. Installing these has not only restored the drive but also resulted in a rather unexpected side-effect: the drive itself now operates significantly faster for any operations it can complete on its own, such as seeking or formatting. Unfortunately the serial data rates remain unchanged.

That's all for this BftG.  I have the unshakable feeling that eventually there will be another entry on this system - probably even for the drive. As to what part is going to go next, it would seem like perhaps the CPU, RAM, or one of the logic chips could give out at any time based on past experiences and experiences that others have shared online, though hopefully the CMOS VIAs will last this time. At least for now all of those should all still be obtainable as new stock, so hopefully we can keep it going until well beyond our ability to notice the difference. Now if only it were easier to get the heads re-aligned…

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