Commit Graph

1170 Commits

Author SHA1 Message Date
Virgil Dupras
d6a3e79394 Free some space for xcomp core low 2020-05-13 08:00:49 -04:00
Virgil Dupras
ddf23e3d02 Move a bunch of words from core to xcomp core 2020-05-13 07:55:36 -04:00
Virgil Dupras
6a5ff3adcb rc2014: unify SD Card driver
Now more low/high layers.
2020-05-12 21:48:29 -04:00
Virgil Dupras
cbf5baf3b6 Pack core words a bit
This leaves space for xcomp-core which is growing.
2020-05-12 21:27:06 -04:00
Virgil Dupras
dfe474ca0e xcomp: add XCOMPILE and X[COMPILE]
This allows us to move words like ABORT" to xcomp-core, which is
I think the last roadblock before being able to unify all drivers
into a single xcomp layer.
2020-05-12 21:08:18 -04:00
Virgil Dupras
44b065ff99 ti84: unify drivers
No more low/high
2020-05-12 12:41:47 -04:00
Virgil Dupras
1094ec9c57 Make DO..LOOP stable
DO and LOOP now only compile words from stable ABI, which make them
suitable for xcomp. This will greatly simplify driver writing and
allow us to mostly avoid the low/high divide in drivers.

LEAVE is still xcomp-incompatible though.

This make us very very tight for "<0x100" limit for literal words.
Hopefully, we won't need more stuff in that area of the binary...
2020-05-12 10:40:59 -04:00
Virgil Dupras
b760c2d353 SCPY: don't copy the NULL
This makes [entry] much simpler. Also, remove unused LITS word.
2020-05-12 07:36:20 -04:00
Virgil Dupras
231d727598 Move a few words from core to xcomp core 2020-05-12 07:21:34 -04:00
Virgil Dupras
9ad7ee7a4b Rename Inner core to Cross-compiled core
And refreshed description.
2020-05-11 22:23:26 -04:00
Virgil Dupras
6beb082e29 acia: make wholly cross compilable 2020-05-11 21:52:44 -04:00
Virgil Dupras
da371451cc Replace INITIAL_SP with PS_ADDR conf
Now I struggle to remember why I ever did things they way I did.
There must have been a reason...
2020-05-11 21:08:24 -04:00
Virgil Dupras
73482e7ea1 Reword root block
Usage of "LIST" wasn't explicit enough for a complete newcomer. I
hope that with this wording, anyone can figure out how to navigate
blocks and learn the system.
2020-05-11 20:12:21 -04:00
Virgil Dupras
73b6d9905e Add 7x7 font 2020-05-10 21:37:23 -04:00
Virgil Dupras
4e1fe916be ti84: working! 2020-05-10 14:56:07 -04:00
Virgil Dupras
2791dd992e ti84: offset binary by 0x100 to free space for TI-specific stuff
Not yet tried on real hardware, but we should be getting pretty
close...
2020-05-10 14:06:01 -04:00
Virgil Dupras
62ae1012df ti84: allow case select during a-lock with 2nd mode 2020-05-10 11:39:10 -04:00
Virgil Dupras
a6aba40327 ti84: fix a-lock debouncing bug
Yup, it was a deja vu. I remember now.
2020-05-10 11:26:58 -04:00
Virgil Dupras
06a4674317 ti84: implement a-lock
There's a bug where the first char after a-lock isn't a-modded. I
have troubles figuring it out for now. It feels like deja vu. I
think I had the same problem with asm.
2020-05-10 09:37:36 -04:00
Virgil Dupras
a476773813 Add words BIT@ and BIT! 2020-05-10 08:40:49 -04:00
Virgil Dupras
244776a7eb ti84: enable alpha key 2020-05-09 20:54:47 -04:00
Virgil Dupras
abafd6d67b ti84: fix glitches 2020-05-09 15:31:41 -04:00
Virgil Dupras
e06d6c5345 ti84: we have a prompt 2020-05-09 14:28:55 -04:00
Virgil Dupras
4ce0727c72 ti84: kbd driver wip 2020-05-09 11:55:58 -04:00
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