Continuing my thoughts from previous posts: I’m convinced there’s great value in using and extending “retro” OS’s from the 1980s and 1990s, for practicality’s sake, not nostalgia’s: the real constraints of the limited power of the available consumer hardware required their creators to make efficient use of the system’s resources, which makes them easier for an individual to comprehend fully.
As I explained in my last post, I’m personally most excited about working with AROS, the AmigaOS clone that’s been in development since 1995 and is now in some ways better than the original, and even the latest post-Commodore AmigaOS 3.x ROMs. Most importantly, it’s open source and portable to different systems, and I have some m68k targets in mind to port it to.
Theoretically, anyone can write software for Windows, macOS, iOS, Android, etc., but it’s not the simplest task in the world. Linux is open source, and you can learn how, say, executing a program works, from opening the program file, mapping the shared libraries, setting up the kernel data structures, etc., but it’s all very complicated, and most people are just going to give up and choose not to know. I’m excited about AROS from a teaching perspective. It’s slightly more relevant to, say, a college student learning about OS design, than studying the PDP-11 source code for 6th Edition UNIX with the Lions Commentary. AROS can play fancier games.
Sometimes it’s interesting to know about OS’s that you may not want to use yourself, but were clearly created as a labor of love by a single individual marching to the beat of their own drum, for better and worse, and are inspirational in the sense of being “outside the box”, and even “outsider art”. Two of those are the topic of this blog post: TempleOS and Collapse OS.
Briefly, here’s what I think is interesting about each. TempleOS has the sadder origin story, because the author was a paranoid schizophrenic who wrote the OS while on disability for being literally too mentally ill to hold down a paying job as a software engineer. He ended up homeless and died in what was either a tragic accident or a tragic suicide, by being hit by a train.
Before he died, the voice of God told Terry Davis to write his own operating system, which would become the literal Third Temple, despite not being a building, nor in Jerusalem, but I know if I were in that situation, I’d have to listen to the voice of God, right?
While some of the design decisions Terry Davis made mesh well with what I like about AmigaOS / AROS / etc., other decisions were clearly the result of his own private esoteric, religious, and perhaps even psychotic worldview as filtered through organic brain disease. So it’s noteworthy that an OS like TempleOS exists at all, and that someone facing so much adversity was able to create an entire ecosystem, including his own programming language, for it.
Collapse OS has a different origin story, and I think the paranoia behind its rationale is worth exploring. The author wrote a very simple OS using Forth, which is an extremely popular and practical language for building something from the bottom up on top of very slow and limited (8-bit) CPU architectures. Forth programs aren’t as fast as assembly language, but they can end up being much smaller, which can be even more important when dealing with small ROM sizes and address spaces.
I don’t personally like the Forth language because it’s hard to think in, unless you’re a really big fan of Reverse Polish notation as seen on certain old HP calculators. It’s like Lisp’s prefix notation except you push all the arguments onto the Forth stack and then the operator goes at the end and uses up the values on the stack while pushing its own output values onto it. Typically the Forth stack is different from the CPU’s stack for return addresses and arguments to native function calls.
The paranoid rationale behind Collapse OS is the fear that the global economy is doomed to collapse, that the United States will become isolated from China and the rest of the world, that we’ll be incapable of making our own CPUs, that somehow all of the more modern computers will break or be destroyed somehow, and that in order to have any computers at all, we’ll literally have to scrounge Zilog Z80 processors from old TI graphing calculators, Sega game consoles, and the like. Maybe you have an old Kaypro around that will become useful after “the collapse”.
In conclusion, I don’t plan to do anything with either of those systems, but I really wanted to share their existence as a way of showing that when we have the freedom to create our own software for computers that we’re in control of, we can channel that energy in all sorts of unexpected directions. Also, if someone who is literally, clinically, biologically “insane” can write an OS for the PC architecture (which I think is absolutely horrible compared to the beautiful and elegant 680×0, ARM, or anything, really), then maybe that’ll be motivation for you to go out and write that thing you didn’t think you could write because you don’t have a college degree in computer science, or a job at Google, or whatever credential you mistakenly think is required before writing software.
Leave a Reply