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.
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
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: 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!