Virgil Dupras
5d4155aa32
Add words 1+ 2+ 1- 2- and consts 0 1 -1
...
Saves quite a few bytes in the final binary.
2020-04-15 21:29:39 -04:00
Virgil Dupras
2a84a426b4
Strip usages of IY register
2020-04-15 16:53:04 -04:00
Virgil Dupras
d2ec5e271c
Optimize boot binary's word execution code
...
Should be significantly faster now. Less push/popping and usage of
DE instead of IY.
2020-04-15 16:09:10 -04:00
Virgil Dupras
728e4ce123
Bring EXECUTE word outside of stable ABI
2020-04-15 13:36:28 -04:00
Virgil Dupras
b73e1a5f7a
z80a: invert the meaning of IFZ, IFNZ, IFC, IFNC,
...
It is much less confusing when "IFZ," means "If Z is set, continue
into IF, else, jump to THEN,".
2020-04-15 12:20:09 -04:00
Virgil Dupras
2439f1ed86
Change SCMP for S=
...
Remove flagsToBC boot routine.
2020-04-15 12:19:58 -04:00
Virgil Dupras
7292d486dc
z80a: add stuctured flow words
...
Allow us to rely a little less on labels. We now only need 4.
2020-04-13 20:34:53 -04:00
Virgil Dupras
7d184b9e70
Use SUBHLss, macro more
2020-04-13 19:31:23 -04:00
Virgil Dupras
0c6cabfd33
doc improvement
2020-04-11 13:19:30 -04:00
Virgil Dupras
e6d3638f4f
Add CURRENT* and simplify xcomp
2020-04-09 12:01:08 -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
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
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
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
ba918d0fef
Add memory maps
2020-04-07 20:54:10 -04:00
Virgil Dupras
521ff84ca4
Reserve some RAM for future features
2020-04-07 17:32:04 -04:00
Virgil Dupras
c972c70ab1
Use proper RAM addr for CURRENT in IMMEDIATE
2020-04-04 08:11:30 -04:00
Virgil Dupras
d013c572ad
Use proper RAM addr for HERE in SCPY
2020-04-04 07:34:38 -04:00
Virgil Dupras
c56386af02
wip
2020-04-02 23:21:53 -04:00
Virgil Dupras
941791d609
forth: remove RAMSTART and RS_ADDR from stable ABI
2020-04-02 11:39:40 -04:00
Virgil Dupras
2481ed4b66
forth: remove dummy.fs
...
All "stop pings" are now explicitly made at appropriate places. This
fixes a problem I've introduced in the last commit where RAM+ was
unexpectedly part of a stable ABI because of "HERE" usage in dummy.fs.
This system will, anyways, soon change because boot.bin and z80c.bin
will be built during the same process (but there's a bit of retooling
to do before I get there).
2020-04-02 11:29:23 -04:00
Virgil Dupras
7d5b1f5cea
forth: Forth-ify parseDecimal
2020-03-31 15:04:28 -04:00
Virgil Dupras
25814c0b8b
forth: add label system to z80 assembler
2020-03-31 09:23:00 -04:00
Virgil Dupras
ce6e31dda1
forth: inline "strcmp"
2020-03-31 08:02:40 -04:00
Virgil Dupras
36e200adbb
forth: Forth-ify "SCPY"
2020-03-30 17:59:30 -04:00
Virgil Dupras
5b01f797fc
forth: Forth-ify "(find)"
2020-03-30 17:36:15 -04:00
Virgil Dupras
de3da19333
forth: Forth-ify "NOT"
2020-03-30 17:26:51 -04:00
Virgil Dupras
4756fb7763
forth: Forth-ify "(parsed)"
2020-03-30 17:21:13 -04:00
Virgil Dupras
80985460d4
forth: remove JTBL
...
We refer to stable offset as direct numbers instead of offset to JTBL.
Simpler that way.
2020-03-30 17:05:00 -04:00
Virgil Dupras
162ff2c5cb
forth: Forth-ify "!"
2020-03-30 14:09:39 -04:00
Virgil Dupras
8ef9e7d0da
forth: Forth-ify "@"
2020-03-30 14:05:07 -04:00
Virgil Dupras
f9c3a0444c
forth: Forth-ify "DROP"
2020-03-30 13:57:06 -04:00
Virgil Dupras
49994f09ce
forth: add word "2DROP"
2020-03-30 13:54:46 -04:00
Virgil Dupras
f6cba4b1cf
forth: Forth-ify "QUIT"
2020-03-30 08:25:22 -04:00
Virgil Dupras
d09ec0d757
forth: Forth-ify "SWAP"
2020-03-30 08:06:11 -04:00
Virgil Dupras
cc4700e389
forth: Forth-ify "DUP"
2020-03-30 08:02:20 -04:00
Virgil Dupras
09cd25df29
forth: Forth-ify "OVER"
2020-03-30 07:58:16 -04:00
Virgil Dupras
9cfddea940
forth: Forth-ify "+"
2020-03-30 07:54:45 -04:00
Virgil Dupras
a2c258afba
forth: Forth-ify "CMP"
...
forth.asm under 1K lines!
2020-03-30 07:52:24 -04:00
Virgil Dupras
7c9d799d93
forth: Forth-ify "SCMP"
2020-03-30 07:48:07 -04:00
Virgil Dupras
2db6ebc247
forth: Forth-ify "BYE"
2020-03-28 10:14:27 -04:00
Virgil Dupras
e0eaa8ba63
forth: Forth-ify "ABORT"
2020-03-28 10:11:52 -04:00
Virgil Dupras
408d93bd23
forth: Forth-ify "IMMED?"
2020-03-27 21:58:24 -04:00
Virgil Dupras
8f990ff954
forth: Forth-ify "IMMEDIATE"
2020-03-27 21:36:05 -04:00
Virgil Dupras
409a9f87e5
forth: replace "ROUTINE" with "JTBL"
2020-03-27 19:53:28 -04:00
Virgil Dupras
29dcddb8cd
forth: improve assembler a bit
2020-03-27 18:38:42 -04:00
Virgil Dupras
799ea72974
forth: Forth-ify ":"!!!
...
Lifting ourselves by the bootstraps!
2020-03-27 16:21:34 -04:00
Virgil Dupras
941224be94
forth: Forth-ify "-"
2020-03-27 11:36:58 -04:00