Virgil Dupras
c0dbee78de
New part: fs
...
Very incomplete, but if you play your cards right, you can, with the
shell:
1. Create a new CFS
2. Mount it
3. Allocate a file with an arbitrary name
4. Have it listed with `fls`
2019-04-23 09:37:22 -04:00
Virgil Dupras
5071ee9f40
Extract "stdio" part from shell
2019-04-22 22:41:37 -04:00
Virgil Dupras
d3d229a918
shell: support string arguments
...
No consumer yet, but it's coming...
2019-04-22 21:52:33 -04:00
Virgil Dupras
196d22c4ab
shell: add "save" command
...
The opposite of "load"
2019-04-22 16:01:31 -04:00
Virgil Dupras
b4694225c5
blockdev: change GetC API
...
Instead of waiting, GetC always return immediately, with Z indicating if
something was fetched. The "wait" loop is implemented by the called (and
in the new `blkGetCW`).
This simplifies out-of-bounds verifications for storage blockdevs.
2019-04-22 14:26:16 -04:00
Virgil Dupras
fc0cdede55
Move print(n)str from core to shell
...
These routines had hardcoded references to ACIA and didn't belong to the
core.
2019-04-16 19:45:05 -04:00
Virgil Dupras
056de2b19d
doc: add glue code section
2019-04-16 11:26:58 -04:00
Virgil Dupras
af13b0bd00
Code consolidation
2019-04-16 08:35:44 -04:00
Virgil Dupras
a5addc989c
shell: rename seek to mptr
...
going to use `seek` for block devices
2019-04-15 20:42:12 -04:00
Virgil Dupras
c996da8ac8
shell: add error codes to cmds
2019-04-15 20:38:25 -04:00
Virgil Dupras
12c23f52e0
Add blockdev part
...
Also, add the ability for parts to define extra shell commands.
2019-04-15 16:53:11 -04:00
Virgil Dupras
4600b5299c
shell: place cmd metadata next to the routine
...
This will facilitate the inclusion of extra commands other parts might
want to define.
2019-04-15 15:08:00 -04:00
Virgil Dupras
26b125b337
shell: add shellParseArgs
...
Replaces individual command parsing. Quite a big and complex chunk of
code, but makes each command much simpler.
2019-04-14 23:14:07 -04:00
Virgil Dupras
83f63c7146
shell: add call command
2019-04-14 17:01:28 -04:00
Virgil Dupras
e4c23b4270
shell: echo types letters right away
...
Easier to use this way...
2019-04-14 15:18:41 -04:00
Virgil Dupras
942ff37bf8
shell: implement load command
2019-04-14 14:53:16 -04:00
Virgil Dupras
461c09f1e5
Decouple shell from acia
2019-04-14 14:24:29 -04:00
Virgil Dupras
8ccddbcb0e
Separate shell and acia input buffers
...
They serve a different purpose. The goal of the ACIA buffer is to ensure
that we don't miss an input. The goal of the shell buffer is to wait
until the user presses return.
The ACIA buffer has been moved to shell and replaced with a circular
buffer, a more appropriate data structure for this kind of purpose.
Also, introduce `aciaGetC`.
2019-04-14 14:04:31 -04:00
Virgil Dupras
902c6a5dd3
shell: add count arg to peek
...
Also, fix seek reversed endianness.
2019-04-14 11:54:18 -04:00
Virgil Dupras
e4e7db8e23
shell: cleanup
2019-04-14 11:22:45 -04:00
Virgil Dupras
21168f6c4e
shell: implement seek and peek
...
This introduces `core.asm` which includes routines used by other parts.
2019-04-14 11:17:38 -04:00
Virgil Dupras
9580cc3994
shell: add "seek" and "peek" dummy commands
...
This change introduces a command name matching algo.
2019-04-13 22:39:28 -04:00
Virgil Dupras
6bb454232a
Extract "acia.asm" from shell
...
Also, come up with a way to make parts play well together memory-wise.
2019-04-13 16:01:20 -04:00