Separate SCSI READ(6) from ATA READ SECTORS in device report.

This commit is contained in:
2018-11-25 18:10:32 +00:00
parent fda70e52ee
commit 601da83a93
4 changed files with 13 additions and 11 deletions

View File

@@ -247,8 +247,9 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ SECTOR(S) in CHS mode...");
sense = dev.Read(out byte[] readBuf, out AtaErrorRegistersChs errorChs, false, 0, 0, 1, 1,
TIMEOUT, out _);
mediaTest.SupportsRead = !sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 &&
readBuf.Length > 0;
mediaTest.SupportsReadSectors = !sense && (errorChs.Status & 0x01) != 0x01 &&
errorChs.Error == 0 &&
readBuf.Length > 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
sense, errorChs.Status, errorChs.Error, readBuf.Length);
@@ -553,7 +554,7 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ SECTOR(S) in CHS mode...");
sense = dev.Read(out byte[] readBuf, out AtaErrorRegistersChs errorChs, false, 0, 0, 1, 1, TIMEOUT,
out _);
report.ATA.ReadCapabilities.SupportsRead =
report.ATA.ReadCapabilities.SupportsReadSectors =
!sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 && readBuf.Length > 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,

View File

@@ -360,9 +360,9 @@ namespace DiscImageChef.Core.Devices.Report.SCSI
}
DicConsole.WriteLine("Trying SCSI READ (6)...");
mediaTest.SupportsRead = !dev.Read6(out buffer, out senseBuffer, 0,
mediaTest.BlockSize ?? 512, TIMEOUT, out _);
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead);
mediaTest.SupportsRead6 = !dev.Read6(out buffer, out senseBuffer, 0,
mediaTest.BlockSize ?? 512, TIMEOUT, out _);
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead6);
if(debug)
DataFile.WriteTo("SCSI Report", "read6",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -600,11 +600,11 @@ namespace DiscImageChef.Core.Devices.Report.SCSI
}
DicConsole.WriteLine("Trying SCSI READ (6)...");
report.SCSI.ReadCapabilities.SupportsRead =
report.SCSI.ReadCapabilities.SupportsRead6 =
!dev.Read6(out buffer, out senseBuffer, 0, report.SCSI.ReadCapabilities.BlockSize ?? 512,
TIMEOUT, out _);
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}",
!report.SCSI.ReadCapabilities.SupportsRead);
!report.SCSI.ReadCapabilities.SupportsRead6);
if(debug)
DataFile.WriteTo("SCSI Report", "read6", "_debug_" + productIdentification + ".bin",
"read results", buffer);

View File

@@ -1008,8 +1008,8 @@ namespace DiscImageChef.Core.Devices.Report.SCSI
}
DicConsole.WriteLine("Trying SCSI READ (6)...");
mediaTest.SupportsRead = !dev.Read6(out buffer, out senseBuffer, 0, 2048, TIMEOUT, out _);
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead);
mediaTest.SupportsRead6 = !dev.Read6(out buffer, out senseBuffer, 0, 2048, TIMEOUT, out _);
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead6);
if(debug)
DataFile.WriteTo("SCSI Report", "read6",
"_debug_" + productIdentification + "_" + mediaType + ".bin",