Mimsy Were the Borogoves

Mimsy Were the Technocrats: As long as we keep talking about it, it’s technology.

Tandy Assembly 2018

Jerry Stratton, November 28, 2018

I adjusted my Thanksgiving travel this year to take in Tandy Assembly in Springfield, Ohio. Tandy Assembly was started last year to mark the 40th anniversary of the introduction of the first complete computer, the Radio Shack TRS-80 Model I. Of course, it wasn’t called the Model I at the time. It was the “TRS-80 Micro Computer System”. It came with everything you needed to start using a computer. It even came with its own monitor!

The monitor was a clumsily-converted black-and-white television, but it still1 provided a relatively clear display compared to most of its competitors, which used RF modulators to convert the video output to radio signals for use in a television set.

This was well-known at the time, but it is more clear now just how clumsy the conversion was, due to the deterioration of the original monitors. The big “Radio Shack TRS-80 Video Display” badge on the right side of the monitor below the red power button was loose on one of the demonstration tables. Behind it are two empty round holes, where the VHF and, probably, volume knobs were.

And of course, “using a computer” meant programming it in BASIC, as the first computer, being both first and new, had no commercial software available for it.

The show was fascinating. I haven’t seen a working Model I since I sold mine for parts after a house fire in 1987.2 There were several on display here, running ancient games such as Donut Dilemma, Weerd, and Outhouse. It remains amazing just what programmers did back then in 384 by 192 pixels—managed through 128 by 48 blocks. Arthur A. Gleckler talked about writing Weerd in assembly language for the Model I and managing to get taken on by Big Five Software just before the bottom dropped out of the Model I games market.

Donut Dilemma on the Model I

Donut Dilemma. A game in 384x192.

Hit that link and you can play Weerd in a Javascript emulator.

There were also a lot of Model IIIs, Model 4s, and Color Computers there, as well as strange things I’ve never heard of. The TRS-80 PT-210 Portable Data Terminal looks amazing. It is exactly the kind of thing you’d expect to see in a movie like The Matrix. It’s about the size of an electric typewriter, with a handle, and looks like it could double as an electric typewriter in a pinch—although I doubt thermal printing was any more durable then than it is now. The amazing bit is the built-in acoustic coupler, allowing someone to use it anywhere with a then-standard phone. Including in a phone booth. And take a look at what’s missing. There is no screen, not even a tiny LCD. All input goes to the printer. Output might or might not, I expect people used the duplex switch to turn off printing of what they typed, to save thermal paper.

There was also a lot of kit-bashing going on. I saw a DNS server running on a Color Computer, a Wiki browser running on the Model I, and several more boxes for using flash memory for storage, using cloud for storage, and even building an app store for the Model I/III.

I picked up a daisy wheel printer, the Tandy DWP-230, at the auction. I am a big fan of daisy wheel printers, have been ever since I got one cheap from the old DAK catalog, my guess would be the Silver Reed EXP 400. Print quality was orders of magnitude better than the dot matrix printers of the era. It made a big difference submitting articles to magazines. It couldn’t do graphics—without destroying the print wheel3—but for a writer it was perfect.

I also picked up the December 1982 80 Micro and Jay Chidsey’s article on programming that included a random poetry generator in BASIC. The program was written for the Model I/III, but was easily modified for the Model 100 that I use today. Thus, the first use I put the printer to was printing random computer poetry from the early eighties.

I found David Lien’s The TRS-80 Model 100 Portable Computer, “a complete step-by-step learner’s manual” at the DigitalDinos booth. The first part is about the basics of using the Model 100’s built-in apps, but the second, longer part is about using the Model 100’s flavor of BASIC. The first computer book I read, as opposed to a computer magazine, was Lien's introduction to the TRS-80 Model I's Level I BASIC. It was extraordinarily readable while also being very useful, and was long the yardstick I used to judge other technical manuals. So of course I snapped this up. It shows how to use BASIC in general and how to use it for the special features of the Model 100, including its graphics and sound.

With Lien’s help—and DigitalDinos, who also had a cheap Centronics printer cable for the Model 100—I managed to turn a tiny Model 100 and a huge daisywheel printer into an electric typewriter complete with tabs and margin bell. I expect you’ll see that program here relatively soon, as well, if I manage it, a simplified Markdown printer for the Model 100, since Markdown is well-suited for the Model 100’s word processor. In the meantime, here’s how I printed the character set of the DWP-230:

  • 10 U$ = "#####: !"
  • 15 S = 56
  • 20 FOR I = 32 TO 31+S
  • 30 LPRINT USING U$;I;CHR$(I);I+S*1;CHR$(I+S*1);I+S*2;CHR$(I+S*2);I+S*3;CHR$(I+S*3)
  • 50 NEXT I

Line 10 sets up the LPRINT USING string. It’s similar to the printf statement and its relations in other programming languages. Line 15 sets up the number of rows (the number of columns is hardcoded to three, typical for the BASIC programming of the era4). Line 20 steps through the possible ASCII character values starting with 32. ASCII character 32 is the space, and is the first printable character in ASCII. It prints a column for the Ith character, a column for i+56, a column for I+112, and a column for I+168. This makes the final character printed 255 31+S is 87; 87+56*3 is 255.

And LPRINT USING prints to the "line printer”, although few personal computers printed to actual line printers. And in this case I printed to a daisywheel printer, which is the quintessential character printer. It prints a character at a time by design rather than an entire line all at once.

If you’re a fan of those old computers, or interested in the history of the personal computer and you’re in the area, I think you’ll enjoy this show if they do it again next year. It’s fascinating looking at what we had to deal with then, and how we made these pioneering computers do really useful things.

And for your listening pleasure—for varying values of pleasure—the Model 100 playing twinkle, twinkle, little star. The numbers on the screen are the frequency and the duration, respectively.

  1. Usually—quality could apparently be variable.

  2. In fact, these things were tanks, and the computer still worked. But the plastic was all bent and melted due to the fire, and most of my disks were filled with mold from the combination of fire and the water used to put it out.

    Even then, most of the disks still worked. The benefits of a very low information density.

  3. In fact I did break at least one print wheel on it, probably less because of experimenting with graphics than because I often printed my massive tome of a superhero roleplaying game on it.

  4. The real reason for it is that “56” is used several times in the PRINT USING line, where as 3 is used only once, following 1 and 2.

  1. <- Insecurity questions