Commit Graph

99 Commits

Author SHA1 Message Date
Virgil Dupras
f2f3474698 Begin copying fonts (and compiler) to blk 2020-05-07 12:09:52 -04:00
Virgil Dupras
be66d7b4a2 editor: implement E 2020-05-07 08:44:17 -04:00
Virgil Dupras
204a9c69f8 editor: fix PSP leak in F 2020-05-07 08:38:57 -04:00
Virgil Dupras
feb0411530 editor: simplify I with the use of MOVE-
Also, delay the shadowing of DO..LOOP's I for as long as possible.
2020-05-06 21:10:27 -04:00
Virgil Dupras
eaeb138a0c Add words C@- C!- and MOVE- 2020-05-06 20:37:08 -04:00
Virgil Dupras
690d9e6313 editor: improve I
Make it print edited line and also have it adjust cursor pos.
2020-05-06 17:41:49 -04:00
Virgil Dupras
58ece9f9a1 editor: implement I command
Also, made LIST properly handle full 64-chars lines not ending with
a null or CR. Previously, such a line would be accompanied by its
following line, duplicating that line's output.
2020-05-06 12:19:36 -04:00
Virgil Dupras
f54b1dc504 Add 2>R and 2R>
This allows us to make DO..LOOP more compact.
2020-05-06 09:55:05 -04:00
Virgil Dupras
b89fa2981f recipes/trs80: move RECV program to blkfs 2020-05-05 22:21:27 -04:00
Virgil Dupras
60b4bbf28a Fix DUMP's broken "round up to next 8" logic
This was caused by the removal of signed-ness a long while ago.
2020-05-05 22:09:11 -04:00
Virgil Dupras
9df053b76c z80a: add CPn, 2020-05-05 21:49:26 -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
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
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
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
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