On 9/16/2020 1:21 PM, John R. Hogerhuis wrote:
" LaddieAlpha in RequestReadBlock() looks like it would just send back
a 0x10 0x00 <CHKSUM> response, but command.tdd notes the read should
send an EOF error if the file is finished."
Oh, you're talking about eof error, missed that.
Actually that sounds familiar. I'm pretty sure that I fixed a
read-past-end issue in my unreleased version.
Any chance a release (or source dump) is forthcoming?
I think that was a bug I fixed while working on getting STARDISK to
work (NEC 8401A/8500). STARDISK was reading past the end.
I added in the code to return it (or at least what I think *IT* is,
since the wiki says ERR_EOF is 0x3f) if the condition develops (and sets
state to IDLE).
Right now, (since you're listening), most of the TPDD.cs I grok, but I
am wondering about a few things:
* In FOrmatDirResponse, 0x1e is for a file larger than $ffff, I
assumed that's an extension.
* If the file < ffff, you send 0x9d as the sectors free, but I see
other guidance saying just send 0x80 back. Why 0x96d?
* I assume the 'P', the len >> 24 and the len >> 16 is to send the
upper 2 bytes of the > ffff size file, but why big endian when the
original code was small endian? And, is this part of the extension
previously defined?
* In SelectFile, it looks like the select code always tries to look
for matches in the root dir that of DOS*.CO format. Is there a reason?
* Is reference.previous an extension? Regardless, is there an app
that uses it (PDDuino doesn't have that functionality, but I would
like to add and test).
* Not sure I see why there is an option for a FilteredRead in
RequestReadBlock. Is there more docs on this?
Jim