2020-08-10 23:44:47 +10:00
|
|
|
# Introduction to Collapse OS
|
|
|
|
|
|
|
|
Collapse OS is a minimal operating system created to preserve
|
|
|
|
the ability to program microcontrollers through civilizational
|
2020-09-19 11:13:28 +10:00
|
|
|
collapse. Its author expects the collapse of the global supply
|
2020-08-10 23:44:47 +10:00
|
|
|
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 (theoretically thus far) able to operate and be
|
|
|
|
improved in a world without modern computers.
|
|
|
|
|
|
|
|
# Forth
|
|
|
|
|
|
|
|
This OS is a Forth. It doesn't adhere to any pre-collapse stand-
|
2020-10-28 10:51:29 +11:00
|
|
|
ard, but is pretty close to the Forth described in Starting
|
2020-08-10 23:44:47 +10:00
|
|
|
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
|
|
|
|
don't despair. There's a Forth primer in primer.txt.
|
|
|
|
|
|
|
|
# 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.
|
2020-10-28 10:51:29 +11:00
|
|
|
|
|
|
|
# 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 usage.txt and impl.txt.
|
|
|
|
|
|
|
|
When you're ready to move to real hardware, read hardware.txt.
|
|
|
|
|
|
|
|
# Other topics in this documentation
|
|
|
|
|
|
|
|
* Dictionary of core Forth words (dict.txt)
|
|
|
|
* Editing text (ed.txt)
|
|
|
|
* Assembling binaries (asm.txt)
|
|
|
|
* Programming AVR chips (avr.txt)
|
|
|
|
* Bootstrap Collapse OS to a new system (bootstrap.txt)
|
|
|
|
* Cross-compilation mechanisms (cross.txt)
|
|
|
|
* Protocols (protocol.txt)
|
|
|
|
|