Virgil Dupras
6368cc3bac
Remove (sysv)
...
Replace its usages with direct RAM+ offsets. The (sysv) mechanism was
incompatible with cross-compilation of a full interpreter.
2020-04-10 14:57:00 -04:00
Virgil Dupras
a6efb65010
emul: extract capture mark from icore into xstop.fs
2020-04-10 14:16:45 -04:00
Virgil Dupras
f62376bd0a
boot: remove _bend
...
It's not needed anymore now that the boot binary is built in one pass.
2020-04-10 09:59:45 -04:00
Virgil Dupras
7aa1be070b
emul: build boot binary in one pass
...
... instead of building boot.fs, and then z80c.fs/icore.fs in separate
passes. This strengten xcomp by making it support 2 completely separate
dicts (that is, the X dict is *not* connected to the system dict. The chain
now stops at EXIT def in boot.fs).
2020-04-10 09:55:58 -04:00
Virgil Dupras
c8c337fd58
xcomp: widen scope
...
We can now cross-compile core.fs.
2020-04-10 07:53:41 -04:00
Virgil Dupras
54929c2aa0
xcomp: simplify further
2020-04-09 12:10:43 -04:00
Virgil Dupras
e6d3638f4f
Add CURRENT* and simplify xcomp
2020-04-09 12:01:08 -04:00
Virgil Dupras
f1171c656c
xcomp: make (xfind) use _find instead of (find)
2020-04-09 11:24:43 -04:00
Virgil Dupras
1b6286dcfe
Make (find) 2-layered, the lower layer having CURRENT as a param
2020-04-09 11:20:54 -04:00
Virgil Dupras
66dc621919
xcomp: don't automatically shadow core words
2020-04-09 09:43:48 -04:00
Virgil Dupras
0c3067ed9a
icore: simplify definition of ":" and ";"
2020-04-09 09:38:59 -04:00
Virgil Dupras
784b109652
So, why was ":" an immediate again?
2020-04-09 09:27:51 -04:00
Virgil Dupras
afed423530
Remove memory maps
...
It was a dead end. my new tentative solution is xcomp.
2020-04-09 09:21:55 -04:00
Virgil Dupras
6c48c1b53c
parse: be a bit more graceful on parsing meta-failure
2020-04-09 08:27:14 -04:00
Virgil Dupras
b69ca4488e
Add emul_memdump() and stop automatically on ROM write
2020-04-09 08:26:41 -04:00
Virgil Dupras
6f082b0b13
Change DELW signature
2020-04-09 08:26:27 -04:00
Virgil Dupras
68f359d6c2
Add xcomp unit for cross compilation
...
Memory mapping is a dead end too, solution has to be at a higher
level. xcomp is my new approach.
2020-04-09 08:23:53 -04:00
Virgil Dupras
b5638d142a
Add word "DELW"
2020-04-08 20:40:23 -04:00
Virgil Dupras
2a2e3a64a4
Move IMMED? from z80c to icore
2020-04-08 20:09:32 -04:00
Virgil Dupras
a7a2f3d08b
Move IMMEDIATE from z80c to core
...
This makes IMMEDIATE affected by memory mappings.
2020-04-08 19:43:44 -04:00
Virgil Dupras
64e441d059
Move SCPY from z80c to icore
...
This way, it can be affected by memory mappers.
2020-04-08 16:12:34 -04:00
Virgil Dupras
05c38424c7
recipes/rc2014: stage2 WIP
2020-04-08 09:13:46 -04:00
Virgil Dupras
4515241318
drv/acia: fix broken buffer bounds
...
How did this ever work?
2020-04-08 08:26:04 -04:00
Virgil Dupras
79527976ab
recipes/rc2014: stage2 WIP
2020-04-07 22:36:59 -04:00
Virgil Dupras
6652125d47
Remove link.fs
...
This was a dead end.
2020-04-07 21:23:42 -04:00
Virgil Dupras
ba918d0fef
Add memory maps
2020-04-07 20:54:10 -04:00
Virgil Dupras
d4324292fb
Merge remote-tracking branch 'origin/master' into forth
2020-04-07 19:32:30 -04:00
Virgil Dupras
e37f4c2551
bin2c: add missing stdtypes.h
2020-04-07 18:13:42 -04:00
Byron A. Grobe
217df20d77
Moved tools/bin2c to single-level with other tools.
2020-04-07 16:56:55 -05:00
Virgil Dupras
521ff84ca4
Reserve some RAM for future features
2020-04-07 17:32:04 -04:00
Virgil Dupras
71d1350143
emul/hw/rc2014: add memdump command
...
Why didn't I think of adding it before?
2020-04-07 13:37:52 -04:00
Virgil Dupras
a09e552ccc
link: fix literal ASKIP
2020-04-07 11:26:47 -04:00
Virgil Dupras
400f0ab0b0
boot: fix flagsToBC
...
Why did I ever think that using CM was a good idea? any comparison
with numbers more than 0x8000 apart would be wrong...
2020-04-07 11:26:37 -04:00
Virgil Dupras
1c6e979028
link: new unit to relink dictionaries
...
Not quite functional yet, but works in toy situations. The goal is to
concatenate RC2014's bootstrapped dict to the boot binary.
2020-04-06 20:59:55 -04:00
Virgil Dupras
9a8c25ceb4
core: fix PSP leak in MOVE
2020-04-06 19:59:20 -04:00
Virgil Dupras
7cd9d29cd8
core: fix MOVE so it copies the right number of bytes
...
It copied one too much.
2020-04-06 16:54:56 -04:00
Virgil Dupras
058b85686f
core: add word "MOVE"
2020-04-05 21:02:38 -04:00
Virgil Dupras
6f9d0a98c4
fmt: fix stack leak in DUMP
2020-04-05 20:19:58 -04:00
Virgil Dupras
67d732c4be
cmp: add tests
2020-04-05 19:52:12 -04:00
Virgil Dupras
fca0e79da3
cmp: fix & and | logic
...
It simply didn't work before, except for =.
2020-04-05 17:36:07 -04:00
Virgil Dupras
74a32db5cc
Move forth/*.txt to root folder
2020-04-05 16:12:28 -04:00
Virgil Dupras
974018831e
Add chained comparison support
2020-04-05 16:11:17 -04:00
Byron A. Grobe
f65c189e9b
Replace bin2c.sh with a more portable implementation.
...
`xxd' is not available on all systems, and on others does not support
the `-i' flag. Since bin2c.sh relied on a tool that I can't seem to find
a compatible version of, I have included a simple, portable replacement in C.
Usage remains the same:
bin2c ARRAYNAME < inputfile > outputfile.
This change is also reflected in emul/Makefile.
2020-04-05 13:04:05 -05:00
Virgil Dupras
7b34268a9a
Add "DUMP" word
2020-04-05 13:53:03 -04:00
Virgil Dupras
7df7416e9e
fmt: add word ".x" and fix .X to 4 chars output
...
Simpler code, more predictable output.
2020-04-05 12:15:43 -04:00
Virgil Dupras
7390cb18ed
rc2014: a little cleanup
2020-04-05 09:29:03 -04:00
Virgil Dupras
58e88119ec
rc2014: Forth Collapse OS, fully operational!
2020-04-05 09:09:00 -04:00
Virgil Dupras
e5f22c7d91
rc2014: update README
2020-04-04 18:10:00 -04:00
Virgil Dupras
edb2771488
rc2014: bingo!
...
Interpreter is functional in the emulator!
2020-04-04 17:43:00 -04:00
Virgil Dupras
7b42bbde27
rc2014: aaalmost there...
...
Red 5 standing by.
2020-04-04 17:07:35 -04:00