Sunday 21 January 2018

Back from the Grave: Apple //e (vertical white lines)

The penultimate version of the 8-bit Apple II - the Apple IIe (stylised //e) - was originally released in 1983.  In essence, it was little more than a standard Apple II with some of the optional extras built in, and many off-the-shelf chips replaced by fewer custom ASICs.  Powered by an MOS 6502 running at 1MHz and featuring 64KB of RAM, expandable to a staggering 1MB, along with expansion card facilities it was very much a home computer - but its lack of graphical acceleration, single channel "beeper" sound and limited input options heavily restricted its gaming capabilities (especially compared to the recently-released Commodore 64).

Including its later revisions (Enhanced and Platinum), the //e ultimately became the longest-lived version of the Apple II before finally being discontinued in 1993.

The particular IIe of this story came into my family's possession in the mid '90s.  I don't know the specifics behind it, other than it having come from a friend of my younger brother and even back then it didn't work.  Many of the chips and components had rusted legs and the PSU didn't function, but someone had clearly tried to fix it as most of the screws were also missing.  For the next ~20 years it would live in a shed, doing little more than occupying space.

After sorting out an alternate power supply (and old IBM-compatible AT unit and some alligator clips), we established that the machine wasn't entirely dead.  It wasn't exactly working, but it would display a series of vertical white lines which appeared to be on every other character.  There were also a handful of other white blocks filled in.  As Miracle Max says, "Mostly dead is still slightly alive," so we figured there was a chance of a full recovery.

First things first, we gave it a good cleaning.  Every chip that can be was removed, and the whole board was given a once over with a battery-powered toothbrush and isoproyl alcohol.  Due to unfortunate circumstances this was basically done by candlelight during the middle of a storm, but there's no sense in wasting time when it would have to be finished before we tested it.  The chip legs were also treated to a similar cleaning.  This would ultimately create two problems, and expose a third.

The first problem was obvious.  One of the legs of the keyboard ROM had rusted all the way through, and the vibration from the toothbrush had broken most of it off.  We attached a "prosthetic" (a cut-off from a resistor) to what remained of the stub, hoping that this would be sufficient.  It would be a while before we got a chance to test this, however, as a result of the other issue.

The second problem was that the system now wasn't displaying anything at all.  No white lines, no random blocks - nothing.  An oscilloscope would later confirm that this was due to the CPU not receiving an input clock, or "heart beat".  In fact, the crystal was not producing a signal at all.  It turns out that it suffered a similar fate to the keyboard ROM, and one of its legs had broken in two during cleaning.  Unlike the ROM, however, there was still enough good metal left that we could join the two pieces back together and get it going again.  Success - we had a heart beat!

Unfortunately, this didn't bring back the lines.  The CPU was receiving a clock, but it wasn't doing anything.  Confirming with an oscilloscope once again, the addressing lines sat perfectly idle - so it wasn't even trying to do anything.  Given the condition of the chip (some of the legs had started to blister they were so badly rusted) we figured it had suffered a similar fate to the other rusted legs, but the absence of visible damage suggested this was within the package; thus terminal.  The project now went on hold pending the arrival of a replacement MOS 6502.

The third problem wasn't directly related to the chips, or even the base unit itself.  During our testing, the monitor decided that it'd had enough and promptly let out the magic smoke.  To date we haven't checked as to why, but it's a secondary consideration as the system can be run from a standard A/V input - and there's no point having a monitor without having anything to plug into it.

Fast forward a few months and the new chip arrived.  It was installed, and the address lines now showed signs of life.  It was arguably a gamble, but it paid off - the 6502 was dead, long live the 6502.  Hooking it back up, this time to a TV, we discovered that the white lines had returned.  If nothing else, at least we were back where we started.  And having a picture presents the opportunity of being able to observe differences in behavior without having to get a scope out and interpret the results.

As luck would have it, I'd stumbled upon a forum thread which mentioned a similar issue.  They provided no pictures but spoke of thick white bars on the screen.  In general, the feedback they received suggested that the RAM was at fault, if not the processor.  We'd just installed a new processor, so the RAM was the next logical step; if indeed these were the same problems.

Another stroke of luck was that my brother had already ordered a set of RAM chips for a different project, but they were the wrong ones for that - and the right ones for the Apple.  Since we already had the chips and sockets are cheap (this was a later IIe, where the RAM was directly mounted to the board instead of being socketed), it was simply a matter of time to switch them all out.  Worst case we could just put the original chips back.

We had life!  The display was blinking periodically, and not staying put horizontally, but we could see it.  Booting into the BASIC interpreter, a few tests suggested that it wasn't just displaying an image but also capable of accurately executing commands.  Now we just had to fix the display.  This, however, would fall into our laps by accident, as we tried running the internal self test (Ctrl-Open Apple-Reset, and a new feature of the //e) since it might show the cause of the problem.  Upon its completion, the display had stabilised perfectly: Kernel OK.

That's all for this BftG.  While still dotted with surface rust on some chips, this particular system is now working perfectly - save a few keys needing to be cleaned out (it's 35 years old, after all).  Now it just waits on the processing of its twin floppy drives, addon cards and the inspection of its monitor.

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