Virgil Dupras
c85ed474d7
blockdev: remove _blkCall
...
The ability to specify "0" routines in blkdev table is not used anymore
now that stdio is a separate subsystem.
Also, I'm preparing a blockdev refactoring and this complicates my work.
2019-06-04 09:23:10 -04:00
Virgil Dupras
50a26f6e39
recipe/rc2014/zasm: new recipe
2019-06-03 13:35:21 -04:00
Virgil Dupras
dfe19e20e4
Includes work fine when assembling from the shell
2019-06-03 11:24:52 -04:00
Virgil Dupras
7ae29015de
tools/emul: add hex representation to debug output
...
My mind isn't so good at decimal -> hex translations. It helps to have
this...
2019-06-03 11:16:06 -04:00
Virgil Dupras
082fa3431d
We can now assemble source files from within the shell!
2019-06-03 11:15:07 -04:00
Virgil Dupras
839ba91312
mmap: make zasm-friendly
2019-06-03 11:14:29 -04:00
Virgil Dupras
78345b336e
Update bootstrap bin
2019-06-03 11:14:15 -04:00
Virgil Dupras
465da6a79d
zasm: add .out directive
2019-06-03 11:13:31 -04:00
Virgil Dupras
40b3d5e11e
tools/emul/shell: copy user.h in its cfsin
...
This way, we can compile apps from within the shell that run on the
shell.
2019-06-03 09:26:28 -04:00
Virgil Dupras
bed7032ee5
pgm: have its own file handle
2019-06-03 09:25:17 -04:00
Virgil Dupras
a48a91c8da
pgm: properly pass shell args in HL
2019-06-03 08:56:39 -04:00
Virgil Dupras
ecbb77072e
tools/emul/shell: allow the growing of fsdev
2019-06-03 08:42:08 -04:00
Virgil Dupras
f511289a3a
tools/emul: make shell's cfsin always have all apps compiled in it
2019-06-03 08:34:29 -04:00
Virgil Dupras
04bf2117b2
tools/emul: re-organize .h files
...
What used to be `tools/emul/user.h` was in fact specific to zasm, so I
moved it there.
To avoid name confusion, I renamed what used to be kernel.h and user.h
to kernel-bin.h and user-bin.h.
2019-06-03 08:12:44 -04:00
Virgil Dupras
9a72f10221
zasm: includes CFS is now built on-the-fly by zasm.sh
...
This makes for a much more usable zasm linux binary that doesn't have to
be rebuilt every time apps or kernel change.
2019-06-02 19:57:40 -04:00
Virgil Dupras
02954af570
Simplyfy the creation of includes.cfs
...
The next step is to generate them on-the-fly.
2019-06-02 16:47:17 -04:00
Virgil Dupras
a4e45d1a75
zasm: make fsdev buffer larger
...
Now that we don't sed out the comments any more, we busted the buffer.
2019-06-02 16:46:44 -04:00
Virgil Dupras
58bdc6b27f
cfspack: apply fnmatch only to files
2019-06-02 16:46:12 -04:00
Virgil Dupras
8e2a89cea5
cfspack: add the ability to spit a single file
2019-06-02 16:35:41 -04:00
Virgil Dupras
c317fbdcf9
cfspack: add pattern argument
2019-06-02 16:22:07 -04:00
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
37a167562c
Update bootstrap bin
2019-06-02 14:46:48 -04:00
Virgil Dupras
21c677a950
Make parseArgs not expect a leading space
2019-06-02 14:46:07 -04:00
Virgil Dupras
f8bd8eeaaf
Make userspace parse args the same way the shell does
2019-06-02 14:05:20 -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
26e71ee580
Update shell/blkdev docs
2019-06-02 11:23:24 -04:00
Virgil Dupras
95f1a8ddaf
blkdev: make load command stop and the end of the stream
...
This allows us to reliably and easily load a file until the end of it.
2019-06-02 11:18:06 -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
3bc7cec03a
sdc: allow the read of 0xff
...
That took an embarrasingly large amount of time to debug for something,
in the end, so obvious...
2019-05-31 21:33: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
7c191fd978
fs: standardize file handle routine argument to IX
...
Using HL/DE was awkward and error-prone.
2019-05-31 14:28:06 -04:00
Virgil Dupras
83771b538f
fs: check for file size bounds in GetC
2019-05-31 11:12:29 -04:00
Virgil Dupras
a641a94853
sdc: make sector swapping more robust
...
It would previously only work when GetC-ing our way into a new sector.
Seeking into one would not work. Now it's much more robust and this
paves the way for write support.
2019-05-30 14:55:38 -04:00
Virgil Dupras
cdc865f8c6
tools/emul/shell: add debug output
2019-05-30 14:55:16 -04:00
Virgil Dupras
83e375936c
shell: make seek cmd init DE to 0
...
So that blkdev not supporting 32-bit aren't messed up.
2019-05-30 14:54:28 -04:00
Virgil Dupras
6403ab1acf
zasm: add support for SRL r
2019-05-30 14:46:25 -04:00
Virgil Dupras
328f44814e
Make blockdev pointers 32 bits
...
This allows us to break through the 64K limit for includes CFS in zasm,
a limit we were dangerously close to breaking. In fact, this commit
makes us go over that limit. Right in time!
2019-05-28 19:42:35 -04:00
Virgil Dupras
6b1679c811
recipes/rc2014/sdcard: mount filesystem!
2019-05-28 13:13:34 -04:00
Virgil Dupras
312e95479e
sdc: fix bug preventing us from reading beyond first sector
2019-05-28 13:12:08 -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
2c80924df9
zasm: indicate include lineno in errors
2019-05-28 09:57:29 -04:00
Virgil Dupras
8def8e7c38
zasm: add lineno to error reports
...
For now, top-level only
2019-05-27 20:52:40 -04:00
Virgil Dupras
e414e600ea
zasm: add ERR_DUPSYM and ERR_OOM error conditions
2019-05-27 17:45:05 -04:00
Virgil Dupras
b298e607bd
zasm: implement error conditions for #inc
2019-05-27 14:21:46 -04:00
Virgil Dupras
31f7c7771d
zasm: implement error conditions in .org and .fill
2019-05-27 14:16:40 -04:00
Virgil Dupras
371076190f
zasm: implement error conditions in .equ
2019-05-27 14:07:07 -04:00
Virgil Dupras
436ff51c39
zasm: implement error conditions in .dw
2019-05-27 13:52:58 -04:00
Virgil Dupras
f5d4321ece
zasm: implement error conditions in .db
2019-05-27 13:44:53 -04:00