Commit Graph

12 Commits

Author SHA1 Message Date
Virgil Dupras
45eceaaf61 Remove indirect memory access
I got bitten again, I've over-designed my solution. The last time
it happened, it was that memory mapping thing I was wanting to add.

The indirect memory access feature I was adding was to solve a
specific problem: Allow Collapse OS to cross-compile directly on a
AT28 EEPROM.

It began well. As long as we were staying in the assembler realm,
things were looking good. However, when we got into the xcomp realm
(B260), things became ugly, and I had to creep up indirection where
I didn't want to.

All of this because I wanted to solve my initial problem in a
slightly more generalized way. The broad idea was that these indirect
memory access could allow xcomp into a broad kind of memory-like
devices.

This idea broke on the "@" part of the equation. If I want
indirections to be two-way and allow xcomp to work properly, I have
to add this indirection to FIND (and possibly others) and this just
isn't practical or elegant.

So, I'm taking a step back and accepting that the solution I design
for now is exclusively for the AT28. What I'm thinking is to add a
low-level hook for memory writing, at the assembly level.
2020-12-07 22:34:53 -05:00
Virgil Dupras
e5a983ab7f Rename A!, A@ and A, to C!*, C@* and C,*
Also, rename "Addressed devices" to "Indirect memory access".

I do this because I need to add indirect versions of !, @ and ,
to allow boostrapping directly to EEPROM and that A,, thing I've
added to assemblers felt like really bad names.

With this change, I'd like to generalize the use of the * suffix
for aliases.
2020-12-07 19:06:58 -05:00
Virgil Dupras
7dc00179f7 tools/upload: use A! instead of C! to write
By default, it changes nothing, but it allows interesting
setups, such as using AT28! for directly uploading to EEPROM.

I've also updated the EEPROM recipe to upload directly to 0x2000.
I'm not sure what has changed, but it's working fine now.
2020-09-17 13:30:29 -04:00
Virgil Dupras
c2b507eaff tools: improve usability on OpenBSD
So far, I hadn't managed to run those tools properly on OpenBSD. I
was too confused by its stty peculiarities. I'm still confused, but
at least I managed to make them work... most of the time...
2020-07-02 11:36:53 -04:00
Virgil Dupras
223cb94466 tools/upload: use C! instead of A!
Addressed devices are not included in Collapse OS by default. Let's
just accept that upload only works with memory.
2020-05-21 07:59:04 -04:00
Virgil Dupras
7344186c62 tools: add blkup
not actually tested yet...
2020-05-03 07:32:19 -04:00
Virgil Dupras
b536d3bfd6 rc2014: complete the EEPROM recipe 2020-04-13 14:41:02 -04:00
Virgil Dupras
d0545d555f upload: use A! instead of C!
It makes the tool much more versatile. I'll have adev being included
in all recipes, so it can be assumed.
2020-04-13 12:00:56 -04:00
Virgil Dupras
509972b08c tools: add exec and convert ./upload to Forth 2020-04-13 10:25:27 -04:00
Virgil Dupras
5b155a5c15 tools: use BASIC's new while loop
Also, increase STDIO_BUFSIZE to 0x40 so that those while loops work.
2019-12-12 12:04:56 -05:00
Virgil Dupras
7907687abf tools/uploadb: make it much much faster
By uploading a BASIC loop and then run it, we can reduce the serial
communication to pure content which greatly reduces the overhead and make
the process much much faster.
2019-12-11 09:27:05 -05:00
Virgil Dupras
9ec71ecfee tools/uploadb: rewrite in C 2019-12-09 22:05:39 -05:00