Virgil Dupras
31119c2de3
xcomp: move all offset spitting to the end of the unit
...
I'd like to move this code, along with all recipe contents, to blk/.
It's easier if "emul-related" code is gathered at the same place.
2020-05-05 20:10:04 -04:00
Virgil Dupras
fa79e3d8a6
Make (print) stop on CR
...
Lines edited with the Block editor end with 0xd and (print) spits
spurious CR when printing those lines.
Also, properly initialize ACC in BROWSE.
2020-05-05 15:49:50 -04:00
Virgil Dupras
c681cb639d
Add words >< and =><=
2020-05-04 22:30:29 -04:00
Virgil Dupras
c494917452
blk: Add LOAD+ and LOADR+
...
And use them in all places they make sense.
2020-05-04 21:43:48 -04:00
Virgil Dupras
3c2e0dd9df
Add usage guide section about disk blocks
2020-05-04 20:37:40 -04:00
Virgil Dupras
986a40d3e2
trs80: override NL to avoid double newlines
2020-05-04 09:21:10 -04:00
Virgil Dupras
24e9fa0c30
Add word NL
2020-05-04 08:10:18 -04:00
Virgil Dupras
a3c3a2f44a
Remove unused DELW
2020-05-03 20:36:35 -04:00
Virgil Dupras
8ef197d248
Make linker more compact
...
There was a weird empty block in the middle of the program.
2020-05-03 20:33:36 -04:00
Virgil Dupras
a96b5f1dec
Restore DOES> section in usage guide
...
I removed it because it was redundant with Starting Forth, but
I directly reference it in the dictionary, so well...
2020-05-03 20:24:54 -04:00
Virgil Dupras
e375562a9f
Revamp dictionary's glossary
2020-05-03 20:18:34 -04:00
Virgil Dupras
df242bb9eb
Revamp usage guide a bit
2020-05-03 19:24:41 -04:00
Virgil Dupras
d3dbeb450f
Tidy up
2020-05-03 12:54:22 -04:00
Virgil Dupras
47a9c89f19
Update READMEs
2020-05-03 12:51:21 -04:00
Virgil Dupras
5504c796ee
tools: add blkup
...
With this tool, we can send content to a TRS-80 directly to floppy.
This paves the way to writing ourselves a set of disks containing the
blkfs!
2020-05-03 08:53:17 -04:00
Virgil Dupras
7344186c62
tools: add blkup
...
not actually tested yet...
2020-05-03 07:32:19 -04:00
Virgil Dupras
f023f9bcb4
Pack core words blks a bit tighter
...
With all this recent movements, we had a bit of a fragmentation
issue.
2020-05-02 21:47:32 -04:00
Virgil Dupras
3373f53997
tidy up blk and fix tests
2020-05-02 21:25:35 -04:00
Virgil Dupras
3d908cef3a
Move all parsing words to Inner core
...
This allows us to get rid of the (parse*) indirection.
2020-05-02 21:21:47 -04:00
Virgil Dupras
8009270e79
Optimize parsing words
2020-05-02 20:32:20 -04:00
Virgil Dupras
931c812394
Remove cmp
...
Not worth the complexity and space.
2020-05-02 19:57:56 -04:00
Virgil Dupras
0b3a328e65
Add a layer of indirection for KEY
2020-05-02 11:17:28 -04:00
Virgil Dupras
446a58006d
Remove one of the 2 indirection layers for EMIT
...
2 was overkill
2020-05-02 10:26:34 -04:00
Virgil Dupras
443ed754e9
trs80: add missing blk
2020-05-02 08:27:24 -04:00
Virgil Dupras
3a27479f2b
fix stupid typo
...
I don't believe this, one hour of my life I'll never get back.
2020-05-02 08:06:37 -04:00
Virgil Dupras
b8d8007a3f
trs80: add *CL< and *CL>
2020-05-02 06:20:03 -04:00
Virgil Dupras
2a578b3352
editor: implement F
2020-05-01 21:52:38 -04:00
Virgil Dupras
86539d2a03
Fix tests
2020-05-01 20:09:51 -04:00
Virgil Dupras
ecca70c7f3
Add layer of indirection to EMIT
...
This would allow things like temporary giving control to the *CL
line on the TRS-80. For example... A very far fetched example. Not
at all the only *raison d'etre* of the layer...
2020-05-01 20:05:15 -04:00
Virgil Dupras
5bf3baff05
editor: add edit buffer
...
Also, add word "C!+" and fix PSP leak in FILL.
2020-05-01 13:17:40 -04:00
Virgil Dupras
792c781614
editor: add cursor pos tracking and display
2020-04-30 20:42:07 -04:00
Virgil Dupras
07f807edee
recipes/trs80: making progress on floppy drivers
2020-04-30 16:10:35 -04:00
Virgil Dupras
65f359bda4
recipes/trs80: can write compiled version to floppy
2020-04-30 11:13:25 -04:00
Virgil Dupras
f38de1c151
Introduce the notion of Extra words
2020-04-29 21:52:18 -04:00
Virgil Dupras
0044011f06
Move AT28 and TRS80 drivers to higher blocknos
...
I'm reserving the 100-200 range for non-bootstrapping needs.
2020-04-29 21:04:10 -04:00
Virgil Dupras
0cf26547ff
Add words FLUSH and COPY
2020-04-29 20:21:18 -04:00
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.
2020-04-29 19:38:43 -04:00
Virgil Dupras
b046aba7f9
recipes/trs80: running!
...
no floppy yet.
2020-04-29 12:26:44 -04:00
Virgil Dupras
1b2c4b519e
icore: add BIN+
...
This allows us to write LATEST at proper offset in emul/stage1.fs in
cases where we set a nonzero BIN(.
2020-04-29 11:42:09 -04:00
Virgil Dupras
fc67b88720
Make BIN( offsetted binaries closer to working at all
...
I have a working offset-by-0x100 stage0 now.
2020-04-28 21:12:52 -04:00
Virgil Dupras
0b8c8c9ca0
recipes/trs80: still wip...
2020-04-28 10:12:16 -04:00
Virgil Dupras
61b2e02351
xcomp: remove XOFF and use ORG and BIN( instead
2020-04-28 09:37:00 -04:00
Virgil Dupras
838548843e
boot: apply BIN( to stray stable ABI references
...
With cross compiling and IMMEDIATE words, things get icky with stable
ABI references. For the same reason that EXIT, (br) and (br?) need to
stay at stable offsets, these word references will not have BIN(
properly applied at Inner core xcomp.
The solution for now is to adjust during EXECUTE, which is ugly and
inefficient, but I don't see a better solution right now.
2020-04-28 08:52:47 -04:00
Virgil Dupras
4501313410
Add [IF] .. [THEN]
...
Will be useful as kinds of "#ifdef"s during xcomp.
2020-04-28 08:28:59 -04:00
Virgil Dupras
f97df4614e
recipes/trs80: wip
2020-04-28 07:51:41 -04:00
Virgil Dupras
b8ea515612
Add word WIPE
2020-04-27 21:28:34 -04:00
Virgil Dupras
2b2ccad96c
Add word FILL
2020-04-27 21:22:06 -04:00
Virgil Dupras
f605e2d85c
Give CASE's default branch access to its input value
...
ref #97
2020-04-27 20:44:21 -04:00
Virgil Dupras
3b66aefcd1
block editor: fix broken B and N
...
fixes #97
2020-04-27 18:11:54 -04:00
Virgil Dupras
295b4b6e0a
z80a: add BIN( parameter
...
Will be useful for assembling binaries for the TRS-80 which can't start
at addr 0.
2020-04-27 15:11:38 -04:00