Repaired at last!

A project log for Soemtron ETR220 Restoration Project

Recombobulating a 1970s vintage digital electronic calculator from Eastern Germany

keri-szafirKeri Szafir 10/01/2023 at 18:130 Comments

The Soemtron journey has come to a glorious end with a machine working and performing all operations.
In order to get it to this state, I had tons of figuring out how it works based on info gathered by including Soviet technical manuals. I was new to discrete transistor logic (especially running on negative 12V level) and ferrite core memory - this has been an excellent learning opportunity!

It has been a few months on standby and a month of trying to determine what was wrong. I got back to the project after my vintage computing nerd friend named Konrad gave me a whole spare arithmetic logic unit (ALU) soon after I saw he had one with no use for it. I hoped it was in a working order, that would make things easy... Unfortunately, things are never that easy in the world of vintage electronics, right? His ALU has parts missing on several modules, and borked transistors on some more. The second board i.e. the memory addressing controller board was damaged in a different way than mine, and by some trickery I managed to pin down the failing circuit.

How did I pull it off?

My memory addressing controller board didn't let me enter any number - it was all zeros no matter what I entered, despite having recombobulated and tested the keyboard. After I got the spare ALU, I swapped the boards and could enter digits 0...7. Digit 8 was converted to 0 and 9 was converted to 1, and since the device uses BCD encoding for numbers, I instantly knew that the 4th bit (8s) was dead somewhere. I suspected the flip-flops, but studying the machine's inner workings (mainly the ferrite core memory) plus some poking around with a scope led me to either a failing inhibit line for 8, or failing read amplifier. The failing inhibit would prevent the bit from being stored, or to be more precise, not erased when other bits were stored. First I swapped the HV4 and HV8 read amplifier inputs to see if I'd get 8 in place of 4... I got - so, the read amplifiers and their outputs were working right. By elimination, inhibit was suspicious. I checked the transistors in the BL8 driver circuit and one of them was shot, CE shorted. This possibly led to the ferrite core memory releasing some magic smoke as well; fortunately I had a spare in the donor unit and swapped them.

After getting the BL8 to work, I could enter full range of digits and the machine started performing all operations.

The question was, why my original addressing controller was failed...

First I noticed that the -12Vsp (memory driver power bus) was broken; finding this filled me with joy, which lasted shortly. After repairing the broken trace and testing the board, I put it back into the Soemtron hoping for issue resolving itself... It didn't happen - still the same, all zeros.

Then, since it was all zeros, I incorrectly suspected a circuit on the controller board that was common to all the drivers. It was a monostable trigger cutting a clock pulse to 4µs; it was working though. Well, at least I calibrated it with my scope. Again, still all zeros - something else was wrong.

Using the spare controller, I entered and copied a large number to the persistent accumulator (AC1...AC3) that wouldn't be erased after pressing the CLEAR key. After swapping the boards back to mine, I tried retrieving that number from the accumulator - and got only half of the digits, the rest being zeros. I tracked this issue to read line not working on half of the memory, regardless of digits being displayed (all memory planes affected) and regardless of register (AC1...AC3 same as MD and MR). So, column addressing was suspected, with half of the memory going down, which led me to Z8L or /Z8L drivers. After checking them and replacing a failed transistor, the machine started working like a charm. Not bad...

I spent a month working on the machine. Definitely exhausting, but also satisfying.