Category Archives: Post Increment

Discovering The Alps

A pair of vintage TRS-80 computers recently arrived in my office, thanks to a good friend in the US who has been storing them for me and a generous checked baggage allowance on my recent business trip.

Getting one of them working involved learning more about vintage Alps key switches than I expected.

Model 4 – working but with case damage

With replacement of the RIFA caps in the power supply, and removal of a jumper, the Model 4 is running natively on 240V. All keys switches are present and working, but there was case damage during transit. I’ll be repairing that later.

Model 3 – no transit damage but not booting

The Model 3 is in good physical condition, except for two missing key caps with matching broken key stems, but needed a memory transplant to get to the Cass? prompt. It also got replacement RIFA caps but it’s older power supplies means it will always need a step-down transformer to run on Australian voltages.

Then I discovered that half the keyboard wasn’t working…

The kind folks on the TRS-80 Model 1-4/4P Facebook group offered several suggestions on how to proceed. Ian Mavric and Patrick Bureau both have videos on how to clean the Alps keyboard mechanisms, so I decided to start with that.

After some thought, I decided to find the difference between working keys and not-working keys. This meant measuring the resistance of the keyswitches and comparing them.

The rear of the Model 3 keyboard

Trying to measure the resistance with a multi-meter while balancing the keyboard on it’s edge was an exercise in frustration. And I wasn’t going to solder flying leads everywhere. If only there was a way to somehow connect all the keyswitches in parallel and measure them one at a time….of course!

Mr Blobby soldering!

The Model 3 keyboard connector has all of the keyswitch rows on the last 8 pins (2 rows of 4) and the columns on the next 8 pins (2 rows of 4) . By joining all of the rows together, and all of the columns together, every keyswitch is connected in parallel. Connect the two leads to a multi-meter – bingo! Press any key and get the resistance.

It was immediately apparent that reliably working keyswitches have a resistance of less than 2.5k. Anything up to 10k might work. Anything higher, nope. Non-working keyswitches were sometimes as high as 800k

So what was causing the difference in resistance? Time to pull some hardware and see.

I pulled a dozen high resistance keyswitches and disassembled them to see how they worked.

Five part of the Alps

Each Alps keyswitch has a small conductive plate inside the grey rubber plunger that is pushed onto a pair of gold contacts deep inside the body of the switch. This makes the circuit, and the combination of the spring and rubber provide the key tension.

Inside the switch body showing the tiny gold contacts
Inside the rubber plunger showing the conductive plate

I industriously swabbed the conductive plate and the inside contactors of each key switch with isopropyl alcohol. A quick resistance test of the first few switches revealed they were now well under the 2.5k limit, so I went ahead and did the rest.

I was tempted to solder them straight back into the keyboard plate. I’d done a random sample and all was good right?

Wrong. About half of the keyswitches were still high resistance. An additional cleaning pass didn’t really do much to help.

So what was going on? Time to dig deeper.

Eventually, I decided to compare a low resistance and high resistance keyswitch under a microscope. The conductor plates showed no difference, but the gold contacts were a different matter.

This is a good switch. There is a lot of gold still on the contacts.

Low resistance keyswitch

This is a bad switch. The right contact is obviously missing most of the gold.

Well, that explains the high resistance.

So, I’ll need to measure the resistance of every keyswitch as I clean, and/or do a microscopic examination. And when I’m finished, I’ll need to get new keyswitches to replace those that don’t work.

Or maybe I’ll take up Ian Mavric’s offer of a replacement keyboard.

Sounds like a tomorrow decision 🙂

PIPBUG now working

The problem with PIPBUG has been found, and the problem was nothing to do with PIPBUG!

The first 18up5 board that I built has always worked without issues, but the second “pretty” board did not. It took an embarrassingly long time to notice that the second board was missing the interrupt jumpers JP2 and JP3, and that these were also missing from the instructions.

Once these were installed, everything workied again!

If you are having problems with the G command not working, then make sure you have these jumpers installed. These prevent the CPU from getting an immediate (and unhandled) interrupt whenever a user program is executed.

I’ve updated the user manual to include this change, and have uploaded a working 300/4800 PIPBUG image.

Blog restarted

After a long absence, I’ve decided to restart my blog.

Mostly, it will have interesting posts or references to projects I am working on. From time to time, it may contain some non-technical content.

Let’s see where it goes.