Exploring the Tandy 102
I’ve been intrigued by the Tandy 102 for years. I imagine what an exciting machine it must have been when it was released in 1983. In a world where “portable computer” usually meant something briefcase-sized and merely luggable, this little machine must have been an exctiting proposition: something you could easily sling into a bag and use on the go. Powered by 4 AA batteries, it could give “all day” battery life, lasting around 12 hours. It’s got a text editor, contacts database, calendar program and a programming interface where you can run BASIC commands, which lets you manage the machine (e.g. renaming files) and create your own programs if you want to do anything beyond the scope of the inbuilt applications. It’s a spartan suite of apps by today’s standards, but it’s remarkable how much you can get done with it. There’s also a TELCOM program which, using the 102’s inbuilt modem, opens up a world of possibilities by letting you connect to bulletin boards and other Internet services.
It was a bit like the Macbook Air of its time, and had a similarly premium pricetag of £499. Whilst it lacks a nice graphical interface and doesn’t run Airfoil (or any audio software for that matter, unless you count the beep it makes when you try and name a file with a name more than 6 characters long), it does have an incredible keyboard and you can actually see the screen in sunshine.
Thankfully the price has come down a little in the intervening 31 years. I just managed to pick one up off eBay for £32 delivered and it’s just about in mint condition, having been looked after by one careful gentleman owner:
I bought it when it was the latest thing. I think I had a Sinclair before that! However, as you know things moved quickly in the computer world and it has been stored since. I have had it out now and then but still found it hard to grasp. Different story nowadays!
I originally wanted something to do typesetting for printing and ended up with a Mac which I have upgraded since. Hope you get some use out of it.
I see his point about it being hard to grasp. Thankfully he kept the manual and sent that to me along with the computer, and I’ve spent the weekend looking over it and seeing what this little computer can do.
Only one thing was stopping me: it didn’t boot. It was definitely powering up because I could see that every pixel on the screen was activating; I just didn’t see any actual characters on the screen. It was working fine before it was posted to me which was encouraging, and looking around I noticed the most common cause of this problem is a dead backup battery. It’s a NiCad battery soldered onto the motherboard to keep the RAM powered up, and you could forgive it for dying after 31 years. Unfortunately when it does so it stops the machine booting entirely. You can take the machine apart to solder on a new battery so it’s all very fixable, but just before I started on this I figured it would be worth switching the scariest switch in the world:
Success! If there was anything interesting on the machine before, there wasn’t now, because cutting the power to the RAM wipes everything from memory. But the other option was removing the RAM battery which would have wiped everything anyway, so at least this saved me a soldering job.
The “desktop” is a stripped down affair. You get slots where you can store files, of which there are only a couple of types: .BA
for a BASIC program and .DO
for a text file. The length of a file name can’t exceed 6 characters before the file extension. You can type the name of a file directly into the Select:
prompt at the bottom of the screen; sadly there’s no tab completion though!
Notice my date is set to 1984. When setting the date you’re asked to enter it in an mm/dd/yy
format so it doesn’t actually recognize anything past 1999. And even if you could enter something higher I doubt it wouldn’t work because of the Y2K bug. If I was feeling brave though I could patch it!
Text editing
One of the interesting things I’ve seen mentioned about the Tandy 102 is how popular it was with journalists. I think that’s thanks in part to the great keyboard and the inbuilt modem which meant you could send a story back to the office over a phone line - even via a payphone using the optional audio coupler. But a big factor is that the “word processing” application - actually just a plain text editor - is very capable. There are shortcuts like “jump by beginnings of words” and “jump to end of line”, and you can do visual selection, copying and pasting. It’s not quite Vi but it’s not a bad editing experience at all.
This to me is the sweet spot of the machine, and also the thing that gives it enduring appeal. In many regards the computer is of course obsolete - it’s unlikely that anyone’s going to get much work done with it on the Internet, for example, and if you truly want to get some programming done you’ll likely get on much faster with a modern machine. But even by today’s standards it’s a fantastic writing machine, and arguably in a limited sense it’s still better than anything you could buy now. Long battery life, replaceable batteries, great keyboard, nice editing interface, and a massively simplified and distraction free interface. I can see why people still use these things now, and I can imagine myself enjoying writing a blog post or notes on it, even if it is a bugger to get files off it afterwards.
BASIC programming
I knew this machine let you write BASIC programs but a surprise for me was the fact that the BASIC program is also where you actually manage the machine: setting the time and date, renaming files, etc. It’s sort of like the Terminal application of a modern computer, only you’re forced to use it because there’s no Control Panel or file browser application.
The manual gives you a few little applications to type in, culminating in a bar chart generation program whose code is reasonably inpenetrable thanks to the unfamiliar syntax of BASIC, limited documention online for this particular “flavour” of BASIC, and a preference for very short variable names that I think is informed by the very limited memory. In fact I think I’m right in saying that BASIC only recognizes the first two characters of a variable name, which could be a nice gotcha if you wrote anything substantial on it.
I’m still exploring programming in BASIC but I did manage to make a simple program to calculate video frame rates. This is adapted from a spreadsheet I made for Jon Emmony at SHOWstudio because he often needed to calculate things like “if I stitch 1,100 frames into a 30fps video how long will the resulting video be” or “how many still frames do I need to fill a 4 second loop with a 24fps video”. So I thought a “real world” little program like this would be fun to create.
This is the code I used, which I’m typing in manually here as I have no way to get files off the 102 at the moment! The code first does CLS
to clear the screen, then presents some input prompts and assigns the integers entered to variables. It then outputs the result for whichever field you wanted calculated:
10 CLS
20 PRINT, "Enter 2 of the following:"
30 INPUT "Frames per second";FPS%
40 INPUT "Number of frames";FRAMECOUNT%
50 INPUT "Video duration (seconds)";SECS%
60 PRINT
70 IF FPS% = 0 THEN PRINT "It will need to be" FRAMECOUNT%/SECS% "frames per second"
80 IF FRAMECOUNT% = 0 THEN PRINT "It will have" FPS%*SECS% "frames"
90 IF SECS% = 0 THEN PRINT "It will be" FRAMECOUNT%/FPS% "seconds long"
100 PRINT
More exploring
There’s a lot more exploring to do with this computer, and maybe in future I’ll try and track down some of the optional accessories mentioned in the manual:
- An audio coupler to get online via a standard telephone handset. Perhaps it could be adapted to work with a mobile phone?
- A cassette deck that lets you store and retrieve files. I actually got a couple of cassettes with the purchase, but I can’t run them at the moment as I have no deck to plug in.
- An external printer