'70s game on '60s teletype

So maybe I am a tad crazy, but with very little work I managed to get Colossal Cave, the text adventure game written in the 1970s, to compile and run on an ESP32, and connected that to a 1960s ASR33 teletype.

So I decided to include in my ASR33/ MQTT driver stuff, so it is possible to run Colossal Cave on the teletype, stand alone, no WiFi or anything.

The C code port of the original FORTRAN pretty much compiled as is for the ESP32 (linux ESP32 pdf), but I had to change printf and readline slightly to work with the UART, and tweak CR/LF and additional timing NULLs, but that was all.

Well, I did spend an hour or so coursing as it nearly worked and kept crashing - I added debug after debug and eventually did what I should have done in the first place and wheeled the teletype to my computer and connected the debug port which helpfully told me stack overflow. I have the task more stack and it literally "just worked".

Update: Since the video I have added a dramatic pause / thinking time, using some NULLs, before each response. Adds some suspense :-)

Update: You see typing issues on that video - cleaning the distributor fixed that right up...


  1. I cut my assembler coding teeth in 1975 on a Varian V77 where one of these teletypes was the only form of input (besides the panel dip switches where you programmed the bootstrap). Thank you for the trip down memory lane.

    And - a 1960's games console! Move over PS5.

  2. The sound of that ASR printing brought back happy memories. I played Colossal Cave on a TTY in the late 1970s while I was a field engineer between service calls. Midnight shifts would have been boring otherwise.

  3. I was in college from 1972 to 1977, and remember playing Star Trek (this one - https://en.wikipedia.org/wiki/Star_Trek_(1971_video_game)) for far too long in the computer center. Usually, I was playing it on a Decwriter, which had a satisfying zirp-zirp-zirp as it printed the quadrants near me, but every once in a while I played on an ASR 33, and it's just as you said - the slow printing speed (110 baud, weren't they?) added a LOT of suspense!

    As pickworthi said - thank you for a trip down memory lane.


Comments are moderated purely to filter out obvious spam, but it means they may not show immediately.

ISO8601 is wasted

Why did we even bother? Why create ISO8601? A new API, new this year, as an industry standard, has JSON fields like this "nextAccessTim...