Read tracks start to check offset.

This commit is contained in:
2019-12-31 17:32:29 +00:00
parent ef67cd22f8
commit bff9cbac34

View File

@@ -1,4 +1,4 @@
// /*************************************************************************** // /***************************************************************************
// The Disc Image Chef // The Disc Image Chef
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// //
@@ -1359,14 +1359,14 @@ namespace DiscImageChef.Core.Devices.Dumping
if(dataTrack.TrackSequence != 0) if(dataTrack.TrackSequence != 0)
{ {
dataTrack.TrackEndSector += 149; dataTrack.TrackStartSector += 151;
// Calculate MSF // Calculate MSF
ulong minute = dataTrack.TrackEndSector / 4500; ulong minute = dataTrack.TrackStartSector / 4500;
ulong second = (dataTrack.TrackEndSector - (minute * 4500)) / 75; ulong second = (dataTrack.TrackStartSector - (minute * 4500)) / 75;
ulong frame = dataTrack.TrackEndSector - (minute * 4500) - (second * 75); ulong frame = dataTrack.TrackStartSector - (minute * 4500) - (second * 75);
dataTrack.TrackEndSector -= 149; dataTrack.TrackStartSector -= 151;
// Convert to BCD // Convert to BCD
ulong remainder = minute % 10; ulong remainder = minute % 10;
@@ -1397,7 +1397,7 @@ namespace DiscImageChef.Core.Devices.Dumping
"plextor") "plextor")
{ {
sense = _dev.PlextorReadCdDa(out cmdBuf, out senseBuf, sense = _dev.PlextorReadCdDa(out cmdBuf, out senseBuf,
(uint)dataTrack.TrackEndSector - 2, sectorSize, 3, (uint)dataTrack.TrackStartSector, sectorSize, 3,
PlextorSubchannel.None, _dev.Timeout, out _); PlextorSubchannel.None, _dev.Timeout, out _);
if(!sense && if(!sense &&
@@ -1423,7 +1423,7 @@ namespace DiscImageChef.Core.Devices.Dumping
_dbDev?.SCSI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true || _dbDev?.SCSI?.RemovableMedias?.Any(d => d.CanReadCdScrambled == true) == true ||
_dev.Manufacturer.ToLowerInvariant() == "hl-dt-st") _dev.Manufacturer.ToLowerInvariant() == "hl-dt-st")
{ {
sense = _dev.ReadCd(out cmdBuf, out senseBuf, (uint)(dataTrack.TrackEndSector - 2), sense = _dev.ReadCd(out cmdBuf, out senseBuf, (uint)dataTrack.TrackStartSector,
sectorSize, 3, MmcSectorTypes.Cdda, false, false, false, sectorSize, 3, MmcSectorTypes.Cdda, false, false, false,
MmcHeaderCodes.None, true, false, MmcErrorField.None, MmcHeaderCodes.None, true, false, MmcErrorField.None,
MmcSubchannel.None, _dev.Timeout, out _); MmcSubchannel.None, _dev.Timeout, out _);