Virgil Dupras
22e990ed89
Parametrize zasm linux bin's include CFS file
...
... instead of embedding it in the binary itself. Additionally, add a
"zasm.sh" wrapper to faciliate zasm calls on a linux machine.
2019-06-02 15:50:59 -04:00
Virgil Dupras
57356e47b4
recipes/rc2014/sdcard: add instructions to write to SD card
2019-06-02 12:04:11 -04:00
Virgil Dupras
73c3fc7947
shell/stdio: decouple from blkdev (again)
...
Move load/save to blkdev_cmds and add a new "poke" builtin shell cmd
that is the mirror of "peek" and strictly uses stdio (no blkdev
involved).
This allows us to slim the minimal OS size but, more importantly, change
the behavior of "load" so that we don't expect GetC to block until Z is
set. This way, using "load X" with X being larger than the blkdev size
won't block forever.
This also brings our RC2014 minimal kernel below the 1K mark again.
2019-06-02 11:06:38 -04:00
Virgil Dupras
88bf98321e
fs: adjust to DE->IX change in recipe/emul glue code
2019-06-02 10:18:03 -04:00
Virgil Dupras
5e5c7e6592
sdc: add sdcPutC
...
Wriiiiiite!
2019-06-01 19:53:42 -04:00
Virgil Dupras
2e8af376e3
pgm: new kernel module
...
The pgm module implements a shell hook so that when an unknown command
is typed, we look into the mounted filesystem and look for a file with
the same name as the command. If we find one, we load it in memory and
run it.
2019-05-31 14:54:15 -04:00
Virgil Dupras
6b1679c811
recipes/rc2014/sdcard: mount filesystem!
2019-05-28 13:13:34 -04:00
Virgil Dupras
8cfe834edb
recipes/rc2014/sdcard: use "sdci" and blockdev rather than user prog
2019-05-28 11:01:17 -04:00
Virgil Dupras
ed19c6afc1
Use zasm in recipes
2019-05-20 11:00:14 -04:00
Virgil Dupras
013a3b74c8
Add the concept of unit tests
...
Will be much much easier to tests new core routines without having to
re-create their context first.
Also, extract parse.asm from core.asm
2019-05-17 09:33:20 -04:00
Virgil Dupras
45b8e84e2a
shell: de-macro-ize
2019-05-17 08:21:37 -04:00
Virgil Dupras
56760b5aba
stdio: de-macro-ize
2019-05-17 08:14:19 -04:00
Virgil Dupras
34ee91a0d7
zasm: use blkdev IDs as input and output
...
This will soon allow use to seek and tell on input, which is necessary
for a second pass which is necessary for forward symbol references.
This require making `blkSel` a bit more flexible. Rather than having one
global selected blkdev, each app can select its own, in its own memory
space.
2019-05-10 19:33:34 -04:00
Virgil Dupras
d8bc9c2bdd
parts/z80/sdc: implement blockdev's GetC
2019-05-09 10:47:57 -04:00
Virgil Dupras
54d0286486
parts/z80/sdc: add sdcSetBlkSize and sdcReadBlk
2019-05-08 20:08:17 -04:00
Virgil Dupras
12ca2bd53e
parts/z80/sdc: add sdcInitialize
...
Also, adjust SD card recipe. Straightforward initialization and read!
2019-05-08 16:03:54 -04:00
Virgil Dupras
3d82d7fb30
recipe/rc2014/sdcard: we read data!
2019-05-07 17:28:07 -04:00
Virgil Dupras
beeb40eb93
recipe/rc2014/sdcard: we got out of initialization!
2019-05-07 16:38:08 -04:00
Virgil Dupras
c9f164a510
recipe/rc2014/sdcard: Make sdinit program output readable text
...
Makes for a more straightforward test.
2019-05-07 16:20:28 -04:00
Virgil Dupras
e80888555f
recipe/rc2014/sdcard: new recipe
2019-05-07 15:47:49 -04:00
Virgil Dupras
055e0d7a31
Split parts in two: z80 and avr
...
Also, clarify the role of recipes.
2019-04-25 16:03:45 -04:00
Virgil Dupras
ff99062d5b
Move RC2014 recipe in its own folder
...
Also, remove `parts/platforms`. It makes no sense. Only recipes make
sense.
2019-04-16 11:50:16 -04:00
Virgil Dupras
461c09f1e5
Decouple shell from acia
2019-04-14 14:24:29 -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
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
Virgil Dupras
89e4edfa52
Add parts/platforms
2019-04-12 15:53:05 -04:00
Virgil Dupras
7bf3e2f71e
Let's get the ball rolling!
2019-04-12 15:16:12 -04:00