Virgil Dupras
6f61aa404f
tools/cfsunpack: new tool
2019-06-17 15:21:05 -04:00
Virgil Dupras
95b658897a
recipes/rc2014/zasm: add instructions to assemble kernel
2019-06-17 14:19:49 -04:00
Virgil Dupras
3e437747c2
recipes/rc2014: add missing calls to fsInit
...
Also, tighten RAM addresses. They were unecessarily loose.
2019-06-17 13:46:33 -04:00
Virgil Dupras
914c6d5abc
Update comments
2019-06-17 13:42:53 -04:00
Virgil Dupras
00778f73e1
blockdev: fix bug recently introduced in load cmd
...
It would always load one byte less than told... This time it's right on
the money :)
2019-06-17 09:54:30 -04:00
Virgil Dupras
4b423a9dc6
tools/blkdump.py: new tool
...
Also, rename "download.py" to "memdump.py".
2019-06-17 09:02:01 -04:00
Virgil Dupras
8cf9904f33
blockdev: fix load command over-loading a byte
...
Calling `load` would always read one more byte than specified. Also,
make `0` mean `0x100`.
2019-06-17 08:19:03 -04:00
Virgil Dupras
bd2877e012
shell: make arg in peek/poke mandatory
...
Also, make `0` mean `0x100`.
2019-06-17 08:18:28 -04:00
Virgil Dupras
5e31de0bac
apps/memt: new app
2019-06-16 20:53:21 -04:00
Virgil Dupras
7c23e5a9ef
acia: protect DE during aciaInt
...
I don't know why I haven't noticed it wasn't protected. It must have
been behind many random problems I've been having...
2019-06-16 19:29:58 -04:00
Virgil Dupras
3bc165c8f6
Update bootstrap bin
2019-06-15 20:54:27 -04:00
Virgil Dupras
3e7d181d3c
zasm: properly raise error on bas ioPutC calls
2019-06-15 20:01:17 -04:00
Virgil Dupras
7ba8e85a4a
Update bootstrap binaries
2019-06-15 15:53:03 -04:00
Virgil Dupras
4327153ffd
zasm: fix include EOF detection
...
That was an interesting bug. It didn't cause a problem in emulation, but
in an RC2014 on an SD card, an include that didn't end with two newlines
would cause an infinite loop.
2019-06-15 15:50:27 -04:00
Virgil Dupras
92a04f4627
sdc: support 24-bit addressing
...
Needed if we want to compile the kernel and zasm from within a SD card.
I didn't go straight for 32-bit because it was significantly more
complex and 24-bit give us 16M. Enough to go on for a while...
2019-06-15 13:41:20 -04:00
Virgil Dupras
605c631dc0
shell: add support for backspace
...
It doesn't sound like much, but that backspace key is often useful...
2019-06-14 22:14:09 -04:00
Virgil Dupras
e7c07cdd9a
apps/at28w: fix argument byte order
2019-06-14 21:11:45 -04:00
Virgil Dupras
14cc2fb785
parse: fix option word default value
...
Previously, an optional word argument would only have its first byte set
to zero.
2019-06-14 21:10:18 -04:00
Virgil Dupras
93981e00eb
zasm: fix include line no in error reports
...
Weren't properly saved during local pass back and forth.
2019-06-14 20:26:39 -04:00
Virgil Dupras
c613f7b0ee
recipes/rc2014/eeprom: fix broken a28w args passing
...
That's why the command seemed slow! It's much faster than I thought.
2019-06-14 16:30:01 -04:00
Virgil Dupras
4ea7839488
New tool: download.py
2019-06-14 16:06:18 -04:00
Virgil Dupras
df5549ae76
tools/upload.py: support files larger than 0xff bytes
2019-06-14 15:06:14 -04:00
Virgil Dupras
d40940a1ff
doc/zasm: fix error
2019-06-14 14:24:51 -04:00
Virgil Dupras
817636242a
Add at28w app and recipe
...
This allows us to write to an AT28 EEPROM from within collapse os.
2019-06-14 14:15:30 -04:00
Virgil Dupras
145b48efb7
Add apps/sdct
...
A new app to stress test the SD card driver. Also, accompanying this
commit, changes solidifying the SD card driver so that stress tests
actually pass :)
2019-06-10 15:54:15 -04:00
Virgil Dupras
8b638f6899
Update README
2019-06-07 20:08:41 -04:00
Virgil Dupras
9bb2194fb0
recipes/rc2014/zasm: zasm can now assemble *and* write to file
2019-06-07 19:53:50 -04:00
Virgil Dupras
495d69c1cb
sdc: make writing more solid
...
By not waiting until the SD card wan't busy any more after a write, we
exposed ourselves to errors if another operation was attempted right
after it.
2019-06-07 14:59:53 -04:00
Virgil Dupras
e046081900
sdc: add second buffer
2019-06-06 22:16:57 -04:00
Virgil Dupras
db24e21276
sdc: add layer of indirection to buffer system
...
Also, lay out the plan for adding a second buffer.
2019-06-06 15:57:32 -04:00
Virgil Dupras
b742d48b75
Update bootstrap binaries
2019-06-05 19:52:56 -04:00
Virgil Dupras
3dde51ae98
Allow file-to-file compilation in the emulated shell
2019-06-05 19:51:19 -04:00
Virgil Dupras
fb99f4ad91
fs: grow file size on fsPutC, if appropriate
2019-06-05 16:34:14 -04:00
Virgil Dupras
fc81bce70f
Fix error handling when writing to files in emulated shell
2019-06-05 16:13:15 -04:00
Virgil Dupras
2483ee699d
fs: fix broken fopn on id > 0
2019-06-05 15:40:56 -04:00
Virgil Dupras
a7ce9f6fc6
pgm: adapt to recent blkdev change
...
With fsGetC becoming a "random address" API, it broke pgm. This commit
fixes it. To avoid adding the weight of a blkdev in pgm, I manage the
read offset directly in pgm.
2019-06-05 14:45:38 -04:00
Virgil Dupras
c18d42f08b
fs: further adjust to previous blkdev refactoring
...
Previous refacoring broke all seek/tell within fs. fs handles now lost
the responsibility to keep track of current position. It's blkdev's job.
2019-06-04 20:45:01 -04:00
Virgil Dupras
ae028e3a86
blockdev: make implementors "random access"
...
This huge refactoring remove the Seek and Tell routine from blockdev
implementation requirements and change GetC and PutC's API so that they
take an address to read and write (through HL/DE) at each call.
The "PTR" approach in blockdev implementation was very redundant from
device to device and it made more sense to generalize. It's possible
that future device aren't "random access", but we'll be able to add more
device types later.
Another important change in this commit is that the "blockdev handle" is
now opaque. Previously, consumers of the API would happily call routines
directly from one of the 4 offsets. We can't do that any more. This
makes the API more solid for future improvements.
This change forced me to change a lot of things in fs, but overall,
things are now simpler. No more `FS_PTR`: the "device handle" now holds
the active pointer.
Lots, lots of changes, but it also feels a lot cleaner and solid.
2019-06-04 15:36:20 -04:00
Virgil Dupras
63473cc2e3
blockdev: make selection structure opaque
...
I'm about to change that structure and I don't want fs to be messed up
by this. I'm proceeding step by step...
2019-06-04 09:56:36 -04:00
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