Collapse OS Documentation Browser


asm/ code/ hw/ algo.txt arch.txt avr.txt blk.txt blksrv.txt bootstrap.txt cross.txt design.txt dict.txt dis.txt drivers.txt ed.txt emul.txt faq.txt grid.txt grok.txt impl.txt intro.txt me.txt mspan.txt ps2.txt rxtx.txt sdcard.txt sega.txt selfhost.txt spi.txt usage.txt wordtbl.txt

Introduction to Collapse OS

Collapse OS is a minimal operating system created to preserve
the ability to program microcontrollers through civilizational
collapse. Its author expects the collapse of the global supply
chain means the loss of our computer production capability. Many
microcontrollers require a computer to program them.

Collapse OS innovates by self-hosting on extremely tight resour-
ces and is thus able to operate and be improved in a world
without modern computers.


This OS is a Forth. It doesn't adhere to any pre-collapse stand-
ard, but is pretty close to the Forth described in Starting
Forth by Leo Brodie. It is therefore the recommended introduct-
ory material to learn Forth in the context of Collapse OS.

If you don't have access to this book and don't know anything
about Forth, learning Collapse OS could be a rough ride, but
I'm sure you can do it. Begin with doc/usage.

Documentation and self-hosting

Collapse OS is self-hosting, its documentation is not, that is,
Collapse OS cannot read this document you're reading. Text
blocks could, of course, be part of Collapse OS' blocks, but
doing so needlessly uses blocks and make the system heavier than
it should.

This documentation is expected to be printed before the last
modern computer of your community dies.

Virgil's workspaces

When you explore the contents of Collapse OS' code, you'll
notice "Virgil's workspace" littered around. Those blocks are
of no importance to you directly, but they contain code that I
use myself while I work from within Collapse OS.

They can provide great insights as to how tools are supposed to
be used.

Where to begin?

If you're reading this and don't know where to begin, you're
likely to have access to a modern computer. The best place to
begin is to build the C VM of Collapse OS in /cvm. You can then
begin playing with it with the help of doc/usage and doc/impl.

When you're ready to move to real hardware, read doc/hw/intro.

Other topics in this documentation

* Dictionary of core Forth words (doc/dict)
* Understanding Collapse OS (doc/grok)
* Design considerations (doc/design)
* Editing text (doc/ed)
* Editing binary memory (doc/me)
* Assembling binaries (doc/asm/intro)
* Disassembling binaries (doc/dis)
* Emulators (doc/emul)
* Code conventions (doc/code/intro)
* Cross-compilation mechanisms (doc/cross)
* Architecture management (doc/arch)
* Bootstrap Collapse OS to a new system (doc/bootstrap)
* Hardware Drivers (doc/drivers)
* Self-hosting notes (doc/selfhost)
* Frequently asked questions (doc/faq)

There are other subjects, you are invited to browse the doc/
folder to discover them.

Collapse OS and its documentation are created by Virgil Dupras and licensed under the GNU GPL v3.

This documentation browser by James Stanley. Please report bugs on github or to

This page generated at 2024-07-15 21:05:03 from documentation in CollapseOS snapshot 20230427.