~vdupras/duskos

cc: allow calling Forth words from the system dict

Of course, if the signature is wrong, then all hell breaks loose, but let's live
on the risky side for now :)
Rename fs/boot to fs/fatlo

It feels better and leaves place to the possibility for booting from different
kinds of filesystems.
cc: rename AST_LVALUE to AST_IDENT

Classification as lvalue at the AST phase was wrong. "foobar" could be a
function name or a lvalue, but at the parsing phase, we don't know yet.
fs/boot: Add FAT12 support
getc now returns -1 when EOF is reached

This whole "c-or-0" pattern works as long as we don't deal with binary files.
But otherwise, this pattern doesn't work.
Rename fread to fgetc
Boosting available memory

640K ought to be enough to anybody.
Remove "lnxcall" and fs/linux.fs

There are not needed anymore now that we're on FAT16
Runs on FAT16!
Add namespaces to FS words and a "glue" part fo boot.fs
Isolate zstring handling to fs/linux

The rest of the system can now safely assume "fstrings" everywhere.
Move boot.fs to fs/ and split it in three

First, the "low" part of the boot, then, the filesystem implementation, and
then the "high" part of the boot, which implements f<< from fopen and fread and
then interprets init.fs.
fs/boot: add findpath
fs/boot: implement fat16close
fs/boot: can read subdirs
add documentation for loading files
fs/boot: support files with multiple clusters
filter subsystem redux

Here's my second attempt at this patch. "with'" has become "with" and the old "with" has been removed.
I found the code was more readable if I just used "to'", that way all the arguments were on the same side
of with.

I have added some more comments trying to explain how to use the system, hopefully this is good enough
for now.
in-depth documentation for value and alias

I heard some people found this confusing, so here's my attempt to expalin.

From 16872ac546bbbfc89d0a5f9ba486474df076c95a Mon Sep 17 00:00:00 2001
From: binarycat <binarycat@envs.net>
Date: Thu, 30 Jun 2022 12:27:43 -0400
Subject: [PATCH] add documentation explaining value and alias in-depth
fs/boot: we're reading something!
Next