1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-12-26 04:58:05 +11:00
collapseos/recipes
Virgil Dupras ae028e3a86 blockdev: make implementors "random access"
This huge refactoring remove the Seek and Tell routine from blockdev
implementation requirements and change GetC and PutC's API so that they
take an address to read and write (through HL/DE) at each call.

The "PTR" approach in blockdev implementation was very redundant from
device to device and it made more sense to generalize. It's possible
that future device aren't "random access", but we'll be able to add more
device types later.

Another important change in this commit is that the "blockdev handle" is
now opaque. Previously, consumers of the API would happily call routines
directly from one of the 4 offsets. We can't do that any more. This
makes the API more solid for future improvements.

This change forced me to change a lot of things in fs, but overall,
things are now simpler. No more `FS_PTR`: the "device handle" now holds
the active pointer.

Lots, lots of changes, but it also feels a lot cleaner and solid.
2019-06-04 15:36:20 -04:00
..
rc2014 blockdev: make implementors "random access" 2019-06-04 15:36:20 -04:00
.gitignore recipes/rc2014/sdcard: use "sdci" and blockdev rather than user prog 2019-05-28 11:01:17 -04:00
README.md Split parts in two: z80 and avr 2019-04-25 16:03:45 -04:00

Recipes

Because Collapse OS is a meta OS that you assemble yourself on an improvised machine of your own design, there can't really be a build script. Not a reliable one anyways.

Because the design of post-collapse machines is hard to predict, it's hard to write a definitive guide to it.

The approach we're taking here is a list of recipes: Walkthrough guides for machines that were built and tried pre-collapse. With a wide enough variety of recipes, I hope that it will be enough to cover most post-collapse cases.

That's what this folder contains: a list of recipes that uses parts supplied by Collapse OS to run on some machines people tried.

In other words, parts often implement logic for hardware that isn't available off the shelf, but they implement a logic that you are likely to need post collapse. These parts, however have been tried on real material and they all have a recipe describing how to build the hardware that parts have been written for.

Structure

Each top folder represent an architecture. In that top folder, there's a README.md file presenting the architecture as well as instructions to minimally get Collapse OS running on it. Then, in the same folder, there are auxiliary recipes for nice stuff built around that architecture.

The structure of those recipes follow a regular pattern: pre-collapse recipe and post-collapse recipe. That is, instructions to achieve the desired outcome from a "modern" system, and then, instructions to achieve the same thing from a system running Collapse OS.

Initially, those recipes will only be possible in a "modern" system, but as tooling improve, we should be able to have recipes that we can consider complete.