Sardine sector access is picky about the usb-serial adapter.
The Sardine dictionary somehow isn't working any more, even though the data and conversation is identical to the byte. SAR100.CO loads fine. The problem is only when trying to invoke GRPH+F.
The order of operations and responses we give back to Sardine are identical to what a real drive does with the same disk image loaded, yet Sardine accepts the real drive and says disk error on us after receiving the first packet.
The one packet that goes is identical to that from a real drive.
Can only assume it's a timimg issue, responding too fast or too slow, but some blind guesses adding small delays between getting the 0x0D from the client and sending back the data didn't help, nor any attempts to make it go even faster by removing some of the conditional code like the debug messages.
This definitely used to work. Might possibly also just be my 100 being marginal, need to try some other machines. Need to go back and try the first version when the disk image feature was added.
It works with a different usb-serial adapter. ??? both were real FTDI, both connected to the same usbc port on the same thunderbolt dock. I will have to try several different usb-serial adapters and look at what the control lines are actually doing with a scope or logic analyser to see why one works and one fails.
But at least it DOES work, just it may be picky about the usb-serial adapter.
Working: Startech ICUSB232C
Not working: Gearmo GM-FTDI2-LED-C DTECH DT-5018 TERA GRAND USB2-RS232WN
Note these all work perfectly in every other way.
Ordinary file transfers are perfect, including stress-tests with random binary files of the maximum 64k size or 2 50k files filling entire disks. Even sector access works with other software like the Disk-Power installer or pdd.sh. It's only Sardine that they fail on.