Commit Graph

1146 Commits

Author SHA1 Message Date
Virgil Dupras 2f1e635b9d ti84: tidy up driver code
Pushed all words directly interfacing with ports and memory offsets to
low level layers. This saves us the need for keeping those variables in
runtime memory.
2020-05-09 08:50:55 -04:00
Virgil Dupras b2d71cb1ee ti84: add Z offset mechanism 2020-05-09 08:13:49 -04:00
Virgil Dupras afc2327770 Split icore in 2 parts
The goal is to insert device drivers in between.
2020-05-08 21:47:03 -04:00
Virgil Dupras baf725aa38 Move a bunch of words from core to inner core
That makes it easier to write drivers that can be xcompiled.
2020-05-08 20:55:50 -04:00
Virgil Dupras ffdc58739a ti84: HelloWorld!
In emulator of course...
2020-05-08 11:36:50 -04:00
Virgil Dupras b90efb0f7f ti84: first glyph on screen!
On the emulator of course...
2020-05-08 09:07:44 -04:00
Virgil Dupras 58ec54fc97 ti84: wip
Gave more priority to CPU in the emulator because initialization would
otherwise be horrendously slow.
2020-05-08 07:56:34 -04:00
Virgil Dupras 114e753b64 ti84: WIP 2020-05-08 06:50:34 -04:00
Virgil Dupras 24e588019b Add words RSHIFT and LSHIFT 2020-05-07 15:41:43 -04:00
Virgil Dupras 4e98ef11bd ti-84+: wip
I need RSHIFT and LSHIFT first...
2020-05-07 15:08:42 -04:00
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 ab6a2688fe recipes/trs80: self-hosting 2020-05-06 12:38:33 -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 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