Collapse OS — Roadmap

Destination

Minimal systems? There's tons of them. Self-assembling systems? There's tons of them. Running on less than 10K transistors? not so much.

If we assume that lower complexity will be forced upon us, we need such a system, a system that is capable of running and self-replicating on very low transistor count.

Collapse OS has no target machine because those machines it's going to run on don't exist yet and will very often be cobbled up together. However, it has target specs: it self-hosts on a Sega Master System, which has 8Kb of RAM. It can run on tighter machines, but self-hosting is hardly possible on machines tighter than that.

It can of course run on bigger machines. It's even likely that most ad-hoc post-collapse computers have much higher specs. However, being able to run on such small machines increases the likeliness for Collapse OS to be useful for a given post-collapse community.

Being able to run on such small machines can also simplify the code on more complex machines. For example, a modern PC is very complex, but if you can stay in 8086 real mode, 80x25 VGA and INT13h disk access, you can bypass a lot of the complexity associated with modernity (that being said, if you have a fully- functional modern PC, you probably want to run a modern OS on it rather than Collape OS).

Of course, a machine with 8Kb of RAM is severly limited, but it's surprising how much these little transistors can achieve when you pour a bit of creativity in it. With assemblers, a text editor and a way to write data to flash, you have enough to steadily improve your technological situation, build more sophisticated machines from more sophisticated scavenged parts and, who knows, in a couple of decades, build a new IC fab (or bring an old one back to life).

Status: completed!

In March 2021, I completed the 6809 port of Collapse OS, having it run on a CoCo2. This port has been entirely written and debugged from within Collapse OS on a TRS-80 4P with 5 1/4 floppies. Because the development of this port went rather well, I now consider the project to have reached its design goals: it's minimal, can self-host, cross-compile and self-improve.

This doesn't mean, however, that I'm finished with the project. There's many areas where Collapse OS can be improved and simplified. Documentation can always be augmented. Ports can be added. Next areas I'm considering improving:

Non-goals

It's worth mentionning that supporting specific peripherals isn't on the roadmap. There's too many of them out there and most peripheral post-collapse will be cobbled-up together anyway. Peripherals listed in the goals section above are just one of a kind.

The goal is to give good starting point for as many types of peripherals possible. We expect the post-collapse user to adapt existing code to specific hardware in inventory.

It's also important to keep in mind that the goal of this OS is to program microcontrollers, so the type of peripherals it needs to support is limited to whatever is needed to interact with storage, serial links, display and receive text, do bit banging.

Participate in the project

Let's face it, among the niche projects out there, this is really, really niche.

I don't think that there are many people out there with both the inclination and the skills to work on this. However, z80 assembly is a skill that can be picked up pretty quick. I went from "never heard of z80" to "self assembling z80 assembler" in less than 3 months.

Without a bit of an electronics background, however, I don't see how someone could use or improve Collapse OS, so that's kind of a hard requirement. Personally, I have a software training but I began fiddling with electronics 2 years before beginning Collapse OS, so I've had time to gather important know-how which is essential when trying to use it.

I expect that as global events unfold, interest in this project will grow. When that happens, I don't expect that we'll have much time left before blackout. At this point, the project will have to be ready for dissemination before blackout. There won't be much time for further improvements in a global context.

All of this to say: if you have the inclination to participate but don't feel like you have the skills, please consider ramping up your skills. It could make a big difference. If you can manage to run Collapse OS on any real hardware, you're very much qualified because this is hard! (ok, the Genesis+Everdrive+D-pad combo is actually easy. Let's say that if you manage to also build a PS/2 adapter for it, you're qualified)

"Do you have tips for how I could ramp up my skills?", you might ask. I'm glad you asked! As a matter of fact, I do!

Once you're ready (or if you have questions), come over and let's discuss this.