duskos

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

commit 077c0f357402032abc4978e7f5e20ca310a3d628
parent 58babc79e80d34c770cf2626cce419c44aa95862
Author: Virgil Dupras <hsoft@hardcoded.net>
Date:   Mon,  4 Jul 2022 08:25:42 -0400

README: roadmap update

Diffstat:
MREADME.md | 36++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md @@ -79,7 +79,7 @@ type are simple Forth words. ## Roadmap -Here's the plan so far: +The high level roadmap for Dusk OS is: 1. Have a 32-bit Forth written in x86 run on top of of a Linux system. 2. Create a pseudo C compiler that is partly written in Forth and has the @@ -92,24 +92,41 @@ Here's the plan so far: ## Status -Currently working on step 2 of the roadmap. The C compiler has a fair chunk of -the language implemented already. You can see a sample of what it compiles in -`fs/tests/cc/test.c`. Its technical documentation is at `fs/doc/cc.txt`. What's -missing currently is: +Current roadmap status is discussed on a [mailing list thread][7], but here's +the summary: the C compiler is advancing well, bare metal too. You can see the +kind of code that Dusk is capable of compiling and executing at +[fs/tests/cc/test.c][8] and you can read about its [technical details][9]. The +system is capable of booting from a FAT16 volume which is currently read from a +RAM drive. + +The roadmap advances with a series of "milestones" subprojects requiring Dusk +OS to advance in multiple areas at the same time. The current milestone is to +port Collapse OS' "blkpack" tool to Dusk OS C (with the broader milestone, of +course, to port the whole of Collapse OS' C code to Dusk). For this goal to +be reached, the subitems that are still needed are: + +* Implement the "write" part of FAT16, which is currently read-only. Maybe in + Dusk C, that would be fun. +* Implement scanf(). +* Implement getline(). +* Copy/paste blkpack.c and fire it up. +* Probably fix many compiler bugs. + +In a general way, here's the list of things missing from Dusk C for it to be +consider a "real" C compiler: * ops width depending on type (everything is dword) * struct, union * typedefs -* global variables +* global variables (partial support now) * for, while, switch, goto -* string literals * floats * a few ops here and there * preprocessing * the check phase (anything that is currently understood by the parser is compiled no matter how nonsensical). * the stdlib (but it's going to be significantly different than a regular C - stdlib, see `fs/doc/cc.txt`) + stdlib, see [fs/doc/cc.txt][9]) * probably countless bugs So, there's a fair chunk of work left, but there's also a lot that's already @@ -154,3 +171,6 @@ You might be interested in [this thread from the mailing list][5]. [4]: https://sr.ht/~vdupras/duskos/lists [5]: https://lists.sr.ht/~vdupras/duskos-discuss/%3C87czew8rir.fsf%40valley.vpn%3E [6]: https://www.gnu.org/software/mtools/ +[7]: https://lists.sr.ht/~vdupras/duskos-discuss/%3C1a6b5f15-a54a-4f28-8b7c-a9da2009a4c5%40www.fastmail.com%3E +[8]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/tests/cc/test.c +[9]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/doc/cc.txt