On Wed, Sep 16, 2020 at 11:45 AM RETRO Innovations <go4re...@go4retro.com> wrote:
> 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. > > Soon as I find my box of round tuits. Where did I put those? Here';s what the current RequestReadBlock looks like [image: image.png] > 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. > > Nope. It's real TPDD behavior I reverse engineered long ago. Not saying no one else did, but at least I also did. > > - 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? > > What original code was little endian? I returned it BE because that's how it works on a real TPDD based on my reverse engineering. > > - 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? > > Turns out I write very little code without a reason ;-) It's so that DOS100.CO TS-DOS tpdd client (RAM version) can be found even if it's not your current directory based on changing directories using the TS-DOS directory extension. > > - 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). > > No. It's a real TPDD feature. I added when I found the WP-2 using it. WP-2 traverses the directory backwards if you move the cursor backwards in the file list. > > - Not sure I see why there is an option for a FilteredRead in > RequestReadBlock. Is there more docs on this? > > Feature... NUL and EOF in .DO files will corrupt a model t's memory file system. So they get filtered out when interacting with a model t. -- John.