Building A New Motherboard For A TRS-80


The TRS-80 Model 100 was an amazing piece of kit when it was released. Able to run for a week with just four AA batteries and smaller than some laptops today, this portable version of the TRS-80 saw action with war correspondents covering the Falklands invasion. A pedigree a MacBook Pro will never be able to live up to, it seems.

[Hudson] picked up a non-functioning Model 100 with the express goal of replacing the 30-year-old electronics inside with an updated motherboard – and also pull up our retro site in the process. Armed with a Teensy++, [Hudson] pried open his ancient computer and set to work interfacing the display and keyboard to his AVR dev board.

The LCD display in the Model 100 has a resolution of 240×64, driven by ten Hitachi HD44102 display drivers. Each of these display drivers are responsible for the pixels in a 50×32 rectangle on the screen and are interfaced with a 30-bit wide bus consisting of chip select lines, and 8-bit data bus, and a few other random control lines. [Hudson] plugged this 30 pin header into his Teensy++ and after a bit of ingenuity regarding the strange electrical requirements of the LCD, was able to control every pixel on this 30-year-old display.

The next order of business was interfacing the keyboard with a modern microcontroller. The keyboard is laid out in a normal matrix, but with a few oddities: characters like ~, |, and curly brackets aren’t present on the Model 100. After working these problems out, [Hudson] set to work on a VT100 terminal emulator. This allowed him to run vi and lynx, enabling him to pull up the Hackaday retro site in a wonderful forty-column text mode.

Future improvements to this redesign include designing a proper PCB to replace the current protoboard design. The original Model 100 included a text editor and programming language, and adding a Forth implementation isn’t out of [Hudson]’s grasp. It’s an awesome build, and an excellent improvement that will allow [Hudson]’s Trash-80 to see another 30 years of use.

16 thoughts on “Building A New Motherboard For A TRS-80

    1. The model B RasPi’s power consumption is a LOT higher than the TRS-80 model 100; a model A so transplanted would be comparable (when you turn all the knobs down) to a bit more power thirsty (about twice that of the TRS-80 model 100).

      Wikipedia says: “The Model 100 was promoted as being able to run up to 20 hours and maintain memory up to 30 days on a set of four alkaline AA batteries.”, so given that AA cells have about 1500mAH, the stack has 7.2WH, and we can surmise that this means that power consumption when on was about 360mW, and standby was 10mW.

      The guy who posted his “replace the linear vreg in the model B with a buck converter” to HaD a while ago reported *after* his mod that the RasPi was taking 1800mW. The post where they announced the RasPi A, they point out that this 2/3 reduction isn’t incrementally available, so the model A is roughly going to be just 600mW, and so you’re talking about “half the runtime”

  1. Really cool! I’d love to see it with the teensy internalized so that there is no outwared appearence of a change. Is the power draw low enough you could feed it from the buss? This would be the perfect thing to have something like top runnnig on.

    1. The PCB was designed to fold under the cables like the original mainboard and fit inside the case with no externally visible changes other than the USB port and the removal of all the other ports. It is currently supported/wedged by a piece of foam, and I plan to make a proper PCB that lines up with the existing mounting holes.

      USB provides plenty of amperage to run the entire system when connected to a computer. I haven’t done a power measurement, but the modern AT90 core is pretty power efficient compared to the 80C85, so my guess is that with proper use of sleep states the battery usage can be lower than the original Model 100.

      The Raspberry Pi in a Model 100 project from hackaday earlier this year was only interfacing with the keyboard, not the screen. I wonder how much power the Pi draws compared to the original CPU.

  2. Love the hack!!! Very well done!

    For purposes of the retro site, however, at what point is the device no longer the original device?!? I mean, If I replace the Tandy CoCo II mobo with a Raspberry Pi running an emulator… and stuff it in the white shell, is it still a CoCo?

      1. My point is… This isn’t really a Model 100 any more. It’s a fancy case for an interesting hack using a Teensey ++ to drive the LCD from the original model 100. It seems everything else was replaced.

  3. Someone so needs to post a “how to underclock your RPi” tutorial.
    Obviously it would muck up all the timings but you could have a software driven “turbo” mode for those times you need to connect it to LAN, Wifi etc.
    Looked at my 256MB one and its just a simple crystal to set the timing, replace that with say one of 1/3 the frequency then turn down the core voltage if needed and the power consumption should drop by about 35%.

    1. Oh, and it would be well worth attempting a coloured backlight hack for this, using RGB 5050 LEDs.
      I was looking into home fabbing transparent EL with RG stripes then switching between green and blue very quickly for frontlighting of picture frames etc.
      This would also have the advantage of using the panel in passive mode :-)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.