The last programming project from Bill Gates: Microsoft BASIC for TRS-80 Model 100
This Operating System was the last project that Bill Gates played a major role in programming... and it's actually pretty amazing.
Let’s take a look at the very last project that Bill Gates ever played a major development role on at Microsoft…
Microsoft BASIC 80 for the TRS-80 Model 100 series.
Which is, in reality, an entire Operating System.
A historically highly significant one, at that. Though not many people (nowadays) have ever had the chance to actually use it – in large part because the OS itself was developed specifically for one hardware line.
And that hardware line (comprised of the TRS-80 Model 100, 102, & 200) hasn't been in production since the early to mid 1980s.
Here's just a few fun quick facts about the hardware, and the Operating System that powers it:
The Model 100 is often referred to as the “Model T” by enthusiasts and collectors.
Single tasking, flat file system.
Entire OS fits on a 32k ROM.
There remains a rather loyal group of fans that still use these computers to this day. Seriously. Maybe not millions of users around the globe, but those that have them, love them.
The firmware / OS for the Model 100 is the last project that Bill Gates was one of the primary programmers for (it had a team of two).
Bill Gates, in an interview with the National Museum of American History, had this to say about the machine and the software that powered it:
“This is in a sense my favorite machine, I mean by today's standards it is kind of a pathetic machine. But what happened was Kazuhiko Nishi, my friend from Japan, came over and said that we could have an 8-line LCD with 40 characters. And up to then all we had was four lines by 20 characters. I didn't think using 4 by 20 you could do much that was interesting. But, when he said we could go 8 by 40, then I got to be pretty fascinated with the idea of a portable machine. It wasn't just taking your desktop machine and trying to shrink it down, because battery life would be a problem, and ease of use would be a problem. But just taking the things you want as you move around and making it pretty inexpensive. So, this machine came out for $500. Jey Suzuki, from Japan, and I, wrote the ROM in this machine. It is a 32K ROM.
Part of my nostalgia about this machine is this was the last machine where I wrote a very high percentage of the code in the product. I did all the design and debugging along with Jey. And it is a cool user interface, because although most of the code is a BASIC Interpreter, we did this little file system where you never had to think about saving anything. You just had this menu where you pointed to things. It was a great little editor and scheduler. We crammed it all into a 32K ROM. And really designed it in an easy to use way around these special keys up here.
We had some great things here like we had a way that you could add a bar code reader to this. We thought maybe people would distribute software on bar codes. In fact, Byte Magazine got into that for a while. We had a lot of ways you could extend this by putting a new ROM in the bottom.
What you had here is just your files. And you would just move the cursor to the one that you wanted and hit the Enter key. And then you'd be back editing that file. So, if we go into text, you can type in the name of the program and it would know that's what you wanted. It is a nice screen editor. You can just move the cursor around.”
Here's a quick run-down on how the OS of the Model T's actually works.
This is the Home screen. Think of this like a combination of an application launcher and a file manager. There are no directories / folders. Honestly, they wouldn't make much sense on a system with RAM that you measure (on screen) in bytes.
Arrow keys move the selection. Enter loads the file.
And this is the text editor. It is astoundingly simple. You can type. Arrow keys let you move the cursor around. Simple.
There are some essential features here (find, copy) and the ability to save and load text (such as to an external floppy disk or to an external cassette tape). Otherwise any text you type is stored in RAM – and is preserved so long as there's a battery charge (which tends to last just about forever).
Here we have the BASIC editor. Again, extremely simple. If any of you have ever used this era of BASIC, you know exactly what to expect. You can use both text and actual pixel graphics (monochrome) to draw lines and pictures (if you can manage to fit the needed routines into the 32kb available.
There’s even a simple telecom program that can use a modem to dial BBS’s and such. It’s fairly bare bones, but it works. (And it proves useful nowadays when paired with a WiFi → RS232 modem emulator to connect to telnet systems and move files around.)
The vast majority of you won't have access to one of these amazing little computers to actually try things out. Luckily there are a few emulators around that let you see what the experience was like (at least for the most part). There is a web-based emulator that works surprisingly well, and a native emulator (which works the best).
You can also find large collections of (BASIC) applications and games on multiple sites that can be loaded to see what could be accomplished back in the early 1980's using this system.
What’s it like to use nowadays?
This is a highly limited and constrained system.
Small number of total features (especially compared to systems that came just a few years later). No mouse. No color. Limited amount of memory. No multi-tasking.
Yet… it is an absolute joy to use. The focus it provides makes this one of my absolute favorite machines to write on. In fact, I've written several articles on this nearly 40 year old computer system… and have no plans to retire it anytime soon.
When I use this system… I smile. When I show it to people, they smile. Joy. Wonder.
That's no small feat.
There is no real graphical user interface. Everything here is text based (unless you code some light graphics in BASIC). All software runs “full screen” … so there are no window managing or task switching interfaces to look at or think about.
The features the system has all tend to work quite well. Though, since you're talking mostly text, having a manual (or at least the ability to look up commands in an online reference) are a must when first learning to use it.
Luckily, after spending no more than about 30 minutes with this OS, you'll have just about mastered it. And it will never get in your way again.
Everything is well thought out. Every command. Every function key. You can tell that a lot of love and experience went into this system and how it works.
That said… nobody makes this hardware anymore. And the OS runs only on that specific hardware. Which, despite being well built, is in increasingly short supply.
Outside of running it within emulators – which, if I'm being honest, has pretty low usability value (the system only really shines when running on real hardware) – there's just no way for most folks to ever use it.
It is the oldest computer that I actually use, for real work, on a regular basis.
The fact that I bring out a laptop from the early 1980s because I want to get some work done using it? Nowadays? That's one darned impressive feat – both in terms of hardware and software engineering.
I also love how heavily this machine really encourages open source. Because everything you run here is going to (realistically) be written in BASIC… all the games and utilities you may load are going to have the source code available.
This is an Operating System that encourages learning. Encourages experimentation. I love that.
What is truly amazing, to me, is that all of this functionality fit within a 32k ROM. Just mind-blowingly efficient.
Whatever you, I, or anyone else thinks of Bill Gates (and, boy howdy, do he and I disagree on a lot)… this was a darned impressive feat of engineering. One worth remembering.
Studies find that people who share articles from The Lunduke Journal with others live up to 17% longer and are 27% happier.
There may or may not be studies that say you should subscribe to The Lunduke Journal. Best be on the safe side…