Make OmniDrive trim and error retry audio sectors correctly.

This commit is contained in:
2026-07-05 04:43:44 +01:00
parent 5614cb139c
commit aab5218f66
2 changed files with 16 additions and 2 deletions

View File

@@ -506,8 +506,9 @@ partial class Dump
// MEDIUM ERROR, retry with ignore error below
if(decSense is { ASC: 0x11 })
if(!sectorsNotEvenPartial.Contains(badSector))
sectorsNotEvenPartial.Add(badSector);
{
if(!sectorsNotEvenPartial.Contains(badSector)) sectorsNotEvenPartial.Add(badSector);
}
}
// Because one block has been partially used to fix the offset
@@ -553,6 +554,13 @@ partial class Dump
Array.Copy(sector, 0, cmdBuf, 0, sectorSize);
}
else
{
_resume.BadBlocks.Remove(badSector);
extents.Add(badSector);
_mediaGraph?.PaintSectorGood(badSector);
sectorsNotEvenPartial.Remove(badSector);
}
}
else if(!audioExtents.Contains(badSector) && _paranoia)
{

View File

@@ -444,6 +444,12 @@ partial class Dump
Array.Copy(sector, 0, cmdBuf, 0, sectorSize);
}
else
{
_resume.BadBlocks.Remove(badSector);
extents.Add(badSector);
_mediaGraph?.PaintSectorGood(badSector);
}
}
else if(!audioExtents.Contains(badSector) && _paranoia)
{