Category Archives: TRS-80

System-80 working (sort of)

This poor System 80 has been subject to cruel and unusual punishment at the hands of previous owners.

I’ve got the Ready prompt (the equivalent of the TRS-80 Memory Size) but it’s been hard work. All of the 2102 video RAMs needed replacing, as well as several LS157 muxes. I managed to link A4 and A5 when replacing a mux – that cost me a few days.

Pressing Enter gives a screen of full graphics blocks – I think the video RAM read is not working fully. But to debug that, I need to understand what is left of a lower case support mod and (I think) software switch for 32 col mode

Restoring the System-80

The battle for the System 80 has begun!

I started with no video, no CPU activity, and a very bodgy looking 64k DRAM upgrade using 4164s

Fixed the CPU issue by replacing a dead electrolytic in the reset circuit. Video came back when I replaced the cable between the boards.

I’ve reversed the 4164 upgrade and am working on the Drastik.

The time honoured “ROM of NOP” is generating square waves on the lower 8 address lines. Now I need to find where they stop being square!

Drasktik working on Model 1


The Model 1 is reporting 48k memory without a DRAM in sight. Only two solder wires required, plus adjustments to the two sets of jumper pads which I have replaced with DIP switches for ease of testing.

I’m still working on the solder-less 16k upgrade. May not be possible. Will look at this tomorrow (maybe).

Two minor issues with the board. Seems I can demux 14 bit DRAM addresses but have forgotten how NOR gates work. 🙂

Also had to rewire the keyboard cable as the janky job performed by the previous owner died when I opened the case.

I’ve also 3D printed some replacements for the rubber-ish board standoffs that crumbled to dust when I flattened the boards. If anyone wants the files, let me know.

Static RAM for TRS-80 and System-80

I’ve designed a board that allows replacement of the 8 x 4116 on the Model 1 or System 80 (aka Video Genie) with a single static RAM.

It also allows an upgrade to 48k with no extra parts. A similar board for the Model 3 and Model 4 will follow, with support for up to 128k.

I’m finishing up the board design now. The System 80 has weird spacing on the DRAMs, so I have to adjust the board to accomodate.

I’m trying very hard to get the gerbers out to PCBWay this week. Finger crossed!

Conquering the Alps

The collective wisdom of the Internet comes to the rescue.

TRS-80 owners on the TRS-80 Model 1-4/4P Facebook group offers many suggestions to my keyswitch dilemma, including replating the contacts, applying conductive paint, and adhesive copper.

One suggestion stood out – not only because of it’s simplicity but because I have used it many times myself over the years. This procedure requires a very special tool, one that is nearly obsolete in this day and age. I wasn’t sure I had such a rare device.

I did find one, eventually, in the back of a drawer

The rare and timorous beastie

The mighty pencil eraser, handily attached to it’s applicator wand.

A few quick pokes on the offending contacts, and the resistance dropped to below 1k in most cases. In an hour so, all of the key switches had been reassembled and resoldered.

I did look at the contacts under the microscope but didn’t see anything significant. Perhaps the gold looked a little brighter, but that’s hard to tell on an $80 microscope with 1080p screen that is three inches across 🙂

We’ll see how long the fix lasts, but for now, I am declaring victory.

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 🙂

Z80 Core is Booting

The FPGA TRS-80 project continues. I have the Z80 core, Model 1 ROM, and 16k of RAM connected. I need to rework the video address generation as there are timing issues. 
Below is a capture of the Z80 booting from ROM. Try and find the first few instructions as the CPU disables interrupts and performs a jump instruction.