Hello all,
I've just released Dusk v13[1] which is a refactoring release.
HAL implementations have been taken out of kernels and rewritten in Forth,
placed before xcomp/boot.fs. This has required me to shuffle around some words.
The end result is much smaller kernels. Now, none of them, in their compiled
binary format, exceed 3 kilobyte. Also, kernels now contain much, much less of
the mind-bending complation words. This is now done in Forth.
This should make porting to new CPU architectures much easier.
The POSIX VM has also been completely rewritten. Its binary format has, from
the beginning, been a frankenstein design evolved on the fly. Ugly and slow.
Then one day I thought "what about using ARM directly? how complicated could
that be?".
It turned out to be quite straightforward. Now, the POSIX VM is a partial ARM
emulator. The ARM kernel and the POSIX VM have exactly the same HAL
implementation.
And last but not the least: the POSIX VM now have "curses" and "sdl" flavors,
just like usermode does. This means that the Dusk Tour[2] can now be taken
without having to go through the sometimes complicated steps of compiling
usermode Dusk. Running SDL under the POSIX VM is quite slower than under
usermode, but on a modern machine, it's not that slow.
I hope that this new development will make Dusk more accessible to the newcomer.
Oh, yes, and now the grid has 16 palette-based foreground and background colors.
Onwards,
Virgil
[1]: https://git.sr.ht/~vdupras/duskos/tree/master/item/CHANGELOG.md#v13---20241109
[2]: https://git.sr.ht/~vdupras/duskos/tree/master/item/fs/doc/tour.txt