duskos

dusk os fork
git clone git://git.alexwennerberg.com/duskos
Log | Files | Refs | README | LICENSE

commit e376fc3c982002a291659c282f34526c2aba7be1
parent 2955a2d98a02cbe2b37bbf5ed34689502e559a72
Author: Virgil Dupras <hsoft@hardcoded.net>
Date:   Tue,  4 Jul 2023 20:49:30 -0400

Update ROADMAP.md and add HARDWARE.md

Diffstat:
AHARDWARE.md | 33+++++++++++++++++++++++++++++++++
MREADME.md | 15++++++++++-----
MROADMAP.md | 32++++++++++++++++++++++----------
3 files changed, 65 insertions(+), 15 deletions(-)

diff --git a/HARDWARE.md b/HARDWARE.md @@ -0,0 +1,33 @@ +# Hardware support + +This page lists what kind of drivers are available for what kind of machines. +What is listed is known to work, but not necessarily ironclad. Glitch can be +expected and some configurations might not be available yet. + +## i386 + +### PC + +* Supported models: + * Any compatible PC with a 80386 or later CPU +* Input/Output: + * PS/2 Keyboard + * PS/2 Mouse + * COM serial port + * VGA Text mode + * VESA Graphical mode +* Storage + * Floppy + * ATA + * AHCI+SATA + +## ARM + +### Raspberry Pi + +* Supported models: + * Model 1 A/B +* Input/Output: + * UART accessible through GPIO pins +* Storage: + * SD card diff --git a/README.md b/README.md @@ -1,9 +1,10 @@ # Dusk OS -Dusk OS is a 32-bit Forth and big brother to [Collapse OS][collapseos]. Its -[primary purpose][purpose] is to be maximally useful during the [first stage of -civilizational collapse][coswhy], that is, when we can't produce modern -computers anymore but that there's still many modern computers still around. +Dusk OS is a 32-bit Forth running on [i386 and ARM CPUs][hardware] and big +brother to [Collapse OS][collapseos]. Its [primary purpose][purpose] is to be +maximally useful during the [first stage of civilizational collapse][coswhy], +that is, when we can't produce modern computers anymore but that there's still +many modern computers still around. It does so by aggressively prioritizing [simplicity][simplicity] at the cost of [unorthodox constraints][limits], while also aiming to make @@ -14,7 +15,8 @@ piggy-back on UNIX C code, through a modest [porting effort][port], to reach its goals and stay true to its design constraints with a minimal effort. This is Dusk OS' source code and the rest of the README assumes that you want to -run it. To read more about why this OS exists, see its [website][website]. +run it. To read more about why this OS exists, see its [website][website]. To +see where it's going, you can look at the [roadmap][roadmap]. ## Build and run Dusk @@ -82,6 +84,8 @@ Press Escape to return to prompt. You can try the same thing with: [website]: http://duskos.org [collapseos]: http://collapseos.org +[hardware]: HARDWARE.md +[roadmap]: ROADMAP.md [coswhy]: http://collapseos.org/why.html [creative]: http://collapseos.org/why.html#creative [purpose]: fs/doc/design/purpose.txt @@ -90,4 +94,5 @@ Press Escape to return to prompt. You can try the same thing with: [port]: fs/doc/design/port.txt [shell]: fs/doc/design/shell.txt [docs]: fs/doc/index.txt +[duskcc]: fs/doc/cc/index.txt [varvara]: https://wiki.xxiivv.com/site/varvara.html diff --git a/ROADMAP.md b/ROADMAP.md @@ -12,6 +12,24 @@ involved, please reach out on the mailing list. If you're inspired by an idea that isn't below, you can reach out too :) +## Collapse OS rewrite + +After I'm done with the ARM port, my next aim is to rewrite Collapse OS from +within Dusk OS so that they blend better. + +My ideas about this are still a bit fuzzy, but the guiding principles are thus: + +1. Collapse OS design goals stay the same. +2. There is no CVM any more, only a Forth compatibility layer that allows code + written for Collapse OS to run within Dusk just fine. +3. Assemblers and disassemblers for 8-bit CPUs, 16-bit CPUs and microcontrollers + live in Collapse OS, not in Dusk. +4. Wrappers around those assemblers exist in Dusk so that someone wanting, for + example, to assemble Z80 code in Dusk can easily do so. +5. All emulators live in Dusk, including 8-bit and 16-bit ones. Emulation is too + big a subject for Collapse OS. If post-collapse users really want emulators + in Collapse OS, they'll port them. + ## Complete DuskCC In a general way, here's the list of things missing from Dusk C for it to be @@ -30,13 +48,10 @@ consider complete: So, there's a fair chunk of work left, but there's also a lot that's already done. -## Text editor, hex editor - -A naive first idea would be to port vi to Dusk, but I think we can do much -better than this. The Grid is a much richer environment than a curses one and -I think we can build a much more powerful vi-lookalike. +## Hex editor -Same thing for a hex editor. +There's already a text editor, but what we generally call a "hex editor" would +be useful. ## Begin porting UNIX apps @@ -60,9 +75,7 @@ something brutally simple can work too. TBD. ## New architectures -What about the Raspberry pi? An [ARM port is in progress][arm-port]. - -Otherwise, I have an old Powerbook 520 lying around and I'd love to have Dusk +I have an old Powerbook 520 lying around and I'd love to have Dusk running on this, so m68k is right there on the roadmap. ## Assemblers, disassemblers, emulators @@ -80,5 +93,4 @@ isn't to run Linux on it, but to use it as a development tool. [diffutils]: https://www.gnu.org/software/diffutils/ [diffalt]: https://lists.sr.ht/~vdupras/duskos-discuss/%3C067cd8b3-8678-49c0-bf02-d99cb3275b7a%40app.fastmail.com%3E#%3C87pmchj4hh.fsf@forest.lan%3E -[arm-port]: https://lists.sr.ht/~vdupras/duskos-discuss/%3Cd5376d1b-1607-4f2e-bb7d-1da55f358de9%40app.fastmail.com%3E [libcaca]: http://caca.zoy.org/wiki/libcaca