I've now added TPDD2 support to pdd.sh
It can do normal file load/save/delete access, access both banks, format disk, and read-only sector access. But sadly no sector write access yet, and I'm not sure the sector read access is 100% yet either. It's reading all the logical sectors, but it's not doing the equivalent of the "ID Section" on TPDD1 FDC mode. The TPDD-2 Sector Access docs we have so far (where the copy on Bitchin100 is probably the most complete) only mention reading the nominal 1280 bytes per sector, but I found you con request to read beyond the end of the 1280 bytes per sector, and the drive happily gives you data which isn't just data from say the next sector or track. I haven't analyzed it to decipher what that data is, I can just see that at least some of it is definitely not data that appears in any other sector.

Along the way I learned a couple details that could be added to the TPDD2 sector access page on Bitchin100.
http://bitchin100.com/wiki/index.php?title=TPDD-2_Sector_Access_Protocol

Under "Read Fragment Request (RFReq)",
This part:
"Whereas "Load Sector" causes a sector of the disk to be loaded into the TPDD-2's cache, Read Fragment transfers a fragment of the loaded sector to the client. The largest read I have seen specified a /RFReq/Payload/Length of 0x40. I suspect larger reads could be done, which would presumably speed things up a bit."

You can specify any length from 00-FC  (0-252 bytes), and the drive will return the requested number of bytes. The reason it's 252 instead of 255 is because the response packet also has a single byte for the payload length field, only the response also includes 3 bytes of metadata before the actual data. Those 3 bytes come out of the available 255, leaving only 252 available for data.

Although you can ask for any number from 0-252 inclusive, the most practical value is 128, because it's the largest legal value that multiplies evenly up to 1280. FLOPPY and TS-DOS probably use 64 because that's almost as good, needs less ram, and fits inside the 100's receive buffer which helps make it bulletproof.

Next,
Under "Read Fragment Response (RFResp)", under Payload Length: "/RFReq/Payload/Length 3" should say "/RFReq/Payload/Length + 3"

TPDD2 sector write access will take some investigation by using dlplus in debug mode or adding a server mode to the script, to capture whatever the TPDD2 backup program does from the drive's point of view.

HOWEVER!
I just discovered that we've had a way to create working bootable TPDD2 Utility Disks from downloadable files using no special hardware other than the drive itself since at least 1991!

PDD210.EXE in the M100SIG has a full disk image function, and that function actually works to make a fully working bootable TPDD2 Utility Disk, and it works from within dosbox, so you don't need to find an actual MS-DOS machine to run it. All you need is a disk image (which I've now generated and made available), PDD210, ms-dos or dosbox, and a TPDD2 drive.

I wrote down the details for reference http://tandy.wiki/TPDD_client:flopy2

wgethttps://archive.org/download/M100SIG/M100SIG.zip/Lib-09-PERIFERALS/PDD210.ZIP  
<https://archive.org/download/M100SIG/M100SIG.zip/Lib-09-PERIFERALS/PDD210.ZIP>
unzip PDD210.ZIP
wgethttp://tandy.wiki/images/1/16/26-3814.ZIP  
<http://tandy.wiki/images/1/16/26-3814.ZIP>
unzip 26-3814.ZIP
dosbox -c "serial1 directserial realport:ttyUSB0" .
C:>pdd /FORMAT
C:>pdd /WRITE 26-3814.PDD


PDD210 can't do the same for a TPDD1 util disk though!
It fails when trying to dump a TPDD1 Utility Disk in a TPDD1 drive.

So, no single program does everything, but at least there is a way to do TPDD1 and a way to do TPDD2

--
bkw


On 9/3/21 4:43 AM, Brian K. White wrote:
On 9/2/21 8:30 PM, Chris Kmiec wrote:
Wow, thanks for the link - I got some reading to do :) This seems very cool!

I got not one but two cables! And two drives, a TPPD1 with a caked-on belt (a project in itself), and a mint TPPD2 that has a newer belt and "worked when used last time few years ago"...

You could use https://github.com/bkw777/pdd.sh to create a TPDD1 disk after you get a new belt.

I don't know when I'll have TPDD2 support. I think it's doable with just more of the same straighforward trial & error work, I'm just not promising to work on it this week or any particular time. But I want it myself so, probably I'll have it pretty soon.



--
bkw

Reply via email to