Try to solve pregaps when drive+disc combination returns wrong Q positioning and report this has been the case.

This commit is contained in:
2020-01-06 18:36:11 +00:00
parent 93d0671e49
commit 9be90b7cb9
3 changed files with 27 additions and 5 deletions

View File

@@ -559,7 +559,8 @@ namespace DiscImageChef.Commands.Media
ctx.Devices.FirstOrDefault(d => d.Manufacturer == dev.Manufacturer && d.Model == dev.Model &&
d.Revision == dev.Revision);
Dump.SolveTrackPregaps(dev, null, null, tracks, supportsPqSubchannel, supportsRwSubchannel, dbDev);
Dump.SolveTrackPregaps(dev, null, null, tracks, supportsPqSubchannel, supportsRwSubchannel, dbDev,
out bool inexactPositioning);
for(int t = 1; t < tracks.Length; t++)
tracks[t - 1].TrackEndSector = tracks[t].TrackStartSector - 1;
@@ -569,6 +570,10 @@ namespace DiscImageChef.Commands.Media
DicConsole.WriteLine();
DicConsole.WriteLine("Track calculations:");
if(inexactPositioning)
DicConsole.
WriteLine("WARNING: The drive has returned incorrect Q positioning when calculating pregaps. A best effort has been tried but they may be incorrect.");
foreach(Track track in tracks)
DicConsole.
WriteLine("Track {0} starts at LBA {1}, ends at LBA {2}, has a pregap of {3} sectors and is of type {4}",