retry missing sectors

Have an idea how to make KryoFlux even better? Let us know...
Post Reply
ZrX
Posts: 245
Joined: Tue Dec 06, 2011 9:09 pm

retry missing sectors

Post by ZrX » Wed May 20, 2015 11:27 am

Would like to see a switch that could be used to tell DTC to retry missing sectors as well as bad sectors in cases where I'm sure a damaged track really does contain data which needs to be retried in hopes of getting more data out.

Last weekend had such a case where some damaged tracks had bad or missing sectors and because it kept changing between retries DTC kept giving up when a bad sector at times turned missing.

SomeGuy
Posts: 87
Joined: Wed Feb 18, 2015 8:18 pm

Re: retry missing sectors

Post by SomeGuy » Wed May 20, 2015 3:56 pm

Seconded. I've run in to a few disks where Kryoflux will just skip over a marginal track. It would be nice to be able to tell it "yes, there is really data here".

This may require telling Kryoflux/DTC more information about the disk format up front, as it tries to automatically detect the number of sectors, and sector numbering on each track (but not sector size, like the PCE tools does). But currently, even when specifying as much as possible, it may skip. Oddly, sometimes just decoding such a steam with the PCE tools instead will result in a perfect decoded image.

An interesting limitation of the Kryoflux (As well as the PCE tools) is that it appears to always need a perfect read in a single revolution. I ran in to one odd disk that was damaged in such a way that while two sectors were technically readable, they were never both readable on the same revolution. In this case the KF was retrying, and bazillion retries never got it, so I had to use other tools.

Now, that would be problematic for creating or writing back a preservation stream. However, when the preservation method stores multiple revolutions, it would be good to retry across all revolutions. That would have helped the above as I was able to capture streams where one revolution had a good sector "A" but bad "B", and the next had a good "B" but bad "A".

User avatar
IFW
Posts: 2634
Joined: Mon Nov 08, 2010 2:42 pm

Re: retry missing sectors

Post by IFW » Thu May 21, 2015 9:19 am

Actually, DTC tries to collect a good read of a sector from any of the revolutions sampled at once. So if it did not succeed, the most likely case is that the revolutions sampled were not enough to have a good read of some sectors on any of the revolutions. You can change the revolution number using -r, by default it's 2, unless you specify a stream file as output in which case it's 5.
It is also important to note, that DTC checks the encoding of the data to be correct, as well as the timing of the cells. So it is possible that DTC flags a sector bad that other tools wouldn't. If the encoding and/or timing is bad, chances are the content is incorrect, even if the checksum passes.

As for retrying missing sectors, that is possible - but with some C64 formats it can be a headache.

ZrX
Posts: 245
Joined: Tue Dec 06, 2011 9:09 pm

Re: retry missing sectors

Post by ZrX » Thu May 21, 2015 4:24 pm

IFW wrote:As for retrying missing sectors, that is possible - but with some C64 formats it can be a headache.
Which is why you'll be adding it as an option. :D

hydr0x
Posts: 94
Joined: Wed Dec 29, 2010 4:01 pm

Re: retry missing sectors

Post by hydr0x » Thu May 21, 2015 6:26 pm

I agree, it's quite annoying if you're trying to rescue a disk in badly shape by setting a high retry number, only to have dtc skip one track somewhere after just one try. On a related note, two questions and/or suggestions:

1) What exactly is the -tc option (retry cycles)? What's the difference from retries/-t.

2) It would be fantastic if the GUI could support setting a start and end track (-s/-e)

User avatar
IFW
Posts: 2634
Joined: Mon Nov 08, 2010 2:42 pm

Re: retry missing sectors

Post by IFW » Fri May 22, 2015 12:11 am

You can set those in the GUI; just edit the image settings if you want them to be permanent.
Alternatively, click on a track, and keep the left mouse button down while selecting the track range - I think this way is not specific to the format selected.


DTC has two kind of retries:
1, retrying to read a bad track: -t
2, calibrating the drive, then doing (1) again: -tc. In other words, -tc is number of calibration cycles attempted between retries -1
So the total number of retries per track is -tc * -t.
e.g. for t=5, tc=2 you get the following retry pattern
R, R, R, R, R, C, R, R, R, R, R

hydr0x
Posts: 94
Joined: Wed Dec 29, 2010 4:01 pm

Re: retry missing sectors

Post by hydr0x » Fri May 22, 2015 7:37 am

Ooooh, a nice hidden feature of the GUI, thanks! :) Very interesting about the -tc option too. I just discovered that there's a Global Params option in the GUI, can I add the -tc param there? The manual only mentions "retries" in the global params section. Yeah, I know I could just test it, but no drives with me right now ;)

User avatar
mr.vince
Posts: 1871
Joined: Tue Oct 05, 2010 5:48 pm

Re: retry missing sectors

Post by mr.vince » Fri May 22, 2015 3:59 pm

Yes this is what we added global parameters for.

hydr0x
Posts: 94
Joined: Wed Dec 29, 2010 4:01 pm

Re: retry missing sectors

Post by hydr0x » Sat May 23, 2015 7:39 am

Great :)

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests