Josh Sucher Surprises His Dad with a Restored TRS-80 — Delivering LLM Chats, Games, and More
Using a Wi-Fi modem, this vintage eight-bit micro gets an AI upgrade — and plays Happy Birthday to boot.
Maker Josh Sucher surprised his father on the 70th anniversary of his birth with a project straight out of the late 1970s: the restoration of a Tandy-Radio Shack TRS-80 Model I to host a custom-built app capable of everything from playing Happy Birthday to holding a large language model-powered conversation.
"I spent this summer building a new app, for a machine that hasn’t been on the market since 1980 and wasn't built to support graphics, sound, connectivity or even lowercase letters, sold by a company that went bankrupt a decade ago, tailor-made for an audience of one: my dad, who celebrated his 70th birthday this past Friday," Sucher explains. "Meet the MTS-70."
The heart of the project is a TRS-80 Model I, an eight-bit microcomputer released in 1977 and discontinued in 1981. Powered by a 1.774MHz Zilog Z80 — only recently discontinued, to the consternation of its fans — and with 4kB of RAM expandable to a generous 48kB, the micro drive a bundled 12" CRT in a 64×16 character "semigraphics" mode. This limitation would not stop Sucher's plans for a six-feature mega-app designed to celebrate his father's birthday — though the state of the hardware nearly did.
"Growing up, my dad always spoke reverently about his TRS-80. It was his first computer, when he first opened his law office," Sucher recalls. "So this spring, with my mind on turning old electric typewriter parts into USB keyboards (I had a lot of spare parts on hand), I grabbed a TRS-80 off of eBay to play with."
The machine was sold as-is, and took a little restoration: the keyboard required repair, Sucher built a custom power supply, recapped and diagnosed various faults with the machine itself and its CRT monitor, and a lack of cassette deck meant a connection to a nearby Apple Mac to load software through the machine's audio input. The next step was overcoming the machine's limitations — primarily through the addition of a TRS-IO board, which expands the machine to include 32kB of additional RAM and an Espressif ESP32-powered Wi-Fi modem.
This is key to the meat of the present: a six-application custom software package, inspired by a book on "adult computer games in BASIC." The first of these is simple enough: playing Happy Birthday, using the output normally used for recording to tape but in this case connected to an external speaker. Another is to play a game of Go, though this — along with the rest of the app's more advanced features — "cheats" by offloading the hard work to a more modern machine running the gnugo engine.
In another bridge between the 1970s and the 2020s, the app is also capable of playing an interactive fiction game, which uses OpenAI's GPT-4 large language model to respond to instructions — while the earlier GPT-3.5 model is fed a decade of text messages between the elder and younger Suchers and told to emulate their style. In both cases, queries are sent to the OpenAI application programming interface (API) — the models being a little too large to squeeze into the TRS-80's 48kB maximum expanded RAM for local use.
The model is also used to great effect to provide marine forecast and concert news. "For these," Sucher explains, "I simply have my Python server script pull in local data. Weather event comes from NOAA and NWS sources, from designated local weather stations, concatenated and sent over the TCP/IP socket.
"If you’re curious how the MTS-70 was received, I can report that it was huge hit out East during our birthday weekend. Given that this project emerged from borrowed nostalgia about the TRS-80, it was fascinating to see the limits of my dad’s own reverence for this ancient tech."
The project is documented in full on Sucher's website, with the project source code published to GitHub under an unspecified license.