In ATA, CD and PSP dumpers show status of correctly retried sectors.

This commit is contained in:
2019-04-20 01:45:28 +01:00
parent 8d9d80a945
commit 7fa2a872d2
3 changed files with 7 additions and 3 deletions

View File

@@ -405,6 +405,7 @@ namespace DiscImageChef.Core.Devices.Dumping
resume.BadBlocks.Remove(badSector); resume.BadBlocks.Remove(badSector);
extents.Add(badSector); extents.Add(badSector);
outputPlugin.WriteSector(cmdBuf, badSector); outputPlugin.WriteSector(cmdBuf, badSector);
UpdateStatus?.Invoke($"Correctly retried block {badSector} in pass {pass}.");
dumpLog.WriteLine("Correctly retried block {0} in pass {1}.", badSector, pass); dumpLog.WriteLine("Correctly retried block {0} in pass {1}.", badSector, pass);
} }
else if(persistent) outputPlugin.WriteSector(cmdBuf, badSector); else if(persistent) outputPlugin.WriteSector(cmdBuf, badSector);

View File

@@ -1604,6 +1604,7 @@ namespace DiscImageChef.Core.Devices.Dumping
{ {
resume.BadBlocks.Remove(badSector); resume.BadBlocks.Remove(badSector);
extents.Add(badSector); extents.Add(badSector);
UpdateStatus?.Invoke($"Correctly retried sector {badSector} in pass {pass}.");
dumpLog.WriteLine("Correctly retried sector {0} in pass {1}.", badSector, pass); dumpLog.WriteLine("Correctly retried sector {0} in pass {1}.", badSector, pass);
sectorsNotEvenPartial.Remove(badSector); sectorsNotEvenPartial.Remove(badSector);
} }

View File

@@ -553,9 +553,8 @@ namespace DiscImageChef.Core.Devices.Dumping
break; break;
} }
PulseProgress?.Invoke(string.Format("\rRetrying sector {0}, pass {1}, {3}{2}", badSector, pass, PulseProgress
forward ? "forward" : "reverse", ?.Invoke($"\rRetrying sector {badSector}, pass {pass}, {(runningPersistent ? "recovering partial data, " : "")}{(forward ? "forward" : "reverse")}");
runningPersistent ? "recovering partial data, " : ""));
sense = dev.Read12(out readBuffer, out _, 0, false, true, false, false, sense = dev.Read12(out readBuffer, out _, 0, false, true, false, false,
(uint)(umdStart + badSector * 4), 512, 0, 4, false, dev.Timeout, (uint)(umdStart + badSector * 4), 512, 0, 4, false, dev.Timeout,
@@ -567,6 +566,8 @@ namespace DiscImageChef.Core.Devices.Dumping
resume.BadBlocks.Remove(badSector); resume.BadBlocks.Remove(badSector);
extents.Add(badSector); extents.Add(badSector);
outputPlugin.WriteSector(readBuffer, badSector); outputPlugin.WriteSector(readBuffer, badSector);
UpdateStatus?.Invoke(string.Format("Correctly retried block {0} in pass {1}.", badSector,
pass));
dumpLog.WriteLine("Correctly retried block {0} in pass {1}.", badSector, pass); dumpLog.WriteLine("Correctly retried block {0} in pass {1}.", badSector, pass);
} }
else if(runningPersistent) outputPlugin.WriteSector(readBuffer, badSector); else if(runningPersistent) outputPlugin.WriteSector(readBuffer, badSector);
@@ -1045,6 +1046,7 @@ namespace DiscImageChef.Core.Devices.Dumping
resume.BadBlocks.Remove(badSector); resume.BadBlocks.Remove(badSector);
extents.Add(badSector); extents.Add(badSector);
outputPlugin.WriteSector(readBuffer, badSector); outputPlugin.WriteSector(readBuffer, badSector);
UpdateStatus?.Invoke($"Correctly retried block {badSector} in pass {pass}.");
dumpLog.WriteLine("Correctly retried block {0} in pass {1}.", badSector, pass); dumpLog.WriteLine("Correctly retried block {0} in pass {1}.", badSector, pass);
} }
else if(runningPersistent) outputPlugin.WriteSector(readBuffer, badSector); else if(runningPersistent) outputPlugin.WriteSector(readBuffer, badSector);