Mirror of CollapseOS
92a04f4627
Needed if we want to compile the kernel and zasm from within a SD card. I didn't go straight for 32-bit because it was significantly more complex and 24-bit give us 16M. Enough to go on for a while... |
||
---|---|---|
apps | ||
doc | ||
kernel | ||
recipes | ||
tools | ||
.gitignore | ||
.gitmodules | ||
COPYING | ||
README.md |
Collapse OS
Bootstrap post-collapse technology
Collapse OS is a z80 kernel and a collection of programs, tools and documentation that allows you to assemble an OS that, when completed, will be able to:
- Run on an extremely minimal and improvised architecture.
- Communicate through a improvised serial interface linked to some kind of improvised terminal.
- Edit text files.
- Compile assembler source files for a wide range of MCUs and CPUs.
- Write files to a wide range of flash ICs and MCUs.
- Access data storage from improvised systems.
- Replicate itself.
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.
Status
The project unfinished but is progressing well! Highlights:
- Self replicates: Can assemble itself from within itself, given enough RAM and storage.
- Has a shell that can poke memory, I/O, call arbitrary code from memory.
- Can "upload" code from serial link into memory and execute it.
- Can manage multiple "block devices".
- Can read and write to SD cards.
- A z80 assembler, written in z80 that is self-assembling and can assemble the whole project.
- Compact:
- Kernel: 3K binary, 1800 SLOC.
- ZASM: 4K binary, 2300 SLOC, 16K RAM usage to assemble kernel or itself.
- Extremely flexible: Kernel parts are written as loosely knit modules that are bound through glue code. This makes the kernel adaptable to many unforseen situations.
- From a GNU environment, can be built with minimal tooling: only libz80, make and a C compiler are needed.
More information
Go to Collapse OS' website for more information on the project.