mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Store read results in report and database.
This commit is contained in:
5
.idea/.idea.DiscImageChef/.idea/contentModel.xml
generated
5
.idea/.idea.DiscImageChef/.idea/contentModel.xml
generated
@@ -328,6 +328,8 @@
|
|||||||
<e p="20181225002740_AddCdOffsets.cs" t="Include" />
|
<e p="20181225002740_AddCdOffsets.cs" t="Include" />
|
||||||
<e p="20181225152947_StoreMmcGetConfigurationResponse.Designer.cs" t="Include" />
|
<e p="20181225152947_StoreMmcGetConfigurationResponse.Designer.cs" t="Include" />
|
||||||
<e p="20181225152947_StoreMmcGetConfigurationResponse.cs" t="Include" />
|
<e p="20181225152947_StoreMmcGetConfigurationResponse.cs" t="Include" />
|
||||||
|
<e p="20181225214500_StoreReadResultsInReportDatabase.Designer.cs" t="Include" />
|
||||||
|
<e p="20181225214500_StoreReadResultsInReportDatabase.cs" t="Include" />
|
||||||
<e p="DicContextModelSnapshot.cs" t="Include" />
|
<e p="DicContextModelSnapshot.cs" t="Include" />
|
||||||
</e>
|
</e>
|
||||||
<e p="Models" t="Include">
|
<e p="Models" t="Include">
|
||||||
@@ -1832,6 +1834,9 @@
|
|||||||
<e p="201812251556377_StoreMmcGetConfigurationResponse.Designer.cs" t="Include" />
|
<e p="201812251556377_StoreMmcGetConfigurationResponse.Designer.cs" t="Include" />
|
||||||
<e p="201812251556377_StoreMmcGetConfigurationResponse.cs" t="Include" />
|
<e p="201812251556377_StoreMmcGetConfigurationResponse.cs" t="Include" />
|
||||||
<e p="201812251556377_StoreMmcGetConfigurationResponse.resx" t="Include" />
|
<e p="201812251556377_StoreMmcGetConfigurationResponse.resx" t="Include" />
|
||||||
|
<e p="201812252219066_StoreReadResultsInReportDatabase.Designer.cs" t="Include" />
|
||||||
|
<e p="201812252219066_StoreReadResultsInReportDatabase.cs" t="Include" />
|
||||||
|
<e p="201812252219066_StoreReadResultsInReportDatabase.resx" t="Include" />
|
||||||
<e p="Configuration.cs" t="Include" />
|
<e p="Configuration.cs" t="Include" />
|
||||||
</e>
|
</e>
|
||||||
<e p="Models" t="Include">
|
<e p="Models" t="Include">
|
||||||
|
|||||||
@@ -1398,6 +1398,86 @@ namespace DiscImageChef.CommonTypes.Metadata
|
|||||||
get => (short?)UnformattedBPS;
|
get => (short?)UnformattedBPS;
|
||||||
set => UnformattedBPS = (ushort?)value;
|
set => UnformattedBPS = (ushort?)value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region SCSI data
|
||||||
|
public byte[] Read6Data { get; set; }
|
||||||
|
public byte[] Read10Data { get; set; }
|
||||||
|
public byte[] Read12Data { get; set; }
|
||||||
|
public byte[] Read16Data { get; set; }
|
||||||
|
public byte[] ReadLong10Data { get; set; }
|
||||||
|
public byte[] ReadLong16Data { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region ATA data
|
||||||
|
public byte[] ReadSectorsData { get; set; }
|
||||||
|
public byte[] ReadSectorsRetryData { get; set; }
|
||||||
|
public byte[] ReadDmaData { get; set; }
|
||||||
|
public byte[] ReadDmaRetryData { get; set; }
|
||||||
|
public byte[] ReadLbaData { get; set; }
|
||||||
|
public byte[] ReadRetryLbaData { get; set; }
|
||||||
|
public byte[] ReadDmaLbaData { get; set; }
|
||||||
|
public byte[] ReadDmaRetryLbaData { get; set; }
|
||||||
|
public byte[] ReadLba48Data { get; set; }
|
||||||
|
public byte[] ReadDmaLba48Data { get; set; }
|
||||||
|
public byte[] ReadLongData { get; set; }
|
||||||
|
public byte[] ReadLongRetryData { get; set; }
|
||||||
|
public byte[] ReadLongLbaData { get; set; }
|
||||||
|
public byte[] ReadLongRetryLbaData { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region CompactDisc data
|
||||||
|
public byte[] TocData { get; set; }
|
||||||
|
public byte[] FullTocData { get; set; }
|
||||||
|
public byte[] AtipData { get; set; }
|
||||||
|
public byte[] PmaData { get; set; }
|
||||||
|
public byte[] ReadCdData { get; set; }
|
||||||
|
public byte[] ReadCdMsfData { get; set; }
|
||||||
|
public byte[] ReadCdFullData { get; set; }
|
||||||
|
public byte[] ReadCdMsfFullData { get; set; }
|
||||||
|
public byte[] Track1PregapData { get; set; }
|
||||||
|
public byte[] LeadInData { get; set; }
|
||||||
|
public byte[] LeadOutData { get; set; }
|
||||||
|
public byte[] C2PointersData { get; set; }
|
||||||
|
public byte[] PQSubchannelData { get; set; }
|
||||||
|
public byte[] RWSubchannelData { get; set; }
|
||||||
|
public byte[] CorrectedSubchannelData { get; set; }
|
||||||
|
public byte[] PQSubchannelWithC2Data { get; set; }
|
||||||
|
public byte[] RWSubchannelWithC2Data { get; set; }
|
||||||
|
public byte[] CorrectedSubchannelWithC2Data { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region DVD data
|
||||||
|
public byte[] PfiData { get; set; }
|
||||||
|
public byte[] DmiData { get; set; }
|
||||||
|
public byte[] CmiData { get; set; }
|
||||||
|
public byte[] DvdBcaData { get; set; }
|
||||||
|
public byte[] DvdAacsData { get; set; }
|
||||||
|
public byte[] DvdDdsData { get; set; }
|
||||||
|
public byte[] DvdSaiData { get; set; }
|
||||||
|
public byte[] PriData { get; set; }
|
||||||
|
public byte[] EmbossedPfiData { get; set; }
|
||||||
|
public byte[] AdipData { get; set; }
|
||||||
|
public byte[] DcbData { get; set; }
|
||||||
|
public byte[] HdCmiData { get; set; }
|
||||||
|
public byte[] DvdLayerData { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Blu-ray data
|
||||||
|
public byte[] BluBcaData { get; set; }
|
||||||
|
public byte[] BluDdsData { get; set; }
|
||||||
|
public byte[] BluSaiData { get; set; }
|
||||||
|
public byte[] BluDiData { get; set; }
|
||||||
|
public byte[] BluPacData { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Vendor data
|
||||||
|
public byte[] PlextorReadCddaData { get; set; }
|
||||||
|
public byte[] PioneerReadCddaData { get; set; }
|
||||||
|
public byte[] PioneerReadCddaMsfData { get; set; }
|
||||||
|
public byte[] NecReadCddaData { get; set; }
|
||||||
|
public byte[] PlextorReadRawDVDData { get; set; }
|
||||||
|
public byte[] HLDTSTReadRawDVDData { get; set; }
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Ssc
|
public class Ssc
|
||||||
|
|||||||
@@ -164,9 +164,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadSectorsData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectorschs", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in CHS mode...");
|
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in CHS mode...");
|
||||||
sense = dev.Read(out readBuf, out errorChs, true, 0, 0, 1, 1, dev.Timeout, out _);
|
sense = dev.Read(out readBuf, out errorChs, true, 0, 0, 1, 1, dev.Timeout, out _);
|
||||||
@@ -175,9 +173,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadSectorsRetryData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectorsretrychs", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA in CHS mode...");
|
DicConsole.WriteLine("Trying READ DMA in CHS mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorChs, false, 0, 0, 1, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorChs, false, 0, 0, 1, 1, dev.Timeout, out _);
|
||||||
@@ -186,9 +182,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadDmaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdmachs", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA RETRY in CHS mode...");
|
DicConsole.WriteLine("Trying READ DMA RETRY in CHS mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorChs, true, 0, 0, 1, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorChs, true, 0, 0, 1, 1, dev.Timeout, out _);
|
||||||
@@ -197,9 +191,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadDmaRetryData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdmaretrychs", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SEEK in CHS mode...");
|
DicConsole.WriteLine("Trying SEEK in CHS mode...");
|
||||||
sense = dev.Seek(out errorChs, 0, 0, 1, dev.Timeout, out _);
|
sense = dev.Seek(out errorChs, 0, 0, 1, dev.Timeout, out _);
|
||||||
@@ -214,9 +206,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectors", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in LBA mode...");
|
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in LBA mode...");
|
||||||
sense = dev.Read(out readBuf, out errorLba, true, 0, 1, dev.Timeout, out _);
|
sense = dev.Read(out readBuf, out errorLba, true, 0, 1, dev.Timeout, out _);
|
||||||
@@ -225,9 +215,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadRetryLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectorsretry", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA in LBA mode...");
|
DicConsole.WriteLine("Trying READ DMA in LBA mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorLba, false, 0, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorLba, false, 0, 1, dev.Timeout, out _);
|
||||||
@@ -236,9 +224,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadDmaLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdma", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA RETRY in LBA mode...");
|
DicConsole.WriteLine("Trying READ DMA RETRY in LBA mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorLba, true, 0, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorLba, true, 0, 1, dev.Timeout, out _);
|
||||||
@@ -247,9 +233,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadDmaRetryLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdmaretry", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SEEK in LBA mode...");
|
DicConsole.WriteLine("Trying SEEK in LBA mode...");
|
||||||
sense = dev.Seek(out errorLba, 0, dev.Timeout, out _);
|
sense = dev.Seek(out errorLba, 0, dev.Timeout, out _);
|
||||||
@@ -264,9 +248,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadLba48Data = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectors48", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA in LBA48 mode...");
|
DicConsole.WriteLine("Trying READ DMA in LBA48 mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorLba48, 0, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorLba48, 0, 1, dev.Timeout, out _);
|
||||||
@@ -275,9 +257,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadDmaLba48Data = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdma48", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
// Send SET FEATURES before sending READ LONG commands, retrieve IDENTIFY again and
|
// Send SET FEATURES before sending READ LONG commands, retrieve IDENTIFY again and
|
||||||
// check if ECC size changed. Sector is set to 1 because without it most drives just return
|
// check if ECC size changed. Sector is set to 1 because without it most drives just return
|
||||||
@@ -305,9 +285,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadLongData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readlongchs", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ LONG RETRY in CHS mode...");
|
DicConsole.WriteLine("Trying READ LONG RETRY in CHS mode...");
|
||||||
sense = dev.ReadLong(out readBuf, out errorChs, true, 0, 0, 1, mediaTest.LongBlockSize ?? 0,
|
sense = dev.ReadLong(out readBuf, out errorChs, true, 0, 0, 1, mediaTest.LongBlockSize ?? 0,
|
||||||
@@ -319,9 +297,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadLongRetryData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readlongretrychs", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ LONG in LBA mode...");
|
DicConsole.WriteLine("Trying READ LONG in LBA mode...");
|
||||||
sense = dev.ReadLong(out readBuf, out errorLba, false, 0, mediaTest.LongBlockSize ?? 0, dev.Timeout,
|
sense = dev.ReadLong(out readBuf, out errorLba, false, 0, mediaTest.LongBlockSize ?? 0, dev.Timeout,
|
||||||
@@ -332,9 +308,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadLongLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readlong", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ LONG RETRY in LBA mode...");
|
DicConsole.WriteLine("Trying READ LONG RETRY in LBA mode...");
|
||||||
sense = dev.ReadLong(out readBuf, out errorLba, true, 0, mediaTest.LongBlockSize ?? 0, dev.Timeout,
|
sense = dev.ReadLong(out readBuf, out errorLba, true, 0, mediaTest.LongBlockSize ?? 0, dev.Timeout,
|
||||||
@@ -345,9 +319,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.DebugWriteLine("ATA Report",
|
DicConsole.DebugWriteLine("ATA Report",
|
||||||
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
|
||||||
errorChs.Status, errorChs.Error, readBuf.Length);
|
errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadLongRetryLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readlongretry", "_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", readBuf);
|
|
||||||
}
|
}
|
||||||
else mediaTest.MediaIsRecognized = false;
|
else mediaTest.MediaIsRecognized = false;
|
||||||
|
|
||||||
@@ -463,9 +435,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
readBuf.Length > 0;
|
readBuf.Length > 0;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadSectorsData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectorschs", "_debug_" + dev.Model + ".bin", "read results",
|
|
||||||
readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in CHS mode...");
|
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in CHS mode...");
|
||||||
sense = dev.Read(out readBuf, out errorChs, true, 0, 0, 1, 1, dev.Timeout, out _);
|
sense = dev.Read(out readBuf, out errorChs, true, 0, 0, 1, 1, dev.Timeout, out _);
|
||||||
@@ -473,9 +443,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
!sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 && readBuf.Length > 0;
|
!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}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadSectorsRetryData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectorsretrychs", "_debug_" + dev.Model + ".bin", "read results",
|
|
||||||
readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA in CHS mode...");
|
DicConsole.WriteLine("Trying READ DMA in CHS mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorChs, false, 0, 0, 1, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorChs, false, 0, 0, 1, 1, dev.Timeout, out _);
|
||||||
@@ -483,8 +451,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
!sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 && readBuf.Length > 0;
|
!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}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadDmaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdmachs", "_debug_" + dev.Model + ".bin", "read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA RETRY in CHS mode...");
|
DicConsole.WriteLine("Trying READ DMA RETRY in CHS mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorChs, true, 0, 0, 1, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorChs, true, 0, 0, 1, 1, dev.Timeout, out _);
|
||||||
@@ -492,9 +459,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
readBuf.Length > 0;
|
readBuf.Length > 0;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadDmaRetryData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdmaretrychs", "_debug_" + dev.Model + ".bin", "read results",
|
|
||||||
readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SEEK in CHS mode...");
|
DicConsole.WriteLine("Trying SEEK in CHS mode...");
|
||||||
sense = dev.Seek(out errorChs, 0, 0, 1, dev.Timeout, out _);
|
sense = dev.Seek(out errorChs, 0, 0, 1, dev.Timeout, out _);
|
||||||
@@ -508,8 +473,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
!sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0 && readBuf.Length > 0;
|
!sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0 && readBuf.Length > 0;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectors", "_debug_" + dev.Model + ".bin", "read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in LBA mode...");
|
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in LBA mode...");
|
||||||
sense = dev.Read(out readBuf, out errorLba, true, 0, 1, dev.Timeout, out _);
|
sense = dev.Read(out readBuf, out errorLba, true, 0, 1, dev.Timeout, out _);
|
||||||
@@ -517,9 +481,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
readBuf.Length > 0;
|
readBuf.Length > 0;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadRetryLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectorsretry", "_debug_" + dev.Model + ".bin", "read results",
|
|
||||||
readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA in LBA mode...");
|
DicConsole.WriteLine("Trying READ DMA in LBA mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorLba, false, 0, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorLba, false, 0, 1, dev.Timeout, out _);
|
||||||
@@ -527,8 +489,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
readBuf.Length > 0;
|
readBuf.Length > 0;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadDmaLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdma", "_debug_" + dev.Model + ".bin", "read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA RETRY in LBA mode...");
|
DicConsole.WriteLine("Trying READ DMA RETRY in LBA mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorLba, true, 0, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorLba, true, 0, 1, dev.Timeout, out _);
|
||||||
@@ -536,8 +497,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
!sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0 && readBuf.Length > 0;
|
!sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0 && readBuf.Length > 0;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadDmaRetryLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdmaretry", "_debug_" + dev.Model + ".bin", "read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SEEK in LBA mode...");
|
DicConsole.WriteLine("Trying SEEK in LBA mode...");
|
||||||
sense = dev.Seek(out errorLba, 0, dev.Timeout, out _);
|
sense = dev.Seek(out errorLba, 0, dev.Timeout, out _);
|
||||||
@@ -551,9 +511,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
readBuf.Length > 0;
|
readBuf.Length > 0;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorLba48.Status, errorLba48.Error, readBuf.Length);
|
sense, errorLba48.Status, errorLba48.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadLba48Data = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readsectors48", "_debug_" + dev.Model + ".bin", "read results",
|
|
||||||
readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ DMA in LBA48 mode...");
|
DicConsole.WriteLine("Trying READ DMA in LBA48 mode...");
|
||||||
sense = dev.ReadDma(out readBuf, out errorLba48, 0, 1, dev.Timeout, out _);
|
sense = dev.ReadDma(out readBuf, out errorLba48, 0, 1, dev.Timeout, out _);
|
||||||
@@ -561,8 +519,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
readBuf.Length > 0;
|
readBuf.Length > 0;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorLba48.Status, errorLba48.Error, readBuf.Length);
|
sense, errorLba48.Status, errorLba48.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadDmaLba48Data = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readdma48", "_debug_" + dev.Model + ".bin", "read results", readBuf);
|
|
||||||
|
|
||||||
// Send SET FEATURES before sending READ LONG commands, retrieve IDENTIFY again and
|
// Send SET FEATURES before sending READ LONG commands, retrieve IDENTIFY again and
|
||||||
// check if ECC size changed. Sector is set to 1 because without it most drives just return
|
// check if ECC size changed. Sector is set to 1 because without it most drives just return
|
||||||
@@ -590,8 +547,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
|
BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadLongData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readlongchs", "_debug_" + dev.Model + ".bin", "read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ LONG RETRY in CHS mode...");
|
DicConsole.WriteLine("Trying READ LONG RETRY in CHS mode...");
|
||||||
sense = dev.ReadLong(out readBuf, out errorChs, true, 0, 0, 1, capabilities.LongBlockSize ?? 0, dev.Timeout,
|
sense = dev.ReadLong(out readBuf, out errorChs, true, 0, 0, 1, capabilities.LongBlockSize ?? 0, dev.Timeout,
|
||||||
@@ -602,9 +558,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
checkCorrectRead;
|
checkCorrectRead;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
sense, errorChs.Status, errorChs.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadLongRetryData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readlongretrychs", "_debug_" + dev.Model + ".bin", "read results",
|
|
||||||
readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ LONG in LBA mode...");
|
DicConsole.WriteLine("Trying READ LONG in LBA mode...");
|
||||||
sense = dev.ReadLong(out readBuf, out errorLba, false, 0, capabilities.LongBlockSize ?? 0, dev.Timeout,
|
sense = dev.ReadLong(out readBuf, out errorLba, false, 0, capabilities.LongBlockSize ?? 0, dev.Timeout,
|
||||||
@@ -614,8 +568,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
|
BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadLongLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readlong", "_debug_" + dev.Model + ".bin", "read results", readBuf);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying READ LONG RETRY in LBA mode...");
|
DicConsole.WriteLine("Trying READ LONG RETRY in LBA mode...");
|
||||||
sense = dev.ReadLong(out readBuf, out errorLba, true, 0, capabilities.LongBlockSize ?? 0, dev.Timeout,
|
sense = dev.ReadLong(out readBuf, out errorLba, true, 0, capabilities.LongBlockSize ?? 0, dev.Timeout,
|
||||||
@@ -626,9 +579,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
checkCorrectRead;
|
checkCorrectRead;
|
||||||
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
|
||||||
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
sense, errorLba.Status, errorLba.Error, readBuf.Length);
|
||||||
if(debug)
|
if(debug) capabilities.ReadLongRetryLbaData = readBuf;
|
||||||
DataFile.WriteTo("ATA Report", "readlongretry", "_debug_" + dev.Model + ".bin", "read results",
|
|
||||||
readBuf);
|
|
||||||
|
|
||||||
return capabilities;
|
return capabilities;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -537,16 +537,12 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
mediaTest.CanReadTOC =
|
mediaTest.CanReadTOC =
|
||||||
!dev.ReadTocPmaAtip(out buffer, out senseBuffer, false, 0, 0, dev.Timeout, out _);
|
!dev.ReadTocPmaAtip(out buffer, out senseBuffer, false, 0, 0, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadTOC);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadTOC);
|
||||||
if(debug)
|
if(debug) mediaTest.TocData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readtoc", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Querying CD Full TOC...");
|
DicConsole.WriteLine("Querying CD Full TOC...");
|
||||||
mediaTest.CanReadFullTOC = !dev.ReadRawToc(out buffer, out senseBuffer, 1, dev.Timeout, out _);
|
mediaTest.CanReadFullTOC = !dev.ReadRawToc(out buffer, out senseBuffer, 1, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadFullTOC);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadFullTOC);
|
||||||
if(debug)
|
if(debug) mediaTest.FullTocData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readfulltoc", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType.StartsWith("CD-R", StringComparison.Ordinal) ||
|
if(mediaType.StartsWith("CD-R", StringComparison.Ordinal) ||
|
||||||
@@ -555,15 +551,11 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
DicConsole.WriteLine("Querying CD ATIP...");
|
DicConsole.WriteLine("Querying CD ATIP...");
|
||||||
mediaTest.CanReadATIP = !dev.ReadAtip(out buffer, out senseBuffer, dev.Timeout, out _);
|
mediaTest.CanReadATIP = !dev.ReadAtip(out buffer, out senseBuffer, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadATIP);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadATIP);
|
||||||
if(debug)
|
if(debug) mediaTest.AtipData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "atip", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Querying CD PMA...");
|
DicConsole.WriteLine("Querying CD PMA...");
|
||||||
mediaTest.CanReadPMA = !dev.ReadPma(out buffer, out senseBuffer, dev.Timeout, out _);
|
mediaTest.CanReadPMA = !dev.ReadPma(out buffer, out senseBuffer, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPMA);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPMA);
|
||||||
if(debug)
|
if(debug) mediaTest.PmaData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "pma", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType.StartsWith("DVD-", StringComparison.Ordinal) ||
|
if(mediaType.StartsWith("DVD-", StringComparison.Ordinal) ||
|
||||||
@@ -575,18 +567,14 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.PhysicalInformation, 0,
|
MmcDiscStructureFormat.PhysicalInformation, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPFI);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPFI);
|
||||||
if(debug)
|
if(debug) mediaTest.PfiData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "pfi", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Querying DVD DMI...");
|
DicConsole.WriteLine("Querying DVD DMI...");
|
||||||
mediaTest.CanReadDMI = !dev.ReadDiscStructure(out buffer, out senseBuffer,
|
mediaTest.CanReadDMI = !dev.ReadDiscStructure(out buffer, out senseBuffer,
|
||||||
MmcDiscStructureMediaType.Dvd, 0, 0,
|
MmcDiscStructureMediaType.Dvd, 0, 0,
|
||||||
MmcDiscStructureFormat.DiscManufacturingInformation, 0,
|
MmcDiscStructureFormat.DiscManufacturingInformation, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDMI);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDMI);
|
||||||
if(debug)
|
if(debug) mediaTest.DmiData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "dmi", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType == "DVD-ROM")
|
if(mediaType == "DVD-ROM")
|
||||||
@@ -597,9 +585,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.CopyrightInformation, 0,
|
MmcDiscStructureFormat.CopyrightInformation, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCMI);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCMI);
|
||||||
if(debug)
|
if(debug) mediaTest.CmiData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "cmi", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(mediaType)
|
switch(mediaType)
|
||||||
@@ -612,18 +598,14 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.BurstCuttingArea, 0,
|
MmcDiscStructureFormat.BurstCuttingArea, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadBCA);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadBCA);
|
||||||
if(debug)
|
if(debug) mediaTest.DvdBcaData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "bca", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Querying DVD AACS...");
|
DicConsole.WriteLine("Querying DVD AACS...");
|
||||||
mediaTest.CanReadAACS = !dev.ReadDiscStructure(out buffer, out senseBuffer,
|
mediaTest.CanReadAACS = !dev.ReadDiscStructure(out buffer, out senseBuffer,
|
||||||
MmcDiscStructureMediaType.Dvd, 0, 0,
|
MmcDiscStructureMediaType.Dvd, 0, 0,
|
||||||
MmcDiscStructureFormat.DvdAacs, 0, dev.Timeout,
|
MmcDiscStructureFormat.DvdAacs, 0, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadAACS);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadAACS);
|
||||||
if(debug)
|
if(debug) mediaTest.DvdAacsData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "aacs", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
break;
|
break;
|
||||||
case "BD-ROM":
|
case "BD-ROM":
|
||||||
DicConsole.WriteLine("Querying BD BCA...");
|
DicConsole.WriteLine("Querying BD BCA...");
|
||||||
@@ -632,9 +614,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.BdBurstCuttingArea, 0,
|
MmcDiscStructureFormat.BdBurstCuttingArea, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadBCA);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadBCA);
|
||||||
if(debug)
|
if(debug) mediaTest.BluBcaData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "bdbca", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
break;
|
break;
|
||||||
case "DVD-RAM":
|
case "DVD-RAM":
|
||||||
case "HD DVD-RAM":
|
case "HD DVD-RAM":
|
||||||
@@ -643,17 +623,13 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.DvdramDds, 0, dev.Timeout,
|
MmcDiscStructureFormat.DvdramDds, 0, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDDS);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDDS);
|
||||||
if(debug)
|
if(debug) mediaTest.DvdDdsData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "dds", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
mediaTest.CanReadSpareAreaInformation =
|
mediaTest.CanReadSpareAreaInformation =
|
||||||
!dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0,
|
!dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Dvd, 0, 0,
|
||||||
MmcDiscStructureFormat.DvdramSpareAreaInformation, 0, dev.Timeout,
|
MmcDiscStructureFormat.DvdramSpareAreaInformation, 0, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadSpareAreaInformation);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadSpareAreaInformation);
|
||||||
if(debug)
|
if(debug) mediaTest.DvdSaiData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "sai", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -664,17 +640,13 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
0, 0, MmcDiscStructureFormat.BdDds, 0, dev.Timeout,
|
0, 0, MmcDiscStructureFormat.BdDds, 0, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDDS);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDDS);
|
||||||
if(debug)
|
if(debug) mediaTest.BluDdsData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "bddds", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Querying BD SAI...");
|
DicConsole.WriteLine("Querying BD SAI...");
|
||||||
mediaTest.CanReadSpareAreaInformation =
|
mediaTest.CanReadSpareAreaInformation =
|
||||||
!dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd, 0, 0,
|
!dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd, 0, 0,
|
||||||
MmcDiscStructureFormat.BdSpareAreaInformation, 0, dev.Timeout, out _);
|
MmcDiscStructureFormat.BdSpareAreaInformation, 0, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadSpareAreaInformation);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadSpareAreaInformation);
|
||||||
if(debug)
|
if(debug) mediaTest.BluSaiData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "bdsai", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType == "DVD-R" || mediaType == "DVD-RW")
|
if(mediaType == "DVD-R" || mediaType == "DVD-RW")
|
||||||
@@ -685,9 +657,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.PreRecordedInfo, 0, dev.Timeout,
|
MmcDiscStructureFormat.PreRecordedInfo, 0, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPRI);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPRI);
|
||||||
if(debug)
|
if(debug) mediaTest.PriData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "pri", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType == "DVD-R" || mediaType == "DVD-RW" || mediaType == "HD DVD-R")
|
if(mediaType == "DVD-R" || mediaType == "DVD-RW" || mediaType == "HD DVD-R")
|
||||||
@@ -698,18 +668,13 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.DvdrMediaIdentifier, 0,
|
MmcDiscStructureFormat.DvdrMediaIdentifier, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadMediaID);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadMediaID);
|
||||||
if(debug)
|
|
||||||
DataFile.WriteTo("SCSI Report", "mediaid", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Querying DVD Embossed PFI...");
|
DicConsole.WriteLine("Querying DVD Embossed PFI...");
|
||||||
mediaTest.CanReadRecordablePFI = !dev.ReadDiscStructure(out buffer, out senseBuffer,
|
mediaTest.CanReadRecordablePFI = !dev.ReadDiscStructure(out buffer, out senseBuffer,
|
||||||
MmcDiscStructureMediaType.Dvd, 0, 0,
|
MmcDiscStructureMediaType.Dvd, 0, 0,
|
||||||
MmcDiscStructureFormat.DvdrPhysicalInformation,
|
MmcDiscStructureFormat.DvdrPhysicalInformation,
|
||||||
0, dev.Timeout, out _);
|
0, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRecordablePFI);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRecordablePFI);
|
||||||
if(debug)
|
if(debug) mediaTest.EmbossedPfiData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "epfi", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType.StartsWith("DVD+R", StringComparison.Ordinal) || mediaType == "DVD+MRW")
|
if(mediaType.StartsWith("DVD+R", StringComparison.Ordinal) || mediaType == "DVD+MRW")
|
||||||
@@ -719,17 +684,13 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureMediaType.Dvd, 0, 0,
|
MmcDiscStructureMediaType.Dvd, 0, 0,
|
||||||
MmcDiscStructureFormat.Adip, 0, dev.Timeout, out _);
|
MmcDiscStructureFormat.Adip, 0, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadADIP);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadADIP);
|
||||||
if(debug)
|
if(debug) mediaTest.AdipData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "adip", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Querying DVD DCB...");
|
DicConsole.WriteLine("Querying DVD DCB...");
|
||||||
mediaTest.CanReadDCB = !dev.ReadDiscStructure(out buffer, out senseBuffer,
|
mediaTest.CanReadDCB = !dev.ReadDiscStructure(out buffer, out senseBuffer,
|
||||||
MmcDiscStructureMediaType.Dvd, 0, 0,
|
MmcDiscStructureMediaType.Dvd, 0, 0,
|
||||||
MmcDiscStructureFormat.Dcb, 0, dev.Timeout, out _);
|
MmcDiscStructureFormat.Dcb, 0, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDCB);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDCB);
|
||||||
if(debug)
|
if(debug) mediaTest.DcbData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "dcb", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType == "HD DVD-ROM")
|
if(mediaType == "HD DVD-ROM")
|
||||||
@@ -740,9 +701,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.HddvdCopyrightInformation, 0,
|
MmcDiscStructureFormat.HddvdCopyrightInformation, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadHDCMI);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadHDCMI);
|
||||||
if(debug)
|
if(debug) mediaTest.HdCmiData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "hdcmi", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType.EndsWith(" DL", StringComparison.Ordinal))
|
if(mediaType.EndsWith(" DL", StringComparison.Ordinal))
|
||||||
@@ -753,9 +712,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.DvdrLayerCapacity, 0,
|
MmcDiscStructureFormat.DvdrLayerCapacity, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadLayerCapacity);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadLayerCapacity);
|
||||||
if(debug)
|
if(debug) mediaTest.DvdLayerData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "layer", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType.StartsWith("BD-R", StringComparison.Ordinal))
|
if(mediaType.StartsWith("BD-R", StringComparison.Ordinal))
|
||||||
@@ -766,45 +723,33 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcDiscStructureFormat.DiscInformation, 0,
|
MmcDiscStructureFormat.DiscInformation, 0,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDiscInformation);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDiscInformation);
|
||||||
if(debug)
|
if(debug) mediaTest.BluDiData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "di", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Querying BD PAC...");
|
DicConsole.WriteLine("Querying BD PAC...");
|
||||||
mediaTest.CanReadPAC = !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd,
|
mediaTest.CanReadPAC = !dev.ReadDiscStructure(out buffer, out senseBuffer, MmcDiscStructureMediaType.Bd,
|
||||||
0, 0, MmcDiscStructureFormat.Pac, 0, dev.Timeout, out _);
|
0, 0, MmcDiscStructureFormat.Pac, 0, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPAC);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPAC);
|
||||||
if(debug)
|
if(debug) mediaTest.BluPacData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "pac", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (6)...");
|
DicConsole.WriteLine("Trying SCSI READ (6)...");
|
||||||
mediaTest.SupportsRead6 = !dev.Read6(out buffer, out senseBuffer, 0, 2048, dev.Timeout, out _);
|
mediaTest.SupportsRead6 = !dev.Read6(out buffer, out senseBuffer, 0, 2048, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead6);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead6);
|
||||||
if(debug)
|
if(debug) mediaTest.Read6Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "read6", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (10)...");
|
DicConsole.WriteLine("Trying SCSI READ (10)...");
|
||||||
mediaTest.SupportsRead10 = !dev.Read10(out buffer, out senseBuffer, 0, false, true, false, false, 0, 2048,
|
mediaTest.SupportsRead10 = !dev.Read10(out buffer, out senseBuffer, 0, false, true, false, false, 0, 2048,
|
||||||
0, 1, dev.Timeout, out _);
|
0, 1, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead10);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead10);
|
||||||
if(debug)
|
if(debug) mediaTest.Read10Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "read10", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (12)...");
|
DicConsole.WriteLine("Trying SCSI READ (12)...");
|
||||||
mediaTest.SupportsRead12 = !dev.Read12(out buffer, out senseBuffer, 0, false, true, false, false, 0, 2048,
|
mediaTest.SupportsRead12 = !dev.Read12(out buffer, out senseBuffer, 0, false, true, false, false, 0, 2048,
|
||||||
0, 1, false, dev.Timeout, out _);
|
0, 1, false, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead12);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead12);
|
||||||
if(debug)
|
if(debug) mediaTest.Read12Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "read12", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (16)...");
|
DicConsole.WriteLine("Trying SCSI READ (16)...");
|
||||||
mediaTest.SupportsRead16 = !dev.Read16(out buffer, out senseBuffer, 0, false, true, false, 0, 2048, 0, 1,
|
mediaTest.SupportsRead16 = !dev.Read16(out buffer, out senseBuffer, 0, false, true, false, 0, 2048, 0, 1,
|
||||||
false, dev.Timeout, out _);
|
false, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead16);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead16);
|
||||||
if(debug)
|
if(debug) mediaTest.Read16Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "read16", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
if(mediaType.StartsWith("CD-", StringComparison.Ordinal) ||
|
if(mediaType.StartsWith("CD-", StringComparison.Ordinal) ||
|
||||||
mediaType.StartsWith("DDCD-", StringComparison.Ordinal) || mediaType == "Audio CD")
|
mediaType.StartsWith("DDCD-", StringComparison.Ordinal) || mediaType == "Audio CD")
|
||||||
@@ -816,18 +761,14 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
false, false, false, MmcHeaderCodes.None, true, false,
|
false, false, false, MmcHeaderCodes.None, true, false,
|
||||||
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCd);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCd);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadCdFullData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcd", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ CD MSF...");
|
DicConsole.WriteLine("Trying SCSI READ CD MSF...");
|
||||||
mediaTest.SupportsReadCdMsf = !dev.ReadCdMsf(out buffer, out senseBuffer, 0x00000200, 0x00000201,
|
mediaTest.SupportsReadCdMsf = !dev.ReadCdMsf(out buffer, out senseBuffer, 0x00000200, 0x00000201,
|
||||||
2352, MmcSectorTypes.Cdda, false, false,
|
2352, MmcSectorTypes.Cdda, false, false,
|
||||||
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
||||||
MmcSubchannel.None, dev.Timeout, out _);
|
MmcSubchannel.None, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCdMsf);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCdMsf);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadCdMsfFullData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdmsf", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -837,27 +778,21 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
||||||
MmcSubchannel.None, dev.Timeout, out _);
|
MmcSubchannel.None, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCd);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCd);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadCdData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcd", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ CD MSF...");
|
DicConsole.WriteLine("Trying SCSI READ CD MSF...");
|
||||||
mediaTest.SupportsReadCdMsf = !dev.ReadCdMsf(out buffer, out senseBuffer, 0x00000200, 0x00000201,
|
mediaTest.SupportsReadCdMsf = !dev.ReadCdMsf(out buffer, out senseBuffer, 0x00000200, 0x00000201,
|
||||||
2048, MmcSectorTypes.AllTypes, false, false,
|
2048, MmcSectorTypes.AllTypes, false, false,
|
||||||
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
||||||
MmcSubchannel.None, dev.Timeout, out _);
|
MmcSubchannel.None, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCdMsf);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCdMsf);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadCdMsfData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdmsf", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ CD full sector...");
|
DicConsole.WriteLine("Trying SCSI READ CD full sector...");
|
||||||
mediaTest.SupportsReadCdRaw = !dev.ReadCd(out buffer, out senseBuffer, 0, 2352, 1,
|
mediaTest.SupportsReadCdRaw = !dev.ReadCd(out buffer, out senseBuffer, 0, 2352, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false, true,
|
MmcSectorTypes.AllTypes, false, false, true,
|
||||||
MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None,
|
MmcHeaderCodes.AllHeaders, true, true, MmcErrorField.None,
|
||||||
MmcSubchannel.None, dev.Timeout, out _);
|
MmcSubchannel.None, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCdRaw);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCdRaw);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadCdFullData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdraw", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ CD MSF full sector...");
|
DicConsole.WriteLine("Trying SCSI READ CD MSF full sector...");
|
||||||
mediaTest.SupportsReadCdMsfRaw = !dev.ReadCdMsf(out buffer, out senseBuffer, 0x00000200, 0x00000201,
|
mediaTest.SupportsReadCdMsfRaw = !dev.ReadCdMsf(out buffer, out senseBuffer, 0x00000200, 0x00000201,
|
||||||
2352, MmcSectorTypes.AllTypes, false, false,
|
2352, MmcSectorTypes.AllTypes, false, false,
|
||||||
@@ -865,14 +800,12 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.None, MmcSubchannel.None, dev.Timeout,
|
MmcErrorField.None, MmcSubchannel.None, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCdMsfRaw);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsReadCdMsfRaw);
|
||||||
if(debug)
|
if(debug) mediaTest.ReadCdMsfFullData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdmsfraw",
|
|
||||||
"_debug_" + dev.Model + "_" + mediaType + ".bin", "read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaTest.SupportsReadCdRaw == true || mediaType == "Audio CD")
|
if(mediaTest.SupportsReadCdRaw == true || mediaType == "Audio CD")
|
||||||
{
|
{
|
||||||
DicConsole.WriteLine("Trying to read CD Lead-In...");
|
DicConsole.WriteLine("Trying to read CD Track 1 pregap...");
|
||||||
for(int i = -150; i < 0; i++)
|
for(int i = -150; i < 0; i++)
|
||||||
{
|
{
|
||||||
if(mediaType == "Audio CD")
|
if(mediaType == "Audio CD")
|
||||||
@@ -884,15 +817,32 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
false, false, true, MmcHeaderCodes.AllHeaders, true, true,
|
false, false, true, MmcHeaderCodes.AllHeaders, true, true,
|
||||||
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", sense);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", sense);
|
||||||
if(debug)
|
if(debug) mediaTest.Track1PregapData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "leadin", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
if(sense) continue;
|
if(sense) continue;
|
||||||
|
|
||||||
mediaTest.CanReadFirstTrackPreGap = true;
|
mediaTest.CanReadFirstTrackPreGap = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DicConsole.WriteLine("Trying to read CD Lead-In...");
|
||||||
|
foreach(int i in new[] {-5000, -4000, -3000, -2000, -1000, -500, -250})
|
||||||
|
{
|
||||||
|
if(mediaType == "Audio CD")
|
||||||
|
sense = dev.ReadCd(out buffer, out senseBuffer, (uint)i, 2352, 1, MmcSectorTypes.Cdda,
|
||||||
|
false, false, false, MmcHeaderCodes.None, true, false,
|
||||||
|
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||||
|
else
|
||||||
|
sense = dev.ReadCd(out buffer, out senseBuffer, (uint)i, 2352, 1, MmcSectorTypes.AllTypes,
|
||||||
|
false, false, true, MmcHeaderCodes.AllHeaders, true, true,
|
||||||
|
MmcErrorField.None, MmcSubchannel.None, dev.Timeout, out _);
|
||||||
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", sense);
|
||||||
|
if(debug) mediaTest.LeadInData = buffer;
|
||||||
|
if(sense) continue;
|
||||||
|
|
||||||
|
mediaTest.CanReadLeadIn = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying to read CD Lead-Out...");
|
DicConsole.WriteLine("Trying to read CD Lead-Out...");
|
||||||
if(mediaType == "Audio CD")
|
if(mediaType == "Audio CD")
|
||||||
mediaTest.CanReadLeadOut = !dev.ReadCd(out buffer, out senseBuffer,
|
mediaTest.CanReadLeadOut = !dev.ReadCd(out buffer, out senseBuffer,
|
||||||
@@ -908,9 +858,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.None, MmcSubchannel.None, dev.Timeout,
|
MmcErrorField.None, MmcSubchannel.None, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadLeadOut);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadLeadOut);
|
||||||
if(debug)
|
if(debug) mediaTest.LeadOutData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "leadout", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(mediaType == "Audio CD")
|
if(mediaType == "Audio CD")
|
||||||
@@ -928,9 +876,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock, MmcSubchannel.None,
|
MmcErrorField.C2PointersAndBlock, MmcSubchannel.None,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadC2Pointers);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadC2Pointers);
|
||||||
if(debug)
|
if(debug) mediaTest.C2PointersData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying to read subchannels...");
|
DicConsole.WriteLine("Trying to read subchannels...");
|
||||||
mediaTest.CanReadPQSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2368, 1,
|
mediaTest.CanReadPQSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2368, 1,
|
||||||
@@ -938,26 +884,20 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
||||||
MmcSubchannel.Q16, dev.Timeout, out _);
|
MmcSubchannel.Q16, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.PQSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdpq", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
mediaTest.CanReadRWSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1,
|
mediaTest.CanReadRWSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1,
|
||||||
MmcSectorTypes.Cdda, false, false, false,
|
MmcSectorTypes.Cdda, false, false, false,
|
||||||
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
||||||
MmcSubchannel.Raw, dev.Timeout, out _);
|
MmcSubchannel.Raw, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.RWSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdrw", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
mediaTest.CanReadCorrectedSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1,
|
mediaTest.CanReadCorrectedSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1,
|
||||||
MmcSectorTypes.Cdda, false, false, false,
|
MmcSectorTypes.Cdda, false, false, false,
|
||||||
MmcHeaderCodes.None, true, false,
|
MmcHeaderCodes.None, true, false,
|
||||||
MmcErrorField.None, MmcSubchannel.Rw,
|
MmcErrorField.None, MmcSubchannel.Rw,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.CorrectedSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdsub", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying to read subchannels with C2 Pointers...");
|
DicConsole.WriteLine("Trying to read subchannels with C2 Pointers...");
|
||||||
mediaTest.CanReadPQSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2662, 1,
|
mediaTest.CanReadPQSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2662, 1,
|
||||||
@@ -972,9 +912,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock,
|
MmcErrorField.C2PointersAndBlock,
|
||||||
MmcSubchannel.Q16, dev.Timeout, out _);
|
MmcSubchannel.Q16, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannelWithC2);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.PQSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdpqc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
mediaTest.CanReadRWSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, 1,
|
mediaTest.CanReadRWSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, 1,
|
||||||
MmcSectorTypes.Cdda, false, false, false,
|
MmcSectorTypes.Cdda, false, false, false,
|
||||||
@@ -988,9 +926,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock,
|
MmcErrorField.C2PointersAndBlock,
|
||||||
MmcSubchannel.Raw, dev.Timeout, out _);
|
MmcSubchannel.Raw, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannelWithC2);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.RWSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdrwc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, 1,
|
mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, 1,
|
||||||
MmcSectorTypes.Cdda, false, false, false,
|
MmcSectorTypes.Cdda, false, false, false,
|
||||||
@@ -1006,9 +942,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcSubchannel.Rw, dev.Timeout, out _);
|
MmcSubchannel.Rw, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}",
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}",
|
||||||
!mediaTest.CanReadCorrectedSubchannelWithC2);
|
!mediaTest.CanReadCorrectedSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.CorrectedSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdsubc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
else if(mediaTest.SupportsReadCdRaw == true)
|
else if(mediaTest.SupportsReadCdRaw == true)
|
||||||
{
|
{
|
||||||
@@ -1025,9 +959,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock, MmcSubchannel.None,
|
MmcErrorField.C2PointersAndBlock, MmcSubchannel.None,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadC2Pointers);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadC2Pointers);
|
||||||
if(debug)
|
if(debug) mediaTest.C2PointersData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying to read subchannels...");
|
DicConsole.WriteLine("Trying to read subchannels...");
|
||||||
mediaTest.CanReadPQSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2368, 1,
|
mediaTest.CanReadPQSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2368, 1,
|
||||||
@@ -1036,28 +968,21 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.None, MmcSubchannel.Q16, dev.Timeout,
|
MmcErrorField.None, MmcSubchannel.Q16, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.PQSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdpq", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
mediaTest.CanReadRWSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1,
|
mediaTest.CanReadRWSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false, true,
|
MmcSectorTypes.AllTypes, false, false, true,
|
||||||
MmcHeaderCodes.AllHeaders, true, true,
|
MmcHeaderCodes.AllHeaders, true, true,
|
||||||
MmcErrorField.None, MmcSubchannel.Raw, dev.Timeout,
|
MmcErrorField.None, MmcSubchannel.Raw, dev.Timeout,
|
||||||
out _);
|
out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.RWSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdrw", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
mediaTest.CanReadCorrectedSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1,
|
mediaTest.CanReadCorrectedSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2448, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false, true,
|
MmcSectorTypes.AllTypes, false, false, true,
|
||||||
MmcHeaderCodes.AllHeaders, true, true,
|
MmcHeaderCodes.AllHeaders, true, true,
|
||||||
MmcErrorField.None, MmcSubchannel.Rw,
|
MmcErrorField.None, MmcSubchannel.Rw,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.CorrectedSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdsub", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying to read subchannels with C2 Pointers...");
|
DicConsole.WriteLine("Trying to read subchannels with C2 Pointers...");
|
||||||
mediaTest.CanReadPQSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2662, 1,
|
mediaTest.CanReadPQSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2662, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false, true,
|
MmcSectorTypes.AllTypes, false, false, true,
|
||||||
@@ -1071,9 +996,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock,
|
MmcErrorField.C2PointersAndBlock,
|
||||||
MmcSubchannel.Q16, dev.Timeout, out _);
|
MmcSubchannel.Q16, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannelWithC2);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.PQSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdpqc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
mediaTest.CanReadRWSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, 1,
|
mediaTest.CanReadRWSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false, true,
|
MmcSectorTypes.AllTypes, false, false, true,
|
||||||
@@ -1087,9 +1010,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock,
|
MmcErrorField.C2PointersAndBlock,
|
||||||
MmcSubchannel.Raw, dev.Timeout, out _);
|
MmcSubchannel.Raw, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannelWithC2);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.RWSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdrwc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, 1,
|
mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2712, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false,
|
MmcSectorTypes.AllTypes, false, false,
|
||||||
@@ -1105,9 +1026,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcSubchannel.Rw, dev.Timeout, out _);
|
MmcSubchannel.Rw, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}",
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}",
|
||||||
!mediaTest.CanReadCorrectedSubchannelWithC2);
|
!mediaTest.CanReadCorrectedSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.CorrectedSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdsubc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1124,9 +1043,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock, MmcSubchannel.None,
|
MmcErrorField.C2PointersAndBlock, MmcSubchannel.None,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadC2Pointers);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadC2Pointers);
|
||||||
if(debug)
|
if(debug) mediaTest.C2PointersData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying to read subchannels...");
|
DicConsole.WriteLine("Trying to read subchannels...");
|
||||||
mediaTest.CanReadPQSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2064, 1,
|
mediaTest.CanReadPQSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2064, 1,
|
||||||
@@ -1134,26 +1051,20 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
||||||
MmcSubchannel.Q16, dev.Timeout, out _);
|
MmcSubchannel.Q16, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.PQSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdpq", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
mediaTest.CanReadRWSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2144, 1,
|
mediaTest.CanReadRWSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2144, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false, false,
|
MmcSectorTypes.AllTypes, false, false, false,
|
||||||
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
MmcHeaderCodes.None, true, false, MmcErrorField.None,
|
||||||
MmcSubchannel.Raw, dev.Timeout, out _);
|
MmcSubchannel.Raw, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.RWSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdrw", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
mediaTest.CanReadCorrectedSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2144, 1,
|
mediaTest.CanReadCorrectedSubchannel = !dev.ReadCd(out buffer, out senseBuffer, 0, 2144, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false, false,
|
MmcSectorTypes.AllTypes, false, false, false,
|
||||||
MmcHeaderCodes.None, true, false,
|
MmcHeaderCodes.None, true, false,
|
||||||
MmcErrorField.None, MmcSubchannel.Rw,
|
MmcErrorField.None, MmcSubchannel.Rw,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadCorrectedSubchannel);
|
||||||
if(debug)
|
if(debug) mediaTest.CorrectedSubchannelData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdsub", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying to read subchannels with C2 Pointers...");
|
DicConsole.WriteLine("Trying to read subchannels with C2 Pointers...");
|
||||||
mediaTest.CanReadPQSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2358, 1,
|
mediaTest.CanReadPQSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2358, 1,
|
||||||
@@ -1168,9 +1079,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock,
|
MmcErrorField.C2PointersAndBlock,
|
||||||
MmcSubchannel.Q16, dev.Timeout, out _);
|
MmcSubchannel.Q16, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannelWithC2);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPQSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.PQSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdpqc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
mediaTest.CanReadRWSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2438, 1,
|
mediaTest.CanReadRWSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2438, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false, false,
|
MmcSectorTypes.AllTypes, false, false, false,
|
||||||
@@ -1184,9 +1093,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcErrorField.C2PointersAndBlock,
|
MmcErrorField.C2PointersAndBlock,
|
||||||
MmcSubchannel.Raw, dev.Timeout, out _);
|
MmcSubchannel.Raw, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannelWithC2);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadRWSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.RWSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdrwc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
|
|
||||||
mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2438, 1,
|
mediaTest.CanReadCorrectedSubchannelWithC2 = !dev.ReadCd(out buffer, out senseBuffer, 0, 2438, 1,
|
||||||
MmcSectorTypes.AllTypes, false, false,
|
MmcSectorTypes.AllTypes, false, false,
|
||||||
@@ -1202,9 +1109,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
MmcSubchannel.Rw, dev.Timeout, out _);
|
MmcSubchannel.Rw, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}",
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}",
|
||||||
!mediaTest.CanReadCorrectedSubchannelWithC2);
|
!mediaTest.CanReadCorrectedSubchannelWithC2);
|
||||||
if(debug)
|
if(debug) mediaTest.CorrectedSubchannelWithC2Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readcdsubc2", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tryPlextor)
|
if(tryPlextor)
|
||||||
@@ -1214,9 +1119,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
!dev.PlextorReadCdDa(out buffer, out senseBuffer, 0, 2352, 1, PlextorSubchannel.None,
|
!dev.PlextorReadCdDa(out buffer, out senseBuffer, 0, 2352, 1, PlextorSubchannel.None,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsPlextorReadCDDA);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsPlextorReadCDDA);
|
||||||
if(debug)
|
if(debug) mediaTest.PlextorReadCddaData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "plextorreadcdda",
|
|
||||||
"_debug_" + dev.Model + "_" + mediaType + ".bin", "read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tryPioneer)
|
if(tryPioneer)
|
||||||
@@ -1226,17 +1129,13 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
!dev.PioneerReadCdDa(out buffer, out senseBuffer, 0, 2352, 1, PioneerSubchannel.None,
|
!dev.PioneerReadCdDa(out buffer, out senseBuffer, 0, 2352, 1, PioneerSubchannel.None,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsPioneerReadCDDA);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsPioneerReadCDDA);
|
||||||
if(debug)
|
if(debug) mediaTest.PioneerReadCddaData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "pioneerreadcdda",
|
|
||||||
"_debug_" + dev.Model + "_" + mediaType + ".bin", "read results", buffer);
|
|
||||||
DicConsole.WriteLine("Trying Pioneer READ CD-DA MSF...");
|
DicConsole.WriteLine("Trying Pioneer READ CD-DA MSF...");
|
||||||
mediaTest.SupportsPioneerReadCDDAMSF =
|
mediaTest.SupportsPioneerReadCDDAMSF =
|
||||||
!dev.PioneerReadCdDaMsf(out buffer, out senseBuffer, 0x00000200, 0x00000201, 2352,
|
!dev.PioneerReadCdDaMsf(out buffer, out senseBuffer, 0x00000200, 0x00000201, 2352,
|
||||||
PioneerSubchannel.None, dev.Timeout, out _);
|
PioneerSubchannel.None, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsPioneerReadCDDAMSF);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsPioneerReadCDDAMSF);
|
||||||
if(debug)
|
if(debug) mediaTest.PioneerReadCddaMsfData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "pioneerreadcddamsf",
|
|
||||||
"_debug_" + dev.Model + "_" + mediaType + ".bin", "read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tryNec)
|
if(tryNec)
|
||||||
@@ -1245,9 +1144,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
mediaTest.SupportsNECReadCDDA =
|
mediaTest.SupportsNECReadCDDA =
|
||||||
!dev.NecReadCdDa(out buffer, out senseBuffer, 0, 1, dev.Timeout, out _);
|
!dev.NecReadCdDa(out buffer, out senseBuffer, 0, 1, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsNECReadCDDA);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsNECReadCDDA);
|
||||||
if(debug)
|
if(debug) mediaTest.NecReadCddaData = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "necreadcdda", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1273,6 +1170,7 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0, 37856, dev.Timeout, out _);
|
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0, 37856, dev.Timeout, out _);
|
||||||
if(!sense && !dev.Error)
|
if(!sense && !dev.Error)
|
||||||
{
|
{
|
||||||
|
mediaTest.ReadLong10Data = buffer;
|
||||||
mediaTest.SupportsReadLong = true;
|
mediaTest.SupportsReadLong = true;
|
||||||
mediaTest.LongBlockSize = 37856;
|
mediaTest.LongBlockSize = 37856;
|
||||||
}
|
}
|
||||||
@@ -1284,11 +1182,10 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
mediaTest.SupportsPlextorReadRawDVD =
|
mediaTest.SupportsPlextorReadRawDVD =
|
||||||
!dev.PlextorReadRawDvd(out buffer, out senseBuffer, 0, 1, dev.Timeout, out _);
|
!dev.PlextorReadRawDvd(out buffer, out senseBuffer, 0, 1, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsPlextorReadRawDVD);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsPlextorReadRawDVD);
|
||||||
if(debug)
|
|
||||||
DataFile.WriteTo("SCSI Report", "plextorrawdvd", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
if(mediaTest.SupportsPlextorReadRawDVD == true)
|
if(mediaTest.SupportsPlextorReadRawDVD == true)
|
||||||
mediaTest.SupportsPlextorReadRawDVD = !ArrayHelpers.ArrayIsNullOrEmpty(buffer);
|
mediaTest.SupportsPlextorReadRawDVD = !ArrayHelpers.ArrayIsNullOrEmpty(buffer);
|
||||||
|
|
||||||
|
if(mediaTest.SupportsPlextorReadRawDVD == true && debug) mediaTest.PlextorReadRawDVDData = buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!tryHldtst) return mediaTest;
|
if(!tryHldtst) return mediaTest;
|
||||||
@@ -1297,9 +1194,11 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
mediaTest.SupportsHLDTSTReadRawDVD =
|
mediaTest.SupportsHLDTSTReadRawDVD =
|
||||||
!dev.HlDtStReadRawDvd(out buffer, out senseBuffer, 0, 1, dev.Timeout, out _);
|
!dev.HlDtStReadRawDvd(out buffer, out senseBuffer, 0, 1, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsHLDTSTReadRawDVD);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsHLDTSTReadRawDVD);
|
||||||
if(debug)
|
|
||||||
DataFile.WriteTo("SCSI Report", "hldtstrawdvd", "_debug_" + dev.Model + "_" + mediaType + ".bin",
|
if(mediaTest.SupportsHLDTSTReadRawDVD == true)
|
||||||
"read results", buffer);
|
mediaTest.SupportsHLDTSTReadRawDVD = !ArrayHelpers.ArrayIsNullOrEmpty(buffer);
|
||||||
|
|
||||||
|
if(mediaTest.SupportsHLDTSTReadRawDVD == true && debug) mediaTest.HLDTSTReadRawDVDData = buffer;
|
||||||
|
|
||||||
return mediaTest;
|
return mediaTest;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -282,33 +282,25 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
mediaTest.SupportsRead6 = !dev.Read6(out buffer, out senseBuffer, 0,
|
mediaTest.SupportsRead6 = !dev.Read6(out buffer, out senseBuffer, 0,
|
||||||
mediaTest.BlockSize ?? 512, dev.Timeout, out _);
|
mediaTest.BlockSize ?? 512, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead6);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead6);
|
||||||
if(debug)
|
if(debug) mediaTest.Read6Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "read6", "_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
|
|
||||||
buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (10)...");
|
DicConsole.WriteLine("Trying SCSI READ (10)...");
|
||||||
mediaTest.SupportsRead10 = !dev.Read10(out buffer, out senseBuffer, 0, false, true, false, false, 0,
|
mediaTest.SupportsRead10 = !dev.Read10(out buffer, out senseBuffer, 0, false, true, false, false, 0,
|
||||||
mediaTest.BlockSize ?? 512, 0, 1, dev.Timeout, out _);
|
mediaTest.BlockSize ?? 512, 0, 1, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead10);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead10);
|
||||||
if(debug)
|
if(debug) mediaTest.Read10Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "read10", "_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
|
|
||||||
buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (12)...");
|
DicConsole.WriteLine("Trying SCSI READ (12)...");
|
||||||
mediaTest.SupportsRead12 = !dev.Read12(out buffer, out senseBuffer, 0, false, true, false, false, 0,
|
mediaTest.SupportsRead12 = !dev.Read12(out buffer, out senseBuffer, 0, false, true, false, false, 0,
|
||||||
mediaTest.BlockSize ?? 512, 0, 1, false, dev.Timeout, out _);
|
mediaTest.BlockSize ?? 512, 0, 1, false, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead12);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead12);
|
||||||
if(debug)
|
if(debug) mediaTest.Read12Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "read12", "_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
|
|
||||||
buffer);
|
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (16)...");
|
DicConsole.WriteLine("Trying SCSI READ (16)...");
|
||||||
mediaTest.SupportsRead16 = !dev.Read16(out buffer, out senseBuffer, 0, false, true, false, 0,
|
mediaTest.SupportsRead16 = !dev.Read16(out buffer, out senseBuffer, 0, false, true, false, 0,
|
||||||
mediaTest.BlockSize ?? 512, 0, 1, false, dev.Timeout, out _);
|
mediaTest.BlockSize ?? 512, 0, 1, false, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead16);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.SupportsRead16);
|
||||||
if(debug)
|
if(debug) mediaTest.Read16Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "read16", "_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
|
|
||||||
buffer);
|
|
||||||
|
|
||||||
mediaTest.LongBlockSize = mediaTest.BlockSize;
|
mediaTest.LongBlockSize = mediaTest.BlockSize;
|
||||||
DicConsole.WriteLine("Trying SCSI READ LONG (10)...");
|
DicConsole.WriteLine("Trying SCSI READ LONG (10)...");
|
||||||
@@ -456,25 +448,25 @@ namespace DiscImageChef.Core.Devices.Report
|
|||||||
capabilities.SupportsRead6 = !dev.Read6(out buffer, out senseBuffer, 0, capabilities.BlockSize ?? 512,
|
capabilities.SupportsRead6 = !dev.Read6(out buffer, out senseBuffer, 0, capabilities.BlockSize ?? 512,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !capabilities.SupportsRead6);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !capabilities.SupportsRead6);
|
||||||
if(debug) DataFile.WriteTo("SCSI Report", "read6", "_debug_" + dev.Model + ".bin", "read results", buffer);
|
if(debug) capabilities.Read6Data = buffer;
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (10)...");
|
DicConsole.WriteLine("Trying SCSI READ (10)...");
|
||||||
capabilities.SupportsRead10 = !dev.Read10(out buffer, out senseBuffer, 0, false, true, false, false, 0,
|
capabilities.SupportsRead10 = !dev.Read10(out buffer, out senseBuffer, 0, false, true, false, false, 0,
|
||||||
capabilities.BlockSize ?? 512, 0, 1, dev.Timeout, out _);
|
capabilities.BlockSize ?? 512, 0, 1, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !capabilities.SupportsRead10);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !capabilities.SupportsRead10);
|
||||||
if(debug) DataFile.WriteTo("SCSI Report", "read10", "_debug_" + dev.Model + ".bin", "read results", buffer);
|
if(debug) capabilities.Read10Data = buffer;
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (12)...");
|
DicConsole.WriteLine("Trying SCSI READ (12)...");
|
||||||
capabilities.SupportsRead12 = !dev.Read12(out buffer, out senseBuffer, 0, false, true, false, false, 0,
|
capabilities.SupportsRead12 = !dev.Read12(out buffer, out senseBuffer, 0, false, true, false, false, 0,
|
||||||
capabilities.BlockSize ?? 512, 0, 1, false, dev.Timeout, out _);
|
capabilities.BlockSize ?? 512, 0, 1, false, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !capabilities.SupportsRead12);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !capabilities.SupportsRead12);
|
||||||
if(debug) DataFile.WriteTo("SCSI Report", "read12", "_debug_" + dev.Model + ".bin", "read results", buffer);
|
if(debug) capabilities.Read12Data = buffer;
|
||||||
|
|
||||||
DicConsole.WriteLine("Trying SCSI READ (16)...");
|
DicConsole.WriteLine("Trying SCSI READ (16)...");
|
||||||
capabilities.SupportsRead16 = !dev.Read16(out buffer, out senseBuffer, 0, false, true, false, 0,
|
capabilities.SupportsRead16 = !dev.Read16(out buffer, out senseBuffer, 0, false, true, false, 0,
|
||||||
capabilities.BlockSize ?? 512, 0, 1, false, dev.Timeout, out _);
|
capabilities.BlockSize ?? 512, 0, 1, false, dev.Timeout, out _);
|
||||||
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !capabilities.SupportsRead16);
|
DicConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !capabilities.SupportsRead16);
|
||||||
if(debug) DataFile.WriteTo("SCSI Report", "read16", "_debug_" + dev.Model + ".bin", "read results", buffer);
|
if(debug) capabilities.Read16Data = buffer;
|
||||||
|
|
||||||
capabilities.LongBlockSize = capabilities.BlockSize;
|
capabilities.LongBlockSize = capabilities.BlockSize;
|
||||||
DicConsole.WriteLine("Trying SCSI READ LONG (10)...");
|
DicConsole.WriteLine("Trying SCSI READ LONG (10)...");
|
||||||
|
|||||||
@@ -88,6 +88,8 @@
|
|||||||
<Compile Include="Migrations\20181225002740_AddCdOffsets.Designer.cs" />
|
<Compile Include="Migrations\20181225002740_AddCdOffsets.Designer.cs" />
|
||||||
<Compile Include="Migrations\20181225152947_StoreMmcGetConfigurationResponse.cs" />
|
<Compile Include="Migrations\20181225152947_StoreMmcGetConfigurationResponse.cs" />
|
||||||
<Compile Include="Migrations\20181225152947_StoreMmcGetConfigurationResponse.Designer.cs" />
|
<Compile Include="Migrations\20181225152947_StoreMmcGetConfigurationResponse.Designer.cs" />
|
||||||
|
<Compile Include="Migrations\20181225214500_StoreReadResultsInReportDatabase.cs" />
|
||||||
|
<Compile Include="Migrations\20181225214500_StoreReadResultsInReportDatabase.Designer.cs" />
|
||||||
<Compile Include="Migrations\DicContextModelSnapshot.cs" />
|
<Compile Include="Migrations\DicContextModelSnapshot.cs" />
|
||||||
<Compile Include="Models\CdOffset.cs" />
|
<Compile Include="Models\CdOffset.cs" />
|
||||||
<Compile Include="Models\Command.cs" />
|
<Compile Include="Models\Command.cs" />
|
||||||
|
|||||||
1551
DiscImageChef.Database/Migrations/20181225214500_StoreReadResultsInReportDatabase.Designer.cs
generated
Normal file
1551
DiscImageChef.Database/Migrations/20181225214500_StoreReadResultsInReportDatabase.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,261 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
namespace DiscImageChef.Database.Migrations
|
||||||
|
{
|
||||||
|
public partial class StoreReadResultsInReportDatabase : Migration
|
||||||
|
{
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AddColumn<byte[]>("AdipData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("AtipData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("BluBcaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("BluDdsData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("BluDiData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("BluPacData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("BluSaiData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("C2PointersData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("CmiData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("CorrectedSubchannelData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("CorrectedSubchannelWithC2Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("DcbData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("DmiData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("DvdAacsData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("DvdBcaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("DvdDdsData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("DvdLayerData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("DvdSaiData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("EmbossedPfiData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("FullTocData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("HLDTSTReadRawDVDData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("HdCmiData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("LeadInData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("LeadOutData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("NecReadCddaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PQSubchannelData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PQSubchannelWithC2Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PfiData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PioneerReadCddaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PioneerReadCddaMsfData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PlextorReadCddaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PlextorReadRawDVDData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PmaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("PriData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("RWSubchannelData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("RWSubchannelWithC2Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("Read10Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("Read12Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("Read16Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("Read6Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadCdData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadCdFullData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadCdMsfData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadCdMsfFullData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadDmaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadDmaLba48Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadDmaLbaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadDmaRetryData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadDmaRetryLbaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadLba48Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadLbaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadLong10Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadLong16Data", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadLongData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadLongLbaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadLongRetryData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadLongRetryLbaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadRetryLbaData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadSectorsData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("ReadSectorsRetryData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("TocData", "TestedMedia", nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<byte[]>("Track1PregapData", "TestedMedia", nullable: true);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn("AdipData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("AtipData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("BluBcaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("BluDdsData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("BluDiData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("BluPacData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("BluSaiData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("C2PointersData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("CmiData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("CorrectedSubchannelData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("CorrectedSubchannelWithC2Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("DcbData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("DmiData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("DvdAacsData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("DvdBcaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("DvdDdsData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("DvdLayerData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("DvdSaiData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("EmbossedPfiData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("FullTocData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("HLDTSTReadRawDVDData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("HdCmiData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("LeadInData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("LeadOutData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("NecReadCddaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PQSubchannelData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PQSubchannelWithC2Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PfiData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PioneerReadCddaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PioneerReadCddaMsfData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PlextorReadCddaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PlextorReadRawDVDData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PmaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("PriData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("RWSubchannelData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("RWSubchannelWithC2Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("Read10Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("Read12Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("Read16Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("Read6Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadCdData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadCdFullData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadCdMsfData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadCdMsfFullData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadDmaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadDmaLba48Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadDmaLbaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadDmaRetryData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadDmaRetryLbaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadLba48Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadLbaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadLong10Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadLong16Data", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadLongData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadLongLbaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadLongRetryData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadLongRetryLbaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadRetryLbaData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadSectorsData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("ReadSectorsRetryData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("TocData", "TestedMedia");
|
||||||
|
|
||||||
|
migrationBuilder.DropColumn("Track1PregapData", "TestedMedia");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -619,8 +619,12 @@ namespace DiscImageChef.Database.Migrations
|
|||||||
{
|
{
|
||||||
b.Property<int>("Id").ValueGeneratedOnAdd();
|
b.Property<int>("Id").ValueGeneratedOnAdd();
|
||||||
|
|
||||||
|
b.Property<byte[]>("AdipData");
|
||||||
|
|
||||||
b.Property<int?>("AtaId");
|
b.Property<int?>("AtaId");
|
||||||
|
|
||||||
|
b.Property<byte[]>("AtipData");
|
||||||
|
|
||||||
b.Property<uint?>("BlockSize");
|
b.Property<uint?>("BlockSize");
|
||||||
|
|
||||||
b.Property<int?>("BlockSizeSql");
|
b.Property<int?>("BlockSizeSql");
|
||||||
@@ -629,6 +633,18 @@ namespace DiscImageChef.Database.Migrations
|
|||||||
|
|
||||||
b.Property<long?>("BlocksSql");
|
b.Property<long?>("BlocksSql");
|
||||||
|
|
||||||
|
b.Property<byte[]>("BluBcaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("BluDdsData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("BluDiData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("BluPacData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("BluSaiData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("C2PointersData");
|
||||||
|
|
||||||
b.Property<int?>("CHSId");
|
b.Property<int?>("CHSId");
|
||||||
|
|
||||||
b.Property<bool?>("CanReadAACS");
|
b.Property<bool?>("CanReadAACS");
|
||||||
@@ -693,10 +709,38 @@ namespace DiscImageChef.Database.Migrations
|
|||||||
|
|
||||||
b.Property<bool?>("CanReadTOC");
|
b.Property<bool?>("CanReadTOC");
|
||||||
|
|
||||||
|
b.Property<byte[]>("CmiData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("CorrectedSubchannelData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("CorrectedSubchannelWithC2Data");
|
||||||
|
|
||||||
b.Property<int?>("CurrentCHSId");
|
b.Property<int?>("CurrentCHSId");
|
||||||
|
|
||||||
|
b.Property<byte[]>("DcbData");
|
||||||
|
|
||||||
b.Property<byte?>("Density");
|
b.Property<byte?>("Density");
|
||||||
|
|
||||||
|
b.Property<byte[]>("DmiData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("DvdAacsData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("DvdBcaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("DvdDdsData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("DvdLayerData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("DvdSaiData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("EmbossedPfiData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("FullTocData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("HLDTSTReadRawDVDData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("HdCmiData");
|
||||||
|
|
||||||
b.Property<byte[]>("IdentifyData");
|
b.Property<byte[]>("IdentifyData");
|
||||||
|
|
||||||
b.Property<ulong?>("LBA48Sectors");
|
b.Property<ulong?>("LBA48Sectors");
|
||||||
@@ -707,6 +751,10 @@ namespace DiscImageChef.Database.Migrations
|
|||||||
|
|
||||||
b.Property<int?>("LBASectorsSql");
|
b.Property<int?>("LBASectorsSql");
|
||||||
|
|
||||||
|
b.Property<byte[]>("LeadInData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("LeadOutData");
|
||||||
|
|
||||||
b.Property<ushort?>("LogicalAlignment");
|
b.Property<ushort?>("LogicalAlignment");
|
||||||
|
|
||||||
b.Property<short?>("LogicalAlignmentSql");
|
b.Property<short?>("LogicalAlignmentSql");
|
||||||
@@ -731,14 +779,86 @@ namespace DiscImageChef.Database.Migrations
|
|||||||
|
|
||||||
b.Property<string>("Model");
|
b.Property<string>("Model");
|
||||||
|
|
||||||
|
b.Property<byte[]>("NecReadCddaData");
|
||||||
|
|
||||||
b.Property<ushort?>("NominalRotationRate");
|
b.Property<ushort?>("NominalRotationRate");
|
||||||
|
|
||||||
b.Property<short?>("NominalRotationRateSql");
|
b.Property<short?>("NominalRotationRateSql");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PQSubchannelData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PQSubchannelWithC2Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PfiData");
|
||||||
|
|
||||||
b.Property<uint?>("PhysicalBlockSize");
|
b.Property<uint?>("PhysicalBlockSize");
|
||||||
|
|
||||||
b.Property<int?>("PhysicalBlockSizeSql");
|
b.Property<int?>("PhysicalBlockSizeSql");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PioneerReadCddaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PioneerReadCddaMsfData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PlextorReadCddaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PlextorReadRawDVDData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PmaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("PriData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("RWSubchannelData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("RWSubchannelWithC2Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("Read10Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("Read12Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("Read16Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("Read6Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadCdData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadCdFullData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadCdMsfData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadCdMsfFullData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadDmaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadDmaLba48Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadDmaLbaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadDmaRetryData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadDmaRetryLbaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadLba48Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadLbaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadLong10Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadLong16Data");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadLongData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadLongLbaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadLongRetryData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadLongRetryLbaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadRetryLbaData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadSectorsData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("ReadSectorsRetryData");
|
||||||
|
|
||||||
b.Property<int?>("ScsiId");
|
b.Property<int?>("ScsiId");
|
||||||
|
|
||||||
b.Property<bool?>("SolidStateDevice");
|
b.Property<bool?>("SolidStateDevice");
|
||||||
@@ -809,6 +929,10 @@ namespace DiscImageChef.Database.Migrations
|
|||||||
|
|
||||||
b.Property<bool?>("SupportsSeekLba");
|
b.Property<bool?>("SupportsSeekLba");
|
||||||
|
|
||||||
|
b.Property<byte[]>("TocData");
|
||||||
|
|
||||||
|
b.Property<byte[]>("Track1PregapData");
|
||||||
|
|
||||||
b.Property<ushort?>("UnformattedBPS");
|
b.Property<ushort?>("UnformattedBPS");
|
||||||
|
|
||||||
b.Property<short?>("UnformattedBPSSql");
|
b.Property<short?>("UnformattedBPSSql");
|
||||||
|
|||||||
@@ -233,6 +233,10 @@
|
|||||||
<Compile Include="Migrations\201812251556377_StoreMmcGetConfigurationResponse.Designer.cs">
|
<Compile Include="Migrations\201812251556377_StoreMmcGetConfigurationResponse.Designer.cs">
|
||||||
<DependentUpon>201812251556377_StoreMmcGetConfigurationResponse.cs</DependentUpon>
|
<DependentUpon>201812251556377_StoreMmcGetConfigurationResponse.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Migrations\201812252219066_StoreReadResultsInReportDatabase.cs" />
|
||||||
|
<Compile Include="Migrations\201812252219066_StoreReadResultsInReportDatabase.Designer.cs">
|
||||||
|
<DependentUpon>201812252219066_StoreReadResultsInReportDatabase.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Migrations\Configuration.cs" />
|
<Compile Include="Migrations\Configuration.cs" />
|
||||||
<Compile Include="Models\CdOffset.cs" />
|
<Compile Include="Models\CdOffset.cs" />
|
||||||
<Compile Include="Models\Command.cs" />
|
<Compile Include="Models\Command.cs" />
|
||||||
@@ -346,6 +350,9 @@
|
|||||||
<EmbeddedResource Include="Migrations\201812251556377_StoreMmcGetConfigurationResponse.resx">
|
<EmbeddedResource Include="Migrations\201812251556377_StoreMmcGetConfigurationResponse.resx">
|
||||||
<DependentUpon>201812251556377_StoreMmcGetConfigurationResponse.cs</DependentUpon>
|
<DependentUpon>201812251556377_StoreMmcGetConfigurationResponse.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Migrations\201812252219066_StoreReadResultsInReportDatabase.resx">
|
||||||
|
<DependentUpon>201812252219066_StoreReadResultsInReportDatabase.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||||
|
|||||||
29
DiscImageChef.Server/Migrations/201812252219066_StoreReadResultsInReportDatabase.Designer.cs
generated
Normal file
29
DiscImageChef.Server/Migrations/201812252219066_StoreReadResultsInReportDatabase.Designer.cs
generated
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
namespace DiscImageChef.Server.Migrations
|
||||||
|
{
|
||||||
|
using System.CodeDom.Compiler;
|
||||||
|
using System.Data.Entity.Migrations;
|
||||||
|
using System.Data.Entity.Migrations.Infrastructure;
|
||||||
|
using System.Resources;
|
||||||
|
|
||||||
|
[GeneratedCode("EntityFramework.Migrations", "6.2.0-61023")]
|
||||||
|
public sealed partial class StoreReadResultsInReportDatabase : IMigrationMetadata
|
||||||
|
{
|
||||||
|
private readonly ResourceManager Resources = new ResourceManager(typeof(StoreReadResultsInReportDatabase));
|
||||||
|
|
||||||
|
string IMigrationMetadata.Id
|
||||||
|
{
|
||||||
|
get { return "201812252219066_StoreReadResultsInReportDatabase"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
string IMigrationMetadata.Source
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
|
string IMigrationMetadata.Target
|
||||||
|
{
|
||||||
|
get { return Resources.GetString("Target"); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,127 @@
|
|||||||
|
using System.Data.Entity.Migrations;
|
||||||
|
|
||||||
|
namespace DiscImageChef.Server.Migrations
|
||||||
|
{
|
||||||
|
public partial class StoreReadResultsInReportDatabase : DbMigration
|
||||||
|
{
|
||||||
|
public override void Up()
|
||||||
|
{
|
||||||
|
AddColumn("dbo.TestedMedias", "Read6Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "Read10Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "Read12Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "Read16Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadLong10Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadLong16Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadSectorsData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadSectorsRetryData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadDmaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadDmaRetryData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadLbaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadRetryLbaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadDmaLbaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadDmaRetryLbaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadLba48Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadDmaLba48Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadLongData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadLongRetryData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadLongLbaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadLongRetryLbaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "TocData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "FullTocData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "AtipData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "PmaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "PfiData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "DmiData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "CmiData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "DvdBcaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "DvdAacsData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "DvdDdsData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "DvdSaiData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "BluBcaData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "BluDdsData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "BluSaiData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "PriData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "EmbossedPfiData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "AdipData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "DcbData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "HdCmiData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "DvdLayerData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "BluDiData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "BluPacData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadCdData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadCdMsfData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadCdFullData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "ReadCdMsfFullData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "Track1PregapData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "LeadInData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "LeadOutData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "C2PointersData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "PQSubchannelData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "RWSubchannelData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "CorrectedSubchannelData", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "PQSubchannelWithC2Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "RWSubchannelWithC2Data", c => c.Binary());
|
||||||
|
AddColumn("dbo.TestedMedias", "CorrectedSubchannelWithC2Data", c => c.Binary());
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Down()
|
||||||
|
{
|
||||||
|
DropColumn("dbo.TestedMedias", "CorrectedSubchannelWithC2Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "RWSubchannelWithC2Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "PQSubchannelWithC2Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "CorrectedSubchannelData");
|
||||||
|
DropColumn("dbo.TestedMedias", "RWSubchannelData");
|
||||||
|
DropColumn("dbo.TestedMedias", "PQSubchannelData");
|
||||||
|
DropColumn("dbo.TestedMedias", "C2PointersData");
|
||||||
|
DropColumn("dbo.TestedMedias", "LeadOutData");
|
||||||
|
DropColumn("dbo.TestedMedias", "LeadInData");
|
||||||
|
DropColumn("dbo.TestedMedias", "Track1PregapData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadCdMsfFullData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadCdFullData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadCdMsfData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadCdData");
|
||||||
|
DropColumn("dbo.TestedMedias", "BluPacData");
|
||||||
|
DropColumn("dbo.TestedMedias", "BluDiData");
|
||||||
|
DropColumn("dbo.TestedMedias", "DvdLayerData");
|
||||||
|
DropColumn("dbo.TestedMedias", "HdCmiData");
|
||||||
|
DropColumn("dbo.TestedMedias", "DcbData");
|
||||||
|
DropColumn("dbo.TestedMedias", "AdipData");
|
||||||
|
DropColumn("dbo.TestedMedias", "EmbossedPfiData");
|
||||||
|
DropColumn("dbo.TestedMedias", "PriData");
|
||||||
|
DropColumn("dbo.TestedMedias", "BluSaiData");
|
||||||
|
DropColumn("dbo.TestedMedias", "BluDdsData");
|
||||||
|
DropColumn("dbo.TestedMedias", "BluBcaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "DvdSaiData");
|
||||||
|
DropColumn("dbo.TestedMedias", "DvdDdsData");
|
||||||
|
DropColumn("dbo.TestedMedias", "DvdAacsData");
|
||||||
|
DropColumn("dbo.TestedMedias", "DvdBcaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "CmiData");
|
||||||
|
DropColumn("dbo.TestedMedias", "DmiData");
|
||||||
|
DropColumn("dbo.TestedMedias", "PfiData");
|
||||||
|
DropColumn("dbo.TestedMedias", "PmaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "AtipData");
|
||||||
|
DropColumn("dbo.TestedMedias", "FullTocData");
|
||||||
|
DropColumn("dbo.TestedMedias", "TocData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadLongRetryLbaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadLongLbaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadLongRetryData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadLongData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadDmaLba48Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadLba48Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadDmaRetryLbaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadDmaLbaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadRetryLbaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadLbaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadDmaRetryData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadDmaData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadSectorsRetryData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadSectorsData");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadLong16Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "ReadLong10Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "Read16Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "Read12Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "Read10Data");
|
||||||
|
DropColumn("dbo.TestedMedias", "Read6Data");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -605,14 +605,7 @@ namespace DiscImageChef.Commands
|
|||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
if(!sense)
|
if(!sense)
|
||||||
{
|
{
|
||||||
if(options.Debug)
|
if(options.Debug) mediaTest.ReadLong10Data = buffer;
|
||||||
{
|
|
||||||
FileStream bingo =
|
|
||||||
new FileStream($"{mediaType}_readlong.bin",
|
|
||||||
FileMode.Create);
|
|
||||||
bingo.Write(buffer, 0, buffer.Length);
|
|
||||||
bingo.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
mediaTest.LongBlockSize = i;
|
mediaTest.LongBlockSize = i;
|
||||||
break;
|
break;
|
||||||
@@ -630,11 +623,10 @@ namespace DiscImageChef.Commands
|
|||||||
{
|
{
|
||||||
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
|
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
|
||||||
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
|
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
|
||||||
if(!sense)
|
if(!sense) mediaTest.ReadLong10Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readlong10",
|
|
||||||
"_debug_" + dev.Model + "_" + mediaType + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: READ LONG (16)
|
||||||
}
|
}
|
||||||
|
|
||||||
mediaTest.MediumTypeName = mediaType;
|
mediaTest.MediumTypeName = mediaType;
|
||||||
@@ -848,10 +840,7 @@ namespace DiscImageChef.Commands
|
|||||||
{
|
{
|
||||||
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
|
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
|
||||||
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
|
(ushort)mediaTest.LongBlockSize, dev.Timeout, out _);
|
||||||
if(!sense)
|
if(!sense) mediaTest.ReadLong10Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readlong10",
|
|
||||||
"_debug_" + mediaTest.MediumTypeName + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -891,13 +880,7 @@ namespace DiscImageChef.Commands
|
|||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
if(!sense)
|
if(!sense)
|
||||||
{
|
{
|
||||||
if(options.Debug)
|
if(options.Debug) report.SCSI.ReadCapabilities.ReadLong10Data = buffer;
|
||||||
{
|
|
||||||
FileStream bingo =
|
|
||||||
new FileStream($"{dev.Model}_readlong.bin", FileMode.Create);
|
|
||||||
bingo.Write(buffer, 0, buffer.Length);
|
|
||||||
bingo.Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
report.SCSI.ReadCapabilities.LongBlockSize = i;
|
report.SCSI.ReadCapabilities.LongBlockSize = i;
|
||||||
break;
|
break;
|
||||||
@@ -917,9 +900,7 @@ namespace DiscImageChef.Commands
|
|||||||
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
|
sense = dev.ReadLong10(out buffer, out senseBuffer, false, false, 0,
|
||||||
(ushort)report.SCSI.ReadCapabilities.LongBlockSize,
|
(ushort)report.SCSI.ReadCapabilities.LongBlockSize,
|
||||||
dev.Timeout, out _);
|
dev.Timeout, out _);
|
||||||
if(!sense)
|
if(!sense) report.SCSI.ReadCapabilities.ReadLong10Data = buffer;
|
||||||
DataFile.WriteTo("SCSI Report", "readlong10", "_debug_" + dev.Model + ".bin",
|
|
||||||
"read results", buffer);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user