Tuesday, 23 April 2019

Acorn Electron Repair - Part 1 Main Board

Lesson one in how to pack a computer: supermarket bags for life do not make a good packaging material.
Lesson two: try to remember to plug in the connectors and fit at least some of the screws.
It looks like the keyboard ribbon has been damaged, but let's leave that for the moment.
At first glance, the rest of the machine looks fine, issue two Acorn Electron with almost everything soldered directly to the board
One thing that wasn't soldered to the board, but should have been, was the RF modulator. It is looking a bit dodgy, wobbling around loose. Looking on the back of the board, you can just make out the cracked dry joints where it used to be soldered in.
What I hadn't noticed at first is the power cable has actually broken off as well. I would guess that as the modulator got looser, the owner would have wiggled around the TV lead in order to get a picture. That's never a good idea as it usually gets worse, and I think it this case has lead that wire fraying and finally breaking off.
The wire at the top is the composite video input, just a wire passing through a plastic grommet. The other wire is some kind of pass through capacitor, built into the case, so I didn't think I would be able to reattach it. Since I had a selection of spare UM1233 RF modulators removed after composite mods, so I fitted one of those.
In order to test the board, I borrowed a keyboard from another Electron and switched it on. A quick check around power, clock and reset were all behaving as normal, but it wasn't booting up, just showing some random(ish) characters in 32 character repeated pattern.
Before I go further, I should explain that it's important to have a keyboard plugged in as the Electron will not boot without one. The only other machine I can think that has the same issue is it's big brother, the BBC micro. They keyboard circuitry is very different, but neither OS will not progress beyond a blank screen with no keyboard present. (OK, some will boot, but many won't, the pins are left floating, so it depends on variations in the particular silicon in the ULA)
If you are used to working on Commodore or Sinclair machines, you wouldn't bother with the keyboard until you get to the stage where you have a READY or a K promt on the screen, but it's easy to then forget (or to not be aware) that Acorns won't. There is a brief mention of this in the service manual, but that should probably be a in bold at the top of each page.
The Electron keyboard is a 4x14 matrix, the 14 columns generated by the address lines A0-A13, and the 4 rows being read by the ULA. On the keyboard, there are pullup resistors on those input lines, and without those being present, the boot routine stalls.
In the past, I made a little dongle that plugged into the keyboard connector with those four resistors present (and a power LED for good measure). I couldn't find that, no idea where it is now, probably still plugged into an Electron board somewhere, so I made a new one.
I put this together on a spare bit of pad board, and as well as the four 15K pullup resistors, I added a green power LED and reset switch. As a bit of an afterthought, I added the red LED as the caps lock LED, and the right hand switch which presses shift+caps lock (which can be done with a single switch since they are on the same column wire). The idea being if the OS is running, it will toggle the LED, even if the screen display isn't working for whatever reason.
This plugs into the left hand side of the connector, and picks up pins 1 through 9 which has all the signal required. I tried it on a known working board, and it successfully does the job of replacing the keyboard and letting it boot.
As expected though, it doesn't help the faulty board in question, but it makes it easier to work on without having to keep plugging in a keyboard to test. The caps lock LED stays on and there is no response to shift + caps lock.
The random pattern on the screen is a bit unusual, Electron faults are usually black screen, or sometimes white screen, and those are usually caused by the ULA. This combines most of the IO, video generation and RAM management in the Electron.
 Under the metal cover is a ceramic chip.
You can quite often revive an electron by just cleaning the contacts and reseating the ULA.
They changed the socket type on these issue 4 boards, the chip is the same 12C021M as used on the earlier issue 2 boards, and they also suffer from the same issues.
By the time of the final(?) board revision, issue 6, they had changed to so soldered in blob chip, so that should be more reliable.
The RAM on this issue 6 board also used an alternative SIP module, with the same 4164 chips on.
4164? but there are only four of them? Well, that's one of the cost reductions in the Electron that was maybe a step too far. The 4164 is 64K by 1 bit. The Electron has four of those, and the ULA preforms two read/write cycles for each bit to get 32K by 8 bits, so memory access is half the speed it could be.
And the RAM is where I am currently looking for the problem with the faulty issue 4 board (remember that?). Probing around, the address lines on the chips were all wiggling around nicely, and the data pins (pins 2 and 14 on each chip) looked fine on three of the chips, but one wasn't moving at all.
That looked a likely suspect, so I replaced IC5 with a good working 4164 and tried it again.
Now that the board is working, it is going to be worth repairing the keyboard. Had it been a faulty ULA, I already have several boards that are fine other than a bad ULA, so would have just filed it along with those.
This has already gone on too long, so tune in for part 2 where I repair the keyboard.

If you want to support this blog, you can donate via Patreon or Paypal, or buy something from my store.