Virgil Dupras
2db6ebc247
forth: Forth-ify "BYE"
4 years ago
Virgil Dupras
e0eaa8ba63
forth: Forth-ify "ABORT"
4 years ago
Virgil Dupras
8d8e1d93da
forth: slightly improve assembler
4 years ago
Virgil Dupras
ab98e9bcd1
forth: Forth-ify "(uflw)"
4 years ago
Virgil Dupras
5471ef02a7
forth: Forth-ify "BOOT"
4 years ago
Virgil Dupras
408d93bd23
forth: Forth-ify "IMMED?"
4 years ago
Virgil Dupras
8f990ff954
forth: Forth-ify "IMMEDIATE"
4 years ago
Virgil Dupras
41cd8086d4
forth: don't use "(entry)" in dummy.fs
Because icore.fs defines it in a "not-for-runtime" manner, dummy.fs
executing it had ill effects. We use a workaround instead.
4 years ago
Virgil Dupras
409a9f87e5
forth: replace "ROUTINE" with "JTBL"
4 years ago
Virgil Dupras
26871be6f2
forth: Forth-ify "C,"
4 years ago
Virgil Dupras
29dcddb8cd
forth: improve assembler a bit
4 years ago
Virgil Dupras
49101915fb
forth: Forth-ify "(entry)"
4 years ago
Virgil Dupras
799ea72974
forth: Forth-ify ":"!!!
Lifting ourselves by the bootstraps!
4 years ago
Virgil Dupras
7967c654e0
forth: Un-IMMEDIATE "ROUTINE"
It's not needed anymore
4 years ago
Virgil Dupras
f40c14715e
forth: take advantage of the new [] mode
4 years ago
Virgil Dupras
684cb028ff
forth: add words "[" and "]"
4 years ago
Virgil Dupras
839021e0f8
forth: Forth-ify "(print)"
4 years ago
Virgil Dupras
edcd80e3a6
forth: Forth-ify "(parse)"
4 years ago
Virgil Dupras
941224be94
forth: Forth-ify "-"
4 years ago
Virgil Dupras
005dd98fc2
forth: Forth-ify "R>" and ">R"
4 years ago
Virgil Dupras
1e7e696e4a
forth: Forth-ify ";"!!!
Ain't that not self-bootstrapping enough to your taste? Whoa, I'm
getting dizzy...
4 years ago
Virgil Dupras
dad0081123
forth: Forth-ify "INTERPRET"!!!
Now we're seriously getting into real boostrapping territory...
4 years ago
Virgil Dupras
cb3e6469b8
forth: make "(parsed)" support negative literals
This limitation was becoming annoying...
4 years ago
Virgil Dupras
40eda1d933
forth: Forth-ify "*"
4 years ago
Virgil Dupras
e82f13acf1
forth: Forth-ify "I", "I'", "J"
4 years ago
Virgil Dupras
cf2f6703bb
forth: make forth/forth.asm spit whole binary
emul/forth/stage{0,1}.asm now only configure constants and append
binaries.
4 years ago
Virgil Dupras
966f6df0c5
forth: Forth-ify "KEY"
4 years ago
Virgil Dupras
636407969d
forth: Forth-ify "(emit)"
4 years ago
Virgil Dupras
d1f572d2ed
forth: Word-ified "(print)"
4 years ago
Virgil Dupras
42abbe75aa
forth: remove 0 and 1 constants
They do save space (nearly 100b), but they complicate our Forth-ification
process. We'll re-add them later.
4 years ago
Virgil Dupras
6eaabb9bbe
forth: make word name of variable length
This allows us to save a whole 500 bytes on the final binary size!
This change comes after I took a look at the hex dump and saw that one letter
constants in z80a.fs took a lot of space.
4 years ago
Virgil Dupras
52e6eaafc7
forth: Forth-ify "/MOD"
4 years ago
Virgil Dupras
61bb22e8c9
forth: straighten out "/MOD"
The removal of the "divide" routine highlighted the fact that
nativeWord wasn't properly stabilized.
4 years ago
Virgil Dupras
c2d8fc845d
forth: bring ." and ABORT" down to core.fs level
4 years ago
Virgil Dupras
3e934a2a3b
forth: fix name conflict with "H" in core and z80a
4 years ago
Virgil Dupras
77ecbc4918
forth: Forth-ify "'" and "[']"
4 years ago
Virgil Dupras
6d8edeec63
forth: Forth-ify "C!" and "C@"
4 years ago
Virgil Dupras
66412a1c30
forth: Forth-ify "XOR"
4 years ago
Virgil Dupras
1871f7cdb4
forth: Forth-ify "OR"
4 years ago
Virgil Dupras
eb6a07a162
forth: Forth-ify "PC@"
4 years ago
Virgil Dupras
7beac94b5a
forth: Forth-ify "PC!"
4 years ago
Virgil Dupras
04a6784de4
forth: Forth-ify "(sysv)"
4 years ago
Virgil Dupras
3a08fa7e74
forth: add a stable ABI
4 years ago
Virgil Dupras
f0ab57c8cc
forth: Forth-ify "AND"
4 years ago
Virgil Dupras
d6516e2122
forth: Forth-ify "2*" stack management words
4 years ago
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 years ago
Virgil Dupras
ca7c21d49f
forth: make "(entry)" call WORD itself
Otherwise, when a defining word would be called outside a definition
itself, it would get the name of the last parsed word, that is,
itself!
For example, dummy.fs, instead of creating a "_______" entry, created
a "(entry)" entry...
4 years ago
Virgil Dupras
5387e08437
forth: make bin staging process a bit less hackish
The goal being to add a new native code dict staging phase.
4 years ago
Virgil Dupras
ffe61a12f8
forth: make prev word field relative
This should help with upcoming challenges in bootstrapping z80 code
compiled through Forth.
4 years ago
Virgil Dupras
00de336976
forth: add "CODE"!!!
4 years ago