collapseos/README.md

64 lines
2.5 KiB
Markdown
Raw Normal View History

2019-03-06 14:28:56 -05:00
# Collapse OS
*Bootstrap post-collapse technology*
2020-05-21 22:16:01 -04: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-06 14:28:56 -05:00
1. Run on minimal and improvised machines.
2. Interface through improvised means (serial, keyboard, display).
2019-03-06 14:28:56 -05:00
3. Edit text files.
4. Compile assembler source files for a wide range of MCUs and CPUs.
5. Read and write from a wide range of storage devices.
2020-05-21 22:16:01 -04:00
6. Assemble itself and deploy to another machine.
2019-03-06 14:28:56 -05: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-03 12:51:21 -04:00
## Getting started
Documentation is in text files in `doc/`. Begin with `intro.txt`.
Collapse OS can run on any POSIX platform and builds easily.
See `/cvm/README.md` for instructions.
Alternatively, there's also [Michael Schierl's JS Collapse OS emulator][jsemul]
which is awesome and allows you to run Collapse OS from your browser, but it
isn't always up to date. The "Javascript Forth" version is especially awesome:
it's not a z80 emulator, but a *javascript port of Collapse OS*!
2019-06-19 19:10:58 -04:00
## Organisation of this repository
2020-05-03 12:51:21 -04:00
* `blk`: Collapse OS filesystem's content. That's actually where Collapse OS'
source code is located. Everything else is peripheral.
* `cvm`: A C implementation of Collapse OS, allowing it to run natively on any
POSIX platform.
* `doc`: Documentation.
2020-05-03 12:51:21 -04:00
* `recipes`: collection of recipes that assemble Collapse OS on a specific
2019-06-19 19:10:58 -04:00
machine.
2019-12-31 13:32:09 -05: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-03 12:51:21 -04:00
* `emul`: Tools for running Collapse OS in an emulated environment.
2019-12-31 13:07:05 -05:00
* `tests`: Automated test suite for the whole project.
2019-06-19 19:10:58 -04:00
## Status
2019-03-06 14:28:56 -05:00
The project unfinished but is progressing well! See [Collapse OS' website][web]
for more information.
2019-03-06 14:28:56 -05:00
2020-05-21 22:16:01 -04: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.
[web]: https://collapseos.org
[jsemul]: https://schierlm.github.io/CollapseOS-Web-Emulator/