mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-23 22:48:05 +11:00
Mirror of CollapseOS
6281e2036f
* Optimised intoXX functions Rewrote intoXX functions to mainly rely on intoHL, as the HL instructions are smaller and faster. Also removed some redundant push and pop instructions. I edited the given unit tests to test these, and they seem to work as expected. * Doesn't use self-modifying code The number of bytes is the same as my previous attempt, with 11 more cycles in intoHL, so although I don't feel as clever this time it's still a good optimisation. I found an equivalent method for intoDE, however relying on intoHL still allows for `ex (sp), hl` to be used in intoIX, which is smaller and faster. * Update core.asm * Tried harder to follow coding convention Added tabs between mnemonics and operands, and replaced a new line I accidentally removed. |
||
---|---|---|
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 minimal and improvised machines.
- Interface through improvised means (serial, keyboard, display).
- Edit text files.
- Compile assembler source files for a wide range of MCUs and CPUs.
- Read and write from a wide range of storage devices.
- 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.
Organisation of this repository
kernel
: Pieces of code to be assembled by the user into a kernel.apps
: Pieces of code to be assembled into "userspace" application.recipes
: collection of recipes that assemble parts together on a specific machine.doc
: User guide for when you've successfully installed Collapse OS.tools
: Tools for working with Collapse OS from "modern" environments. Mostly development tools, but also contains emulated zasm, which is necessary to build Collapse OS from a non-Collapse OS machine.
Each folder has a README with more details.
Status
The project unfinished but is progressing well! See Collapse OS' website for more information.