Commit Graph

226 Commits

Author SHA1 Message Date
Virgil Dupras
e0bc14e55c avra: implement BR*
Getting good! still advancing on ps2ctl in sms/kbd and still
matching reference binary.
2020-05-18 20:34:06 -04:00
Virgil Dupras
cdddfdefae avra: add a layer of indirection to FLBL!
This will make it easier to fit BR* in there.
2020-05-18 19:45:30 -04:00
Virgil Dupras
63dec372ce sms/kbd: continue advancing on ps2ctl rewrite
Still binary matching. Next step is branching support.
2020-05-17 21:10:02 -04:00
Virgil Dupras
177e70580f sms/kbd: begin rewriting ps2ctl to Forth
So far, the resulting binary matches.
2020-05-17 14:24:27 -04:00
Virgil Dupras
bd38d80f9c Move Cross-compiled core from B390 to B350
and renamed it "Core words". Also, reworded the presentation.
2020-05-15 22:44:49 -04:00
Virgil Dupras
f2817870aa sms: working on real hardware! 2020-05-15 21:53:26 -04:00
Virgil Dupras
ebc70be8e8 ti84: use dd instead of truncate
More portable
2020-05-15 17:25:58 -04:00
Virgil Dupras
f9a8e6f180 sms: Pad WIP 2020-05-15 15:41:06 -04:00
Virgil Dupras
1597f1e131 Don't generalize XYPOS just yet
It was ill-advised.
2020-05-15 14:09:31 -04:00
Virgil Dupras
175b4bc497 sms: CollapseOS prompt! 2020-05-15 12:46:25 -04:00
Virgil Dupras
ca60685067 Streamline initialization process
Instead of letting each configuration taking care of RDLN$ and
"CollapseOS" prompt, move this to BOOT to simplify xcomp units.

Initialization source code is now only for driver initialization.
2020-05-15 11:34:35 -04:00
Virgil Dupras
43eabf566b sms: WIP ! 2020-05-14 22:15:31 -04:00
Virgil Dupras
87b51a6261 By default, allocate about 0x100 bytes for PSP+RSP
During "make updatebootstrap", we use less than 0x20 bytes on the
PSP side and less than 0x40 bytes on the RSP one. 0x100 bytes ought
to be enough for anybody.
2020-05-14 18:41:09 -04:00
Virgil Dupras
b606dbf9af rc2014: move xcomp unit's contents to blkfs 2020-05-14 12:29:34 -04:00
Virgil Dupras
a8e8204eba trs80: adapt recipe to single stage xcomp 2020-05-14 12:08:17 -04:00
Virgil Dupras
303b34b483 ti84: adapt recipe to single stage xcomp 2020-05-14 11:36:10 -04:00
Virgil Dupras
0703da928e rc2014: adapt recipe to single stage xcomp
It's now much easier...
2020-05-14 11:32:51 -04:00
Virgil Dupras
5446afd87d emul: rename stage2 to stage 2020-05-14 10:55:39 -04:00
Virgil Dupras
e6bac985fa Cross-compiles in a single stage!
Finally got rid of the XPACKed core and managed to cross-compile
all core words, which greatly simplifies the bootstrapping process.
2020-05-14 10:17:38 -04:00
Virgil Dupras
40a756cf1c Move a bunch of words from XPACKed core to xcomp core 2020-05-14 08:18:53 -04:00
Virgil Dupras
51997533ff Move a bunch of words from XPACKed core to xcomp core 2020-05-14 07:58:55 -04:00
Virgil Dupras
bd1e76ec5b Gather all RC2014 drivers into a single "RC2014 Recipe section" 2020-05-13 14:56:38 -04:00
Virgil Dupras
bb77cd0759 xcomp: add overrides into a loadable block
Makes xcomp.fs units shorter.
2020-05-13 13:33:24 -04:00
Virgil Dupras
0434d02818 xcomp: implement X['] 2020-05-13 13:24:58 -04:00
Virgil Dupras
7c20501f27 Move core's blk to xcomp core (low and high)
TODO: implement X['] so that I can remove those XCURRENT patterns.
2020-05-13 10:50:46 -04:00
Virgil Dupras
029df00ad4 Free some space for xcomp core 2020-05-13 09:11:57 -04:00
Virgil Dupras
d6a3e79394 Free some space for xcomp core low 2020-05-13 08:00:49 -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
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
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
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
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
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
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
ab6a2688fe recipes/trs80: self-hosting 2020-05-06 12:38:33 -04:00
Virgil Dupras
b89fa2981f recipes/trs80: move RECV program to blkfs 2020-05-05 22:21:27 -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
986a40d3e2 trs80: override NL to avoid double newlines 2020-05-04 09:21:10 -04:00