@Micko: Apologies in the name of the TI systems for causing these troubles. As I said, I already planned to clean up the handling, but that turned out not to be so easy as I had to dig deeply into the call stacks and to learn a lot about the device handling in MESS. I think I found a call with depth 20 for reading a sector somewhere, so that's not really something for the coffee break.

I think I have now understood the major part, will try to catch up with your changes. But I would appreciate if you can achieve some workaround for now, promising that I will take care of the restructuring afterwards.

Some more details which I found out two years ago when working on the fix: The TI system allows for industry floppy drives, no special devices from TI, just the controllers. Earlier controllers (with wd17xx) only allow 40 tracks, later controllers (smc92x4) also allowed for 80 track drives. Instead of doing a test seek, the creator of the advanced controller decided to make use of dip switches to inform the controller about the number of physical tracks of the attached drive.

We now have a majority of disk images from 40 track drives and also some images from 80 track drives. Consequently, we need to support the 80 track drives which must also cope with 40 track images.

The disk controller reads the actual number of tracks from an entry in sector 0 of the disk. If it finds it as 40 tracks (from the disk image) but it is an 80 track drive (from the dip switch), it knows that it will have to issue two seek actions per medium track. This is done by the disk controller ROM.

If you now override the device track count with the medium track count, you will get into trouble: From the 40th track on, the drive will refuse any further seek commands, but the controller believes to be at medium track 20. This will raise an error condition. As SSSD disk images on the TI have 360 sectors, you get a seek error from sector 180 upwards.

Now for Anna's observation: The disk directory is located in early sectors, so you have a good chance that the directory is fully intact, and so are all files below the middle of the disk. Within the image emulation, the track translation maps the track count back to the logical track number/2, so everything is again readable up to that point. But any file that extends beyond the middle track will be unreadable.