2019-03-07 06:28:56 +11:00
|
|
|
# Collapse OS
|
|
|
|
|
|
|
|
*Bootstrap post-collapse technology*
|
|
|
|
|
2020-05-22 12:16:01 +10:00
|
|
|
Collapse OS is a Forth operating system and a collection of tools and
|
|
|
|
documentation with a single purpose: preserve the ability to program micro-
|
|
|
|
controllers through civilizational collapse.
|
|
|
|
|
|
|
|
It it designed to:
|
2019-03-07 06:28:56 +11:00
|
|
|
|
2019-07-20 05:45:13 +10:00
|
|
|
1. Run on minimal and improvised machines.
|
|
|
|
2. Interface through improvised means (serial, keyboard, display).
|
2019-03-07 06:28:56 +11:00
|
|
|
3. Edit text files.
|
|
|
|
4. Compile assembler source files for a wide range of MCUs and CPUs.
|
2019-07-20 05:45:13 +10:00
|
|
|
5. Read and write from a wide range of storage devices.
|
2020-05-22 12:16:01 +10:00
|
|
|
6. Assemble itself and deploy to another machine.
|
2019-03-07 06:28:56 +11:00
|
|
|
|
|
|
|
Additionally, the goal of this project is to be as self-contained as possible.
|
|
|
|
With a copy of this project, a capable and creative person should be able to
|
|
|
|
manage to build and install Collapse OS without external resources (i.e.
|
|
|
|
internet) on a machine of her design, built from scavenged parts with low-tech
|
|
|
|
tools.
|
|
|
|
|
2020-05-04 02:51:21 +10:00
|
|
|
## Getting started
|
2019-11-01 11:49:35 +11:00
|
|
|
|
2020-05-04 02:51:21 +10:00
|
|
|
Usage documentation is in-system, so access to documentation requires you to
|
|
|
|
run Collapse OS. Fortunately, doing so in an emulator is easy.
|
2020-04-15 00:04:09 +10:00
|
|
|
|
|
|
|
See `/emul/README.md` for getting an emulated system running.
|
|
|
|
|
2020-05-04 02:51:21 +10:00
|
|
|
Then, run `0 LIST` for an introduction, follow instructions from there.
|
|
|
|
|
2019-06-20 09:10:58 +10:00
|
|
|
## Organisation of this repository
|
|
|
|
|
2020-05-04 02:51:21 +10:00
|
|
|
* `blk`: Collapse OS filesystem's content. That's actually where Collapse OS'
|
|
|
|
source code is located. Everything else is peripheral.
|
|
|
|
* `recipes`: collection of recipes that assemble Collapse OS on a specific
|
2019-06-20 09:10:58 +10:00
|
|
|
machine.
|
2020-01-01 05:32:09 +11:00
|
|
|
* `tools`: Tools for working with Collapse OS from "modern" environments. For
|
|
|
|
example, tools for facilitating data upload to a Collapse OS machine
|
|
|
|
through a serial port.
|
2020-05-04 02:51:21 +10:00
|
|
|
* `emul`: Tools for running Collapse OS in an emulated environment.
|
2020-01-01 05:07:05 +11:00
|
|
|
* `tests`: Automated test suite for the whole project.
|
2019-06-20 09:10:58 +10:00
|
|
|
|
2019-07-20 05:45:13 +10:00
|
|
|
## Status
|
2019-03-07 06:28:56 +11:00
|
|
|
|
2019-07-20 05:45:13 +10:00
|
|
|
The project unfinished but is progressing well! See [Collapse OS' website][web]
|
|
|
|
for more information.
|
2019-03-07 06:28:56 +11:00
|
|
|
|
2020-05-22 12:16:01 +10:00
|
|
|
## Looking for the assembler version?
|
|
|
|
|
|
|
|
The Forth-based Collapse OS is the second incarnation of the concept. The first
|
|
|
|
one was entirely written in z80 assembly. If you're interested in that
|
|
|
|
incarnation, checkout the `z80asm` branch.
|
|
|
|
|
2019-11-11 22:28:41 +11:00
|
|
|
## Discussion
|
|
|
|
|
2020-05-04 02:51:21 +10:00
|
|
|
For a general discussion of Collapse OS and the ecosystem of technologies and
|
|
|
|
ideas that may develop around it refer to [r/collapseos][discussion]
|
2019-11-11 22:28:41 +11:00
|
|
|
|
2020-05-04 02:51:21 +10:00
|
|
|
A more traditional [mailing list][listserv] and IRC (#collapseos on freenode)
|
|
|
|
channels are also maintained.
|
2019-11-14 12:17:21 +11:00
|
|
|
|
2019-07-20 05:45:13 +10:00
|
|
|
[web]: https://collapseos.org
|
2019-11-11 22:28:41 +11:00
|
|
|
[discussion]: https://www.reddit.com/r/collapseos
|
2019-11-14 12:17:21 +11:00
|
|
|
[listserv]: http://lists.sonic.net/mailman/listinfo/collapseos
|