Dang, TS-DOS is specifically requesting the name "ROOT", which means I have
to make PDDuino use that, and you can't have a real directory named ROOT.

There is a macro or const you can edit in the main .ino to change that from
"SD:   " to "ROOT  ".

Probably won't affect UR2 but if it's baked into something like TS-DOS
since 35 years ago, then I just have to go along.

Then again... TS-DOS is the one thing that actually works pretty well as it
is. So then, no I don't ???

Anyway thanks for the captures.

-- 
bkw

On Tue, Jul 13, 2021, 4:21 AM Brian Brindle <bbrin...@gmail.com> wrote:

> >> That is strange. Remember, UR2 works with a real tpdd which has no such
> thing as a current directory label, and as well, the whole point of the UR2
> stub on-demand loader is that you don't have TS-DOS installed, either ram
> or rom.
>
> I'm probably not articulating what I'm trying to say right, it's
> sometimes impossible for me to talk without a whiteboard. I'd explain why,
> but we'd need a whiteboard.
>
> Here is the behavior I have observed:
>
> TS-DOS seems to always use M1, or at least does when loading a directory
> anyway. UR2 does not when asking for DOS100.CO.
>
> (Working Dev)
> UR2:
> RX: 5A 5A 07 00 F8 0D - ZZ
> TX: 12 01 00 EC 0D 0A 3E 20 - >
>
> RX: 5A 5A 00 1A 44 4F 53 31 30 30 2E 43 4F 20 20 20 20 20 20 20 20 20 20
> 20 20 20 20 20 46 00 - ZZ..DOS100.CO          F
> TX:  11 1C 44 4F 53 31 30 30 2E 43 4F 20 20 20 20 20 20 20 20 20 20 20 20
> 20 20 20 46 FF FF 9D - DOS100.CO F
> RX: 5A 5A 01 01 03 FA - ZZ
> TX: 12 01 00 EC
> RX: 5A 5A 03 00 FC - <THE FILE>
>
> TS-DOS:
> RX: 4D 31 0D 5A 5A 08 00 F7 0D - M1 ZZ
> TX: 12 0B 00 52 4F 4F 54 20 20 2E 3C 3E 20 96 - ROOT <>
> RX: 0D 4D 31 0D 5A 5A 07 00 F8 - M1 ZZ
> TX: 12 01 00 EC
> RX: 4D 31 0D 5A 5A 08 00 F7 0D - M1 ZZ
> TX: 12 0B 00 52 4F 4F 54 20 20 2E 3C 3E 20 96 - ROOT <>
> RX: 0D 4D 31 0D 5A 5A 07 00 F8 - M1 ZZ
> TX: 12 01 00 EC
> RX: 5A 5A 08 00 F7 - ZZ
> TX: 12 0B 00 52 4F 4F 54 20 20 2E 3C 3E 20 96 - ROOT <>
> RX: 5A 5A 00 1A 44 4F 53 31 30 30 2E 43 4F 20 20 20 20 20 20 20 20 20 20
> 20 20 20 20 20 46 00 - ZZ DOS100.CO F
> TX: 11 1C 44 4F 53 31 30 30 2E 43 4F 20 20 20 20 20 20 20 20 20 20 20 20
> 20 20 20 46 FF FF 9D - DOS100.C0 F
>
> So, in my playing it looks like when you swap back to TS-DOS, load a
> directory it runs the PDDuino through the M1 routine, sets the dmeLabel then
> when you flip to the UR2, do the load DOS it takes the ZZ DOS100.CO F
> without any issue. Do just the ZZ DOS100.CO F without dmeLabel set it
> just looks at you.
>
> - Brian
>
>
>
> On Mon, Jul 12, 2021 at 11:26 PM Brian White <b.kenyo...@gmail.com> wrote:
>
>>
>>
>> bkw
>>
>> On Mon, Jul 12, 2021, 9:48 PM Brian Brindle <bbrin...@gmail.com> wrote:
>>
>>>
>>>
>>> On Mon, Jul 12, 2021 at 5:34 PM Brian K. White <b.kenyo...@gmail.com>
>>> wrote:
>>>
>>>>
>>>>
>>>> master actually? or latest default branch which is not master but 0.4.1?
>>>> I didn't have master marked as default currently because I thought I
>>>> had
>>>> made it worse, you know like the partly-broken point mid-way in a
>>>> refactor, so I made the last-known at least basically-minimally-working
>>>> version default.
>>>>
>>>> But if you're actually using the master branch that's great and I'll
>>>> switch that to default. That is where I started porting Jim's main loop.
>>>>
>>>
>>> I'm using the Master. I had a lot of issues with the current default.
>>> Granted I didn't improve my situation by mucking with it, but I stumbled on
>>> the Master, saw the changes you made and liked them so went with it. It's
>>> been working pretty well since.
>>>
>>>     Biggest thing I saw was the PDDuino would wander off looking for
>>>
>>>> > label information and not respond to drive commands. Like when trying
>>>> to
>>>> > load TS-DOS from the UR2 it would fail unless you could force the
>>>> > PDDuino to get a disk label, IE: swap to TS-DOS rom, list a
>>>> directory,
>>>> > then it would happily go on to the load step. It is somewhat working
>>>> now
>>>> > so I took a break from it, although my M0 still doesn't work and I'm
>>>> not
>>>> > 100% sure why but I think it's the guy from SdFats fault..
>>>>
>>>> I'd love to know the fix for that. I wrote a whole paragraph in the
>>>> front page readme about it just as a bug description to be figured out
>>>> sometime.
>>>>
>>>
>>> I did a lot of debugging on this, both with a serial monitor and with
>>> the debug options on the pdduino. I came to the conclusion that it had
>>> something to do with dmeLabel not getting set. When watching the
>>> interactions it looked like the UR2 just does a ZZ - ZZ DOS100.CO and
>>> that's it. TS-DOS did a little dance that gave it the root dir first and
>>> set dmeLabel.
>>>
>>
>>
>> That is strange. Remember, UR2 works with a real tpdd which has no such
>> thing as a current directory label, and as well, the whole point of the UR2
>> stub on-demand loader is that you don't have TS-DOS installed, either ram
>> or rom.
>>
>> Ken Pettit has a TS-DOS disassembly in his directory on club100 that we
>> can consult too when it comes to nailing down a real mystery.
>>
>> Maybe it's something where IF the server says it supports directory
>> extensions (by acknowledging one of the commands that should be unknown to
>> a real tpdd), THEN the label must actually be supplied at various times,
>> and I'm missing some.
>>
>> We had discussed here not too long ago the idea of having a tpdd server
>> at least have an option to treat some filenames specially, like having
>> DOS100.CO always work regardless of current directory. It sounds pretty
>> sensible to me, but if the UR2 loader always cds to root first, then that
>> means there is no point.
>>
>> That would also mean the root label is not free to be whatever I think it
>> should be, but has to be whatever UR2 cds to or looks for (or else we hack
>> UR2, or else we recognize UR2 requests and fake whatever makes it happy.) I
>> don't like "ROOT" as the root dir label. I will not use it unless forced to
>> by something like ur2 just requires it or something. Similarly for "PARENT".
>>
>> I always had the idea that there could be a whole raft of virtual files
>> that don't actually exist but that could be used to issue commands or
>> return data like RTC time etc, like /proc /sys etc. They could even be in
>> their own virtual sub dir. The dir could even be invisible where it isn't
>> listed in  the root directory listing, but never the less works if you
>> request the right dir and filenames.
>>
>> I like the idea that, at least for some things, you might be able go use
>> them by just opening the "file" in TEXT. Or sched or addr for that matter.
>> You could have a 2 MB address book for real, but a virtual addr.do that
>> only sees a 5k window of it at any given time.
>>
>> I don't actually know what all the useful uses might be but it just seems
>> obvious to provide the facility simply because you can, and maybe someone
>> else comes up with functions that are made possible by using the facility.
>>
>>
>> I mucked with this quite a bit but stupidly went down the route of trying
>>> to make DOS100.CO found no matter what the current directory was but
>>> regretted that after I started thinking it was short-sighted for other
>>> things not DOS100.CO. I'll have some more time here soon to keep
>>> playing.
>>>
>>>
>>>>
>>>> So far, actually the lowly 32u4 feather board is actually my favorite.
>>>> The teensy's have gobs more power obviously, but for this task the 32u4
>>>> does the job so the extra power doesn't matter until we start adding
>>>> features beyond straight tpdd. Either feather is better than the teensy
>>>> (until you start needing the horsepower) for the sake of:
>>>> * asymmetrical pin headers for polarity enforcement,
>>>> * built-in lipo manager
>>>> * card detect switch,
>>>> * ...which an interrupt can be assigned to
>>>> * extra on-board led for the card slot
>>>>
>>>> I'm with you on the 32u4's now. Very impressed with what they have and
>>>> can do. I hadn't really touched them much before. The form factor of all of
>>>> this is my favorite, the feather mount boards totally make it all work.
>>>> Great job on those.
>>>
>>>
>>> Brian
>>>
>>>

Reply via email to