Virgil Dupras
4939189233
emul: make blk operations much faster
It helps a bit with staging times.
3 anni fa
Virgil Dupras
02e6979a46
emul: implement AT-XY
VI, here we come!
4 anni fa
Virgil Dupras
c0b7b45570
emul: fix backspace
it was broken in the move to ncurses.
4 anni fa
Virgil Dupras
7f3e55cb51
emul: add live register stats in the corner
4 anni fa
Virgil Dupras
08b0c56ff6
emul: run Collapse OS inside a limited, fixed window
This will allow us to implement AT-XY, paving the way to all sorts
of nice new things.
4 anni fa
Virgil Dupras
1d4b75add2
emul: deduplicate some code
4 anni fa
Virgil Dupras
93c6d150e2
emul: don't embed forth.bin in emul binaries
Read the contents of forth.bin at runtime. This allows us to get
rid of the bin2c tooling.
4 anni fa
Virgil Dupras
8d3da4c0de
emul: stop embedding blkfs in binaries
Instead, embed absolute path to blkfs. Having to rebuild the stage
binary at every change in blkfs is getting tedious.
4 anni fa
Virgil Dupras
f884918d73
emul: use ncurses in /emul/forth
It doesn't change anything featurewise, but this change is in
preparation for the addition of an eventual AT-XY.
4 anni fa
Virgil Dupras
2e9e7047bf
Make INTERPRET break on ASCII EOT
This should allow me to simplify LOAD's exit mechanism on block
end.
4 anni fa
Virgil Dupras
581f04a4bc
Keep stage1 bootstrap bin instead of stage 0
XPACKed source needing to be kept in bootstrap bin didn't make
much sense. With the removal of stripfc, it makes more sense to keep
the compiled form of stage 1 in repository as a bootstrap binary.
Also, rename it to forth.bin.
4 anni fa
Virgil Dupras
a2f164ecc3
emul: bootstrap to stage2 from within Collapse OS!
Big bootstrapping change which greatly reduces the role of the modern
operating system in the bootstrapping process.
4 anni fa
Virgil Dupras
b5c370a936
emul: embed blkfs in forth binary
This will allow us to read from blkfs in tests.
4 anni fa
Virgil Dupras
1bd191e86a
Move /emul/forth/* to /emul
Less noisy this way
4 anni fa
Virgil Dupras
eefa8e6de5
Add word "BLK!"
as well as emulator support for it. We can now write an edited
block back to "blkfs".
4 anni fa
Virgil Dupras
16d5cd91de
emul: don't segfault on quit when there is no blkfs
4 anni fa
Virgil Dupras
f59cac0588
blk: first steps
4 anni fa
Virgil Dupras
9235fa9223
Add /tools/slatest
To update LATEST offset more easily. Will be useful for recipes.
4 anni fa
Virgil Dupras
e846d07238
forth: simplify build process
Make LATEST configurable through a value in the binary instead of through
a ZASM constant. This enables the simple concatenation of compiled dicts and
simplifies the build process.
4 anni fa
Virgil Dupras
6c5f39806b
forth: improve bootstrap process
4 anni fa
Virgil Dupras
67c55b0b2f
forth: Forth-ify ROT, a native word!
This requires us to significantly adjust our build process, which
now has 3 stages.
4 anni fa
Virgil Dupras
f0cbda1f2e
tests: add Forth tests
Modest first step
4 anni fa
Virgil Dupras
a8e573c84a
forth: add bin dict compilation stage!
Big one.
This allows us to write higher order words directly in Forth, which is much
more convenient than writing post-immediate (see "NOT" structure in diff if
you want to see what I mean) structures in ASM.
These structures can then be written to ROM (rather than loaded in RAM for
definitions loaded at run-time).
That's quite a bit of tooling that was added, 2 compilations stages, but I
think it's well worth it.
4 anni fa
Virgil Dupras
abdf2c8adc
emul/forth: allow running commands from file
4 anni fa
Virgil Dupras
e95614755b
emul: add forth target
4 anni fa