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.

Reply via email to