diff --git a/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs b/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs
index 3a82a1957..edf71680e 100644
--- a/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs
+++ b/DiscImageChef.Core/Devices/Dumping/CompactDisc.cs
@@ -166,12 +166,12 @@ namespace DiscImageChef.Core.Devices.Dumping
foreach(FullTOC.TrackDataDescriptor track in toc.Value.TrackDescriptors)
{
- if(track.TNO == 1 && ((TOC_CONTROL)(track.CONTROL & 0x0D) == TOC_CONTROL.DataTrack ||
- (TOC_CONTROL)(track.CONTROL & 0x0D) ==
- TOC_CONTROL.DataTrackIncremental)) allFirstSessionTracksAreAudio &= firstTrackLastSession != 1;
+ if(track.TNO == 1 && ((TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrack ||
+ (TocControl)(track.CONTROL & 0x0D) ==
+ TocControl.DataTrackIncremental)) allFirstSessionTracksAreAudio &= firstTrackLastSession != 1;
- if((TOC_CONTROL)(track.CONTROL & 0x0D) == TOC_CONTROL.DataTrack ||
- (TOC_CONTROL)(track.CONTROL & 0x0D) == TOC_CONTROL.DataTrackIncremental)
+ if((TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrack ||
+ (TocControl)(track.CONTROL & 0x0D) == TocControl.DataTrackIncremental)
{
hasDataTrack = true;
allFirstSessionTracksAreAudio &= track.TNO >= firstTrackLastSession;
@@ -265,8 +265,8 @@ namespace DiscImageChef.Core.Devices.Dumping
{
Sequence = new TrackSequenceType {Session = trk.SessionNumber, TrackNumber = trk.POINT}
};
- if((TOC_CONTROL)(trk.CONTROL & 0x0D) == TOC_CONTROL.DataTrack ||
- (TOC_CONTROL)(trk.CONTROL & 0x0D) == TOC_CONTROL.DataTrackIncremental)
+ if((TocControl)(trk.CONTROL & 0x0D) == TocControl.DataTrack ||
+ (TocControl)(trk.CONTROL & 0x0D) == TocControl.DataTrackIncremental)
track.TrackType1 = TrackTypeTrackType.mode1;
else track.TrackType1 = TrackTypeTrackType.audio;
if(trk.PHOUR > 0)
diff --git a/DiscImageChef.Core/Devices/ReaderATA.cs b/DiscImageChef.Core/Devices/ReaderATA.cs
index 7c69ffd89..355760a21 100644
--- a/DiscImageChef.Core/Devices/ReaderATA.cs
+++ b/DiscImageChef.Core/Devices/ReaderATA.cs
@@ -103,33 +103,33 @@ namespace DiscImageChef.Core.Devices
bool AtaFindReadCommand()
{
- bool sense = dev.Read(out byte[] cmdBuf, out AtaErrorRegistersCHS errorChs, false, 0, 0, 1, 1, timeout, out _);
- ataRead = !sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0 && cmdBuf.Length > 0;
+ bool sense = dev.Read(out byte[] cmdBuf, out AtaErrorRegistersChs errorChs, false, 0, 0, 1, 1, timeout, out _);
+ ataRead = !sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0 && cmdBuf.Length > 0;
sense = dev.Read(out cmdBuf, out errorChs, true, 0, 0, 1, 1, timeout, out _);
- ataReadRetry = !sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0 && cmdBuf.Length > 0;
+ ataReadRetry = !sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0 && cmdBuf.Length > 0;
sense = dev.ReadDma(out cmdBuf, out errorChs, false, 0, 0, 1, 1, timeout, out _);
- ataReadDma = !sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0 && cmdBuf.Length > 0;
+ ataReadDma = !sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0 && cmdBuf.Length > 0;
sense = dev.ReadDma(out cmdBuf, out errorChs, true, 0, 0, 1, 1, timeout, out _);
- ataReadDmaRetry = !sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0 && cmdBuf.Length > 0;
+ ataReadDmaRetry = !sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0 && cmdBuf.Length > 0;
- sense = dev.Read(out cmdBuf, out AtaErrorRegistersLBA28 errorLba, false, 0, 1, timeout, out _);
- ataReadLba = !sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && cmdBuf.Length > 0;
+ sense = dev.Read(out cmdBuf, out AtaErrorRegistersLba28 errorLba, false, 0, 1, timeout, out _);
+ ataReadLba = !sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && cmdBuf.Length > 0;
sense = dev.Read(out cmdBuf, out errorLba, true, 0, 1, timeout, out _);
- ataReadRetryLba = !sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && cmdBuf.Length > 0;
+ ataReadRetryLba = !sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && cmdBuf.Length > 0;
sense = dev.ReadDma(out cmdBuf, out errorLba, false, 0, 1, timeout, out _);
- ataReadDmaLba = !sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && cmdBuf.Length > 0;
+ ataReadDmaLba = !sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && cmdBuf.Length > 0;
sense = dev.ReadDma(out cmdBuf, out errorLba, true, 0, 1, timeout, out _);
- ataReadDmaRetryLba = !sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && cmdBuf.Length > 0;
+ ataReadDmaRetryLba = !sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && cmdBuf.Length > 0;
- sense = dev.Read(out cmdBuf, out AtaErrorRegistersLBA48 errorLba48, 0, 1, timeout, out _);
- ataReadLba48 = !sense && (errorLba48.status & 0x27) == 0 && errorLba48.error == 0 && cmdBuf.Length > 0;
+ sense = dev.Read(out cmdBuf, out AtaErrorRegistersLba48 errorLba48, 0, 1, timeout, out _);
+ ataReadLba48 = !sense && (errorLba48.Status & 0x27) == 0 && errorLba48.Error == 0 && cmdBuf.Length > 0;
sense = dev.ReadDma(out cmdBuf, out errorLba48, 0, 1, timeout, out _);
- ataReadDmaLba48 = !sense && (errorLba48.status & 0x27) == 0 && errorLba48.error == 0 && cmdBuf.Length > 0;
+ ataReadDmaLba48 = !sense && (errorLba48.Status & 0x27) == 0 && errorLba48.Error == 0 && cmdBuf.Length > 0;
sense = dev.Seek(out errorChs, 0, 0, 1, timeout, out _);
- ataSeek = !sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0;
+ ataSeek = !sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0;
sense = dev.Seek(out errorLba, 0, timeout, out _);
- ataSeekLba = !sense && (errorLba.status & 0x27) == 0 && errorChs.error == 0;
+ ataSeekLba = !sense && (errorLba.Status & 0x27) == 0 && errorChs.Error == 0;
if(IsLba)
{
@@ -216,39 +216,39 @@ namespace DiscImageChef.Core.Devices
{
byte[] cmdBuf;
bool sense;
- AtaErrorRegistersLBA48 errorLba48;
+ AtaErrorRegistersLba48 errorLba48;
if(ataReadDmaLba48)
{
sense = dev.ReadDma(out cmdBuf, out errorLba48, 0, (byte)BlocksToRead, timeout, out _);
- error = !(!sense && (errorLba48.status & 0x27) == 0 && errorLba48.error == 0 && cmdBuf.Length > 0);
+ error = !(!sense && (errorLba48.Status & 0x27) == 0 && errorLba48.Error == 0 && cmdBuf.Length > 0);
}
else if(ataReadLba48)
{
sense = dev.Read(out cmdBuf, out errorLba48, 0, (byte)BlocksToRead, timeout, out _);
- error = !(!sense && (errorLba48.status & 0x27) == 0 && errorLba48.error == 0 && cmdBuf.Length > 0);
+ error = !(!sense && (errorLba48.Status & 0x27) == 0 && errorLba48.Error == 0 && cmdBuf.Length > 0);
}
else
{
- AtaErrorRegistersLBA28 errorLba;
+ AtaErrorRegistersLba28 errorLba;
if(ataReadDmaRetryLba)
{
sense = dev.ReadDma(out cmdBuf, out errorLba, true, 0, (byte)BlocksToRead, timeout, out _);
- error = !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && cmdBuf.Length > 0);
+ error = !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && cmdBuf.Length > 0);
}
else if(ataReadDmaLba)
{
sense = dev.ReadDma(out cmdBuf, out errorLba, false, 0, (byte)BlocksToRead, timeout, out _);
- error = !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && cmdBuf.Length > 0);
+ error = !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && cmdBuf.Length > 0);
}
else if(ataReadRetryLba)
{
sense = dev.Read(out cmdBuf, out errorLba, true, 0, (byte)BlocksToRead, timeout, out _);
- error = !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && cmdBuf.Length > 0);
+ error = !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && cmdBuf.Length > 0);
}
else if(ataReadLba)
{
sense = dev.Read(out cmdBuf, out errorLba, false, 0, (byte)BlocksToRead, timeout, out _);
- error = !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && cmdBuf.Length > 0);
+ error = !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && cmdBuf.Length > 0);
}
}
@@ -268,8 +268,8 @@ namespace DiscImageChef.Core.Devices
{
bool error = true;
bool sense;
- AtaErrorRegistersLBA28 errorLba;
- AtaErrorRegistersLBA48 errorLba48;
+ AtaErrorRegistersLba28 errorLba;
+ AtaErrorRegistersLba48 errorLba48;
byte status = 0, errorByte = 0;
buffer = null;
duration = 0;
@@ -277,44 +277,44 @@ namespace DiscImageChef.Core.Devices
if(ataReadDmaLba48)
{
sense = dev.ReadDma(out buffer, out errorLba48, block, (byte)count, timeout, out duration);
- error = !(!sense && (errorLba48.status & 0x27) == 0 && errorLba48.error == 0 && buffer.Length > 0);
- status = errorLba48.status;
- errorByte = errorLba48.error;
+ error = !(!sense && (errorLba48.Status & 0x27) == 0 && errorLba48.Error == 0 && buffer.Length > 0);
+ status = errorLba48.Status;
+ errorByte = errorLba48.Error;
}
else if(ataReadLba48)
{
sense = dev.Read(out buffer, out errorLba48, block, (byte)count, timeout, out duration);
- error = !(!sense && (errorLba48.status & 0x27) == 0 && errorLba48.error == 0 && buffer.Length > 0);
- status = errorLba48.status;
- errorByte = errorLba48.error;
+ error = !(!sense && (errorLba48.Status & 0x27) == 0 && errorLba48.Error == 0 && buffer.Length > 0);
+ status = errorLba48.Status;
+ errorByte = errorLba48.Error;
}
else if(ataReadDmaRetryLba)
{
sense = dev.ReadDma(out buffer, out errorLba, true, (uint)block, (byte)count, timeout, out duration);
- error = !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && buffer.Length > 0);
- status = errorLba.status;
- errorByte = errorLba.error;
+ error = !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && buffer.Length > 0);
+ status = errorLba.Status;
+ errorByte = errorLba.Error;
}
else if(ataReadDmaLba)
{
sense = dev.ReadDma(out buffer, out errorLba, false, (uint)block, (byte)count, timeout, out duration);
- error = !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && buffer.Length > 0);
- status = errorLba.status;
- errorByte = errorLba.error;
+ error = !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && buffer.Length > 0);
+ status = errorLba.Status;
+ errorByte = errorLba.Error;
}
else if(ataReadRetryLba)
{
sense = dev.Read(out buffer, out errorLba, true, (uint)block, (byte)count, timeout, out duration);
- error = !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && buffer.Length > 0);
- status = errorLba.status;
- errorByte = errorLba.error;
+ error = !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && buffer.Length > 0);
+ status = errorLba.Status;
+ errorByte = errorLba.Error;
}
else if(ataReadLba)
{
sense = dev.Read(out buffer, out errorLba, false, (uint)block, (byte)count, timeout, out duration);
- error = !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0 && buffer.Length > 0);
- status = errorLba.status;
- errorByte = errorLba.error;
+ error = !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0 && buffer.Length > 0);
+ status = errorLba.Status;
+ errorByte = errorLba.Error;
}
if(error) DicConsole.DebugWriteLine("ATA Reader", "ATA ERROR: {0} STATUS: {1}", errorByte, status);
@@ -326,7 +326,7 @@ namespace DiscImageChef.Core.Devices
{
bool error = true;
bool sense;
- AtaErrorRegistersCHS errorChs;
+ AtaErrorRegistersChs errorChs;
byte status = 0, errorByte = 0;
buffer = null;
duration = 0;
@@ -334,30 +334,30 @@ namespace DiscImageChef.Core.Devices
if(ataReadDmaRetry)
{
sense = dev.ReadDma(out buffer, out errorChs, true, cylinder, head, sectir, 1, timeout, out duration);
- error = !(!sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0 && buffer.Length > 0);
- status = errorChs.status;
- errorByte = errorChs.error;
+ error = !(!sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0 && buffer.Length > 0);
+ status = errorChs.Status;
+ errorByte = errorChs.Error;
}
else if(ataReadDma)
{
sense = dev.ReadDma(out buffer, out errorChs, false, cylinder, head, sectir, 1, timeout, out duration);
- error = !(!sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0 && buffer.Length > 0);
- status = errorChs.status;
- errorByte = errorChs.error;
+ error = !(!sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0 && buffer.Length > 0);
+ status = errorChs.Status;
+ errorByte = errorChs.Error;
}
else if(ataReadRetry)
{
sense = dev.Read(out buffer, out errorChs, true, cylinder, head, sectir, 1, timeout, out duration);
- error = !(!sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0 && buffer.Length > 0);
- status = errorChs.status;
- errorByte = errorChs.error;
+ error = !(!sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0 && buffer.Length > 0);
+ status = errorChs.Status;
+ errorByte = errorChs.Error;
}
else if(ataRead)
{
sense = dev.Read(out buffer, out errorChs, false, cylinder, head, sectir, 1, timeout, out duration);
- error = !(!sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0 && buffer.Length > 0);
- status = errorChs.status;
- errorByte = errorChs.error;
+ error = !(!sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0 && buffer.Length > 0);
+ status = errorChs.Status;
+ errorByte = errorChs.Error;
}
if(error) DicConsole.DebugWriteLine("ATA Reader", "ATA ERROR: {0} STATUS: {1}", errorByte, status);
@@ -367,14 +367,14 @@ namespace DiscImageChef.Core.Devices
bool AtaSeek(ulong block, out double duration)
{
- bool sense = dev.Seek(out AtaErrorRegistersLBA28 errorLba, (uint)block, timeout, out duration);
- return !(!sense && (errorLba.status & 0x27) == 0 && errorLba.error == 0);
+ bool sense = dev.Seek(out AtaErrorRegistersLba28 errorLba, (uint)block, timeout, out duration);
+ return !(!sense && (errorLba.Status & 0x27) == 0 && errorLba.Error == 0);
}
bool AtaSeekChs(ushort cylinder, byte head, byte sector, out double duration)
{
- bool sense = dev.Seek(out AtaErrorRegistersCHS errorChs, cylinder, head, sector, timeout, out duration);
- return !(!sense && (errorChs.status & 0x27) == 0 && errorChs.error == 0);
+ bool sense = dev.Seek(out AtaErrorRegistersChs errorChs, cylinder, head, sector, timeout, out duration);
+ return !(!sense && (errorChs.Status & 0x27) == 0 && errorChs.Error == 0);
}
}
}
\ No newline at end of file
diff --git a/DiscImageChef.Core/Devices/Report/ATA.cs b/DiscImageChef.Core/Devices/Report/ATA.cs
index b559b1aad..372c3658c 100644
--- a/DiscImageChef.Core/Devices/Report/ATA.cs
+++ b/DiscImageChef.Core/Devices/Report/ATA.cs
@@ -681,13 +681,13 @@ namespace DiscImageChef.Core.Devices.Report
bool sense;
DicConsole.WriteLine("Trying READ SECTOR(S) in CHS mode...");
- sense = dev.Read(out byte[] readBuf, out AtaErrorRegistersCHS errorChs, false, 0, 0, 1, 1, TIMEOUT, out _);
+ sense = dev.Read(out byte[] readBuf, out AtaErrorRegistersChs errorChs, false, 0, 0, 1, 1, TIMEOUT, out _);
mediaTest.SupportsRead =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 0 &&
+ !sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 &&
readBuf.Length > 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectorschs",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -696,11 +696,11 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in CHS mode...");
sense = dev.Read(out readBuf, out errorChs, true, 0, 0, 1, 1, TIMEOUT, out _);
mediaTest.SupportsReadRetry =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 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}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectorsretrychs",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -710,11 +710,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadDma(out readBuf, out errorChs, false, 0, 0, 1, 1, TIMEOUT,
out _);
mediaTest.SupportsReadDma =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 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}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdmachs",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -723,11 +723,11 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA RETRY in CHS mode...");
sense = dev.ReadDma(out readBuf, out errorChs, true, 0, 0, 1, 1, TIMEOUT, out _);
mediaTest.SupportsReadDmaRetry =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 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}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdmaretrychs",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -736,19 +736,19 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying SEEK in CHS mode...");
sense = dev.Seek(out errorChs, 0, 0, 1, TIMEOUT, out _);
mediaTest.SupportsSeek =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 0;
+ !sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}", sense,
- errorChs.status, errorChs.error);
+ errorChs.Status, errorChs.Error);
DicConsole.WriteLine("Trying READ SECTOR(S) in LBA mode...");
- sense = dev.Read(out readBuf, out AtaErrorRegistersLBA28 errorLba, false, 0, 1, TIMEOUT, out _);
+ sense = dev.Read(out readBuf, out AtaErrorRegistersLba28 errorLba, false, 0, 1, TIMEOUT, out _);
mediaTest.SupportsReadLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 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}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectors",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -757,11 +757,11 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in LBA mode...");
sense = dev.Read(out readBuf, out errorLba, true, 0, 1, TIMEOUT, out _);
mediaTest.SupportsReadRetryLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 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}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectorsretry",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -770,11 +770,11 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA in LBA mode...");
sense = dev.ReadDma(out readBuf, out errorLba, false, 0, 1, TIMEOUT, out _);
mediaTest.SupportsReadDmaLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 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}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdma",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -783,11 +783,11 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA RETRY in LBA mode...");
sense = dev.ReadDma(out readBuf, out errorLba, true, 0, 1, TIMEOUT, out _);
mediaTest.SupportsReadDmaRetryLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 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}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdmaretry",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -796,19 +796,19 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying SEEK in LBA mode...");
sense = dev.Seek(out errorLba, 0, TIMEOUT, out _);
mediaTest.SupportsSeekLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 0;
+ !sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}", sense,
- errorChs.status, errorChs.error);
+ errorChs.Status, errorChs.Error);
DicConsole.WriteLine("Trying READ SECTOR(S) in LBA48 mode...");
- sense = dev.Read(out readBuf, out AtaErrorRegistersLBA48 errorLba48, 0, 1, TIMEOUT, out _);
+ sense = dev.Read(out readBuf, out AtaErrorRegistersLba48 errorLba48, 0, 1, TIMEOUT, out _);
mediaTest.SupportsReadLba48 =
- !sense && (errorLba48.status & 0x01) != 0x01 && errorLba48.error == 0 &&
+ !sense && (errorLba48.Status & 0x01) != 0x01 && errorLba48.Error == 0 &&
readBuf.Length > 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectors48",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -817,11 +817,11 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA in LBA48 mode...");
sense = dev.ReadDma(out readBuf, out errorLba48, 0, 1, TIMEOUT, out _);
mediaTest.SupportsReadDmaLba48 =
- !sense && (errorLba48.status & 0x01) != 0x01 && errorLba48.error == 0 &&
+ !sense && (errorLba48.Status & 0x01) != 0x01 && errorLba48.Error == 0 &&
readBuf.Length > 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}",
- sense, errorChs.status, errorChs.error, readBuf.Length);
+ sense, errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdma48",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -831,11 +831,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadLong(out readBuf, out errorChs, false, 0, 0, 1, mediaTest.LongBlockSize,
TIMEOUT, out _);
mediaTest.SupportsReadLong =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 0 &&
+ !sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 &&
readBuf.Length > 0 && BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
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)
DataFile.WriteTo("ATA Report", "readlongchs",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -845,11 +845,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadLong(out readBuf, out errorChs, true, 0, 0, 1, mediaTest.LongBlockSize,
TIMEOUT, out _);
mediaTest.SupportsReadLongRetry =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 0 &&
+ !sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 &&
readBuf.Length > 0 && BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
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)
DataFile.WriteTo("ATA Report", "readlongretrychs",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -859,11 +859,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadLong(out readBuf, out errorLba, false, 0, mediaTest.LongBlockSize,
TIMEOUT, out _);
mediaTest.SupportsReadLongLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 0 &&
+ !sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0 &&
readBuf.Length > 0 && BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
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)
DataFile.WriteTo("ATA Report", "readlong",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -873,11 +873,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadLong(out readBuf, out errorLba, true, 0, mediaTest.LongBlockSize,
TIMEOUT, out _);
mediaTest.SupportsReadLongRetryLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 0 &&
+ !sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0 &&
readBuf.Length > 0 && BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
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)
DataFile.WriteTo("ATA Report", "readlongretry",
"_debug_" + mediaTest.MediumTypeName + ".bin", "read results",
@@ -1048,12 +1048,12 @@ namespace DiscImageChef.Core.Devices.Report
bool sense;
DicConsole.WriteLine("Trying READ SECTOR(S) in CHS mode...");
- sense = dev.Read(out byte[] readBuf, out AtaErrorRegistersCHS errorChs, false, 0, 0, 1, 1, TIMEOUT, out _);
+ sense = dev.Read(out byte[] readBuf, out AtaErrorRegistersChs errorChs, false, 0, 0, 1, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsRead =
- !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}", sense,
- errorChs.status, errorChs.error, readBuf.Length);
+ errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectorschs", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1061,10 +1061,10 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in CHS mode...");
sense = dev.Read(out readBuf, out errorChs, true, 0, 0, 1, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadRetry =
- !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}", sense,
- errorChs.status, errorChs.error, readBuf.Length);
+ errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectorsretrychs", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1072,10 +1072,10 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA in CHS mode...");
sense = dev.ReadDma(out readBuf, out errorChs, false, 0, 0, 1, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadDma =
- !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}", sense,
- errorChs.status, errorChs.error, readBuf.Length);
+ errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdmachs", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1083,10 +1083,10 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA RETRY in CHS mode...");
sense = dev.ReadDma(out readBuf, out errorChs, true, 0, 0, 1, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadDmaRetry =
- !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}", sense,
- errorChs.status, errorChs.error, readBuf.Length);
+ errorChs.Status, errorChs.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdmaretrychs", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1094,17 +1094,17 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying SEEK in CHS mode...");
sense = dev.Seek(out errorChs, 0, 0, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsSeek =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 0;
+ !sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0;
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}", sense,
- errorChs.status, errorChs.error);
+ errorChs.Status, errorChs.Error);
DicConsole.WriteLine("Trying READ SECTOR(S) in LBA mode...");
- sense = dev.Read(out readBuf, out AtaErrorRegistersLBA28 errorLba, false, 0, 1, TIMEOUT, out _);
+ sense = dev.Read(out readBuf, out AtaErrorRegistersLba28 errorLba, false, 0, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadLba =
- !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}", sense,
- errorLba.status, errorLba.error, readBuf.Length);
+ errorLba.Status, errorLba.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectors", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1112,10 +1112,10 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ SECTOR(S) RETRY in LBA mode...");
sense = dev.Read(out readBuf, out errorLba, true, 0, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadRetryLba =
- !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}", sense,
- errorLba.status, errorLba.error, readBuf.Length);
+ errorLba.Status, errorLba.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectorsretry", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1123,10 +1123,10 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA in LBA mode...");
sense = dev.ReadDma(out readBuf, out errorLba, false, 0, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadDmaLba =
- !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}", sense,
- errorLba.status, errorLba.error, readBuf.Length);
+ errorLba.Status, errorLba.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdma", "_debug_" + report.ATA.Model + ".bin", "read results",
readBuf);
@@ -1134,10 +1134,10 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA RETRY in LBA mode...");
sense = dev.ReadDma(out readBuf, out errorLba, true, 0, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadDmaRetryLba =
- !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}", sense,
- errorLba.status, errorLba.error, readBuf.Length);
+ errorLba.Status, errorLba.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdmaretry", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1145,17 +1145,17 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying SEEK in LBA mode...");
sense = dev.Seek(out errorLba, 0, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsSeekLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 0;
+ !sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0;
DicConsole.DebugWriteLine("ATA Report", "Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}", sense,
- errorLba.status, errorLba.error);
+ errorLba.Status, errorLba.Error);
DicConsole.WriteLine("Trying READ SECTOR(S) in LBA48 mode...");
- sense = dev.Read(out readBuf, out AtaErrorRegistersLBA48 errorLba48, 0, 1, TIMEOUT, out _);
+ sense = dev.Read(out readBuf, out AtaErrorRegistersLba48 errorLba48, 0, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadLba48 =
- !sense && (errorLba48.status & 0x01) != 0x01 && errorLba48.error == 0 && readBuf.Length > 0;
+ !sense && (errorLba48.Status & 0x01) != 0x01 && errorLba48.Error == 0 && readBuf.Length > 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
- errorLba48.status, errorLba48.error, readBuf.Length);
+ errorLba48.Status, errorLba48.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readsectors48", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1163,10 +1163,10 @@ namespace DiscImageChef.Core.Devices.Report
DicConsole.WriteLine("Trying READ DMA in LBA48 mode...");
sense = dev.ReadDma(out readBuf, out errorLba48, 0, 1, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadDmaLba48 =
- !sense && (errorLba48.status & 0x01) != 0x01 && errorLba48.error == 0 && readBuf.Length > 0;
+ !sense && (errorLba48.Status & 0x01) != 0x01 && errorLba48.Error == 0 && readBuf.Length > 0;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
- errorLba48.status, errorLba48.error, readBuf.Length);
+ errorLba48.Status, errorLba48.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readdma48", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1175,11 +1175,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadLong(out readBuf, out errorChs, false, 0, 0, 1,
report.ATA.ReadCapabilities.LongBlockSize, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadLong =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 0 && readBuf.Length > 0 &&
+ !sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 && readBuf.Length > 0 &&
BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
DicConsole.DebugWriteLine("ATA Report",
"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)
DataFile.WriteTo("ATA Report", "readlongchs", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1188,11 +1188,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadLong(out readBuf, out errorChs, true, 0, 0, 1,
report.ATA.ReadCapabilities.LongBlockSize, TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadLongRetry =
- !sense && (errorChs.status & 0x01) != 0x01 && errorChs.error == 0 && readBuf.Length > 0 &&
+ !sense && (errorChs.Status & 0x01) != 0x01 && errorChs.Error == 0 && readBuf.Length > 0 &&
BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
DicConsole.DebugWriteLine("ATA Report",
"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)
DataFile.WriteTo("ATA Report", "readlongretrychs", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1201,11 +1201,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadLong(out readBuf, out errorLba, false, 0, report.ATA.ReadCapabilities.LongBlockSize,
TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadLongLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 0 && readBuf.Length > 0 &&
+ !sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0 && readBuf.Length > 0 &&
BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
- errorLba.status, errorLba.error, readBuf.Length);
+ errorLba.Status, errorLba.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readlong", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
@@ -1214,11 +1214,11 @@ namespace DiscImageChef.Core.Devices.Report
sense = dev.ReadLong(out readBuf, out errorLba, true, 0, report.ATA.ReadCapabilities.LongBlockSize,
TIMEOUT, out _);
report.ATA.ReadCapabilities.SupportsReadLongRetryLba =
- !sense && (errorLba.status & 0x01) != 0x01 && errorLba.error == 0 && readBuf.Length > 0 &&
+ !sense && (errorLba.Status & 0x01) != 0x01 && errorLba.Error == 0 && readBuf.Length > 0 &&
BitConverter.ToUInt64(readBuf, 0) != checkCorrectRead;
DicConsole.DebugWriteLine("ATA Report",
"Sense = {0}, Status = 0x{1:X2}, Error = 0x{2:X2}, Length = {3}", sense,
- errorLba.status, errorLba.error, readBuf.Length);
+ errorLba.Status, errorLba.Error, readBuf.Length);
if(debug)
DataFile.WriteTo("ATA Report", "readlongretry", "_debug_" + report.ATA.Model + ".bin",
"read results", readBuf);
diff --git a/DiscImageChef.Decoders/ATA/Identify.cs b/DiscImageChef.Decoders/ATA/Identify.cs
index 8943b860e..f0161ccf9 100644
--- a/DiscImageChef.Decoders/ATA/Identify.cs
+++ b/DiscImageChef.Decoders/ATA/Identify.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using System.Text;
using DiscImageChef.Console;
@@ -52,6 +53,9 @@ namespace DiscImageChef.Decoders.ATA
/// T13-2161D rev. 5 (ACS-3)
/// CF+ & CF Specification rev. 1.4 (CFA)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Identify
{
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 2)]
@@ -3151,9 +3155,9 @@ namespace DiscImageChef.Decoders.ATA
if(ATAID.Capabilities3.HasFlag(CapabilitiesBit3.Sanitize))
{
sb.AppendLine().Append("Sanitize feature set is supported");
- if(ATAID.Capabilities3.HasFlag(CapabilitiesBit3.SanitizeCommands))
- sb.AppendLine().Append("Sanitize commands are specified by ACS-3 or higher");
- else sb.AppendLine().Append("Sanitize commands are specified by ACS-2");
+ sb.AppendLine().Append(ATAID.Capabilities3.HasFlag(CapabilitiesBit3.SanitizeCommands)
+ ? "Sanitize commands are specified by ACS-3 or higher"
+ : "Sanitize commands are specified by ACS-2");
if(ATAID.Capabilities3.HasFlag(CapabilitiesBit3.SanitizeAntifreeze))
sb.AppendLine().Append("SANITIZE ANTIFREEZE LOCK EXT is supported");
@@ -3239,19 +3243,21 @@ namespace DiscImageChef.Decoders.ATA
if(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Enabled))
{
sb.AppendLine("Security is enabled");
- if(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Locked)) sb.AppendLine("Security is locked");
- else sb.AppendLine("Security is not locked");
+ sb.AppendLine(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Locked)
+ ? "Security is locked"
+ : "Security is not locked");
- if(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Frozen)) sb.AppendLine("Security is frozen");
- else sb.AppendLine("Security is not frozen");
+ sb.AppendLine(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Frozen)
+ ? "Security is frozen"
+ : "Security is not frozen");
- if(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Expired))
- sb.AppendLine("Security count has expired");
- else sb.AppendLine("Security count has notexpired");
+ sb.AppendLine(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Expired)
+ ? "Security count has expired"
+ : "Security count has notexpired");
- if(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Maximum))
- sb.AppendLine("Security level is maximum");
- else sb.AppendLine("Security level is high");
+ sb.AppendLine(ATAID.SecurityStatus.HasFlag(SecurityStatusBit.Maximum)
+ ? "Security level is maximum"
+ : "Security level is high");
}
else sb.AppendLine("Security is not enabled");
@@ -3382,8 +3388,7 @@ namespace DiscImageChef.Decoders.ATA
static string DescrambleATAString(byte[] buffer, int offset, int length)
{
- byte[] outbuf;
- outbuf = buffer[offset + length - 1] != 0x00 ? new byte[length + 1] : new byte[length];
+ byte[] outbuf = buffer[offset + length - 1] != 0x00 ? new byte[length + 1] : new byte[length];
for(int i = 0; i < length; i += 2)
{
diff --git a/DiscImageChef.Decoders/ATA/Registers.cs b/DiscImageChef.Decoders/ATA/Registers.cs
index 965daec30..00a7009db 100644
--- a/DiscImageChef.Decoders/ATA/Registers.cs
+++ b/DiscImageChef.Decoders/ATA/Registers.cs
@@ -32,72 +32,72 @@
namespace DiscImageChef.Decoders.ATA
{
- public struct AtaRegistersCHS
+ public struct AtaRegistersChs
{
- public byte feature;
- public byte sectorCount;
- public byte sector;
- public byte cylinderLow;
- public byte cylinderHigh;
- public byte deviceHead;
- public byte command;
+ public byte Feature;
+ public byte SectorCount;
+ public byte Sector;
+ public byte CylinderLow;
+ public byte CylinderHigh;
+ public byte DeviceHead;
+ public byte Command;
}
- public struct AtaRegistersLBA28
+ public struct AtaRegistersLba28
{
- public byte feature;
- public byte sectorCount;
- public byte lbaLow;
- public byte lbaMid;
- public byte lbaHigh;
- public byte deviceHead;
- public byte command;
+ public byte Feature;
+ public byte SectorCount;
+ public byte LbaLow;
+ public byte LbaMid;
+ public byte LbaHigh;
+ public byte DeviceHead;
+ public byte Command;
}
- public struct AtaRegistersLBA48
+ public struct AtaRegistersLba48
{
- public ushort feature;
- public ushort sectorCount;
- public ushort lbaLow;
- public ushort lbaMid;
- public ushort lbaHigh;
- public byte deviceHead;
- public byte command;
+ public ushort Feature;
+ public ushort SectorCount;
+ public ushort LbaLow;
+ public ushort LbaMid;
+ public ushort LbaHigh;
+ public byte DeviceHead;
+ public byte Command;
}
- public struct AtaErrorRegistersCHS
+ public struct AtaErrorRegistersChs
{
- public byte status;
- public byte error;
- public byte sectorCount;
- public byte sector;
- public byte cylinderLow;
- public byte cylinderHigh;
- public byte deviceHead;
- public byte command;
+ public byte Status;
+ public byte Error;
+ public byte SectorCount;
+ public byte Sector;
+ public byte CylinderLow;
+ public byte CylinderHigh;
+ public byte DeviceHead;
+ public byte Command;
}
- public struct AtaErrorRegistersLBA28
+ public struct AtaErrorRegistersLba28
{
- public byte status;
- public byte error;
- public byte sectorCount;
- public byte lbaLow;
- public byte lbaMid;
- public byte lbaHigh;
- public byte deviceHead;
- public byte command;
+ public byte Status;
+ public byte Error;
+ public byte SectorCount;
+ public byte LbaLow;
+ public byte LbaMid;
+ public byte LbaHigh;
+ public byte DeviceHead;
+ public byte Command;
}
- public struct AtaErrorRegistersLBA48
+ public struct AtaErrorRegistersLba48
{
- public byte status;
- public byte error;
- public ushort sectorCount;
- public ushort lbaLow;
- public ushort lbaMid;
- public ushort lbaHigh;
- public byte deviceHead;
- public byte command;
+ public byte Status;
+ public byte Error;
+ public ushort SectorCount;
+ public ushort LbaLow;
+ public ushort LbaMid;
+ public ushort LbaHigh;
+ public byte DeviceHead;
+ public byte Command;
}
}
\ No newline at end of file
diff --git a/DiscImageChef.Decoders/Blu-ray/BCA.cs b/DiscImageChef.Decoders/Blu-ray/BCA.cs
index a9684fbea..e9be91189 100644
--- a/DiscImageChef.Decoders/Blu-ray/BCA.cs
+++ b/DiscImageChef.Decoders/Blu-ray/BCA.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -51,6 +52,10 @@ namespace DiscImageChef.Decoders.Bluray
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class BCA
{
#region Public methods
diff --git a/DiscImageChef.Decoders/Blu-ray/Cartridge.cs b/DiscImageChef.Decoders/Blu-ray/Cartridge.cs
index b14ad3555..99ad147ca 100644
--- a/DiscImageChef.Decoders/Blu-ray/Cartridge.cs
+++ b/DiscImageChef.Decoders/Blu-ray/Cartridge.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -51,6 +52,11 @@ namespace DiscImageChef.Decoders.Bluray
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
+ [SuppressMessage("ReSharper", "UnassignedField.Global")]
public static class Cartridge
{
#region Public methods
diff --git a/DiscImageChef.Decoders/Blu-ray/DDS.cs b/DiscImageChef.Decoders/Blu-ray/DDS.cs
index 2c59db39d..8c7d97c3e 100644
--- a/DiscImageChef.Decoders/Blu-ray/DDS.cs
+++ b/DiscImageChef.Decoders/Blu-ray/DDS.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -51,6 +52,10 @@ namespace DiscImageChef.Decoders.Bluray
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class DDS
{
#region Private constants
diff --git a/DiscImageChef.Decoders/Blu-ray/DI.cs b/DiscImageChef.Decoders/Blu-ray/DI.cs
index 24d5938c9..2fe49b2b4 100644
--- a/DiscImageChef.Decoders/Blu-ray/DI.cs
+++ b/DiscImageChef.Decoders/Blu-ray/DI.cs
@@ -32,6 +32,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -52,6 +53,10 @@ namespace DiscImageChef.Decoders.Bluray
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class DI
{
#region Private constants
@@ -93,8 +98,10 @@ namespace DiscImageChef.Decoders.Bluray
{
if(offset >= 100) break;
- DiscInformationUnits unit = new DiscInformationUnits();
- unit.Signature = BigEndianBitConverter.ToUInt16(DIResponse, 0 + offset);
+ DiscInformationUnits unit = new DiscInformationUnits
+ {
+ Signature = BigEndianBitConverter.ToUInt16(DIResponse, 0 + offset)
+ };
if(unit.Signature != DIUIdentifier) break;
diff --git a/DiscImageChef.Decoders/Blu-ray/Spare.cs b/DiscImageChef.Decoders/Blu-ray/Spare.cs
index 5fc35712e..6a80d2219 100644
--- a/DiscImageChef.Decoders/Blu-ray/Spare.cs
+++ b/DiscImageChef.Decoders/Blu-ray/Spare.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -51,6 +52,10 @@ namespace DiscImageChef.Decoders.Bluray
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class Spare
{
#region Public methods
diff --git a/DiscImageChef.Decoders/CD/ATIP.cs b/DiscImageChef.Decoders/CD/ATIP.cs
index 8356842c5..a98ba97e9 100644
--- a/DiscImageChef.Decoders/CD/ATIP.cs
+++ b/DiscImageChef.Decoders/CD/ATIP.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -51,6 +52,10 @@ namespace DiscImageChef.Decoders.CD
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class ATIP
{
public struct CDATIP
@@ -292,8 +297,7 @@ namespace DiscImageChef.Decoders.CD
if(response.DDCD)
{
sb.AppendFormat("Indicative Target Writing Power: 0x{0:X2}", response.ITWP).AppendLine();
- if(response.DiscType) sb.AppendLine("Disc is DDCD-RW");
- else sb.AppendLine("Disc is DDCD-R");
+ sb.AppendLine(response.DiscType ? "Disc is DDCD-RW" : "Disc is DDCD-R");
switch(response.ReferenceSpeed)
{
case 2:
@@ -398,8 +402,7 @@ namespace DiscImageChef.Decoders.CD
}
}
- if(response.URU) sb.AppendLine("Disc use is unrestricted");
- else sb.AppendLine("Disc use is restricted");
+ sb.AppendLine(response.URU ? "Disc use is unrestricted" : "Disc use is restricted");
sb.AppendFormat("ATIP Start time of Lead-in: {0}:{1:D2}:{2:D2}", response.LeadInStartMin,
response.LeadInStartSec, response.LeadInStartFrame).AppendLine();
@@ -428,16 +431,16 @@ namespace DiscImageChef.Decoders.CD
int type = response.LeadInStartFrame % 10;
int frm = response.LeadInStartFrame - type;
- string manufacturer;
if(response.DiscType) sb.AppendLine("Disc uses phase change");
else
{
- if(type < 5) sb.AppendLine("Disc uses long strategy type dye (Cyanine, AZO, etc...)");
- else sb.AppendLine("Disc uses short strategy type dye (Phthalocyanine, etc...)");
+ sb.AppendLine(type < 5
+ ? "Disc uses long strategy type dye (Cyanine, AZO, etc...)"
+ : "Disc uses short strategy type dye (Phthalocyanine, etc...)");
}
- manufacturer = ManufacturerFromATIP(response.LeadInStartSec, frm);
+ string manufacturer = ManufacturerFromATIP(response.LeadInStartSec, frm);
if(manufacturer != "") sb.AppendFormat("Disc manufactured by: {0}", manufacturer).AppendLine();
diff --git a/DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs b/DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs
index 2732bf6a6..832ccfe27 100644
--- a/DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs
+++ b/DiscImageChef.Decoders/CD/CDTextOnLeadIn.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -51,6 +52,10 @@ namespace DiscImageChef.Decoders.CD
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class CDTextOnLeadIn
{
public enum PackTypeIndicator : byte
diff --git a/DiscImageChef.Decoders/CD/Enums.cs b/DiscImageChef.Decoders/CD/Enums.cs
index 4a9f165a9..2698510dc 100644
--- a/DiscImageChef.Decoders/CD/Enums.cs
+++ b/DiscImageChef.Decoders/CD/Enums.cs
@@ -30,9 +30,12 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.CD
{
- public enum TOC_ADR : byte
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ public enum TocAdr : byte
{
///
/// Q Sub-channel mode information not supplied
@@ -60,7 +63,7 @@ namespace DiscImageChef.Decoders.CD
VideoTrackPointer = 0x04
}
- public enum TOC_CONTROL : byte
+ public enum TocControl : byte
{
///
/// Stereo audio, no pre-emphasis
diff --git a/DiscImageChef.Decoders/CD/FullTOC.cs b/DiscImageChef.Decoders/CD/FullTOC.cs
index 717c6e278..27bc297e0 100644
--- a/DiscImageChef.Decoders/CD/FullTOC.cs
+++ b/DiscImageChef.Decoders/CD/FullTOC.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -53,6 +54,9 @@ namespace DiscImageChef.Decoders.CD
/// ISO/IEC 61104: Compact disc video system - 12 cm CD-V
/// ISO/IEC 60908: Audio recording - Compact disc digital audio system
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class FullTOC
{
const string StereoNoPre = "Stereo audio track with no pre-emphasis";
@@ -270,24 +274,24 @@ namespace DiscImageChef.Decoders.CD
else
{
sb.AppendFormat("First track number: {0} (", descriptor.PMIN);
- switch((TOC_CONTROL)(descriptor.CONTROL & 0x0D))
+ switch((TocControl)(descriptor.CONTROL & 0x0D))
{
- case TOC_CONTROL.TwoChanNoPreEmph:
+ case TocControl.TwoChanNoPreEmph:
sb.Append(StereoNoPre);
break;
- case TOC_CONTROL.TwoChanPreEmph:
+ case TocControl.TwoChanPreEmph:
sb.Append(StereoPreEm);
break;
- case TOC_CONTROL.FourChanNoPreEmph:
+ case TocControl.FourChanNoPreEmph:
sb.Append(QuadNoPreEm);
break;
- case TOC_CONTROL.FourChanPreEmph:
+ case TocControl.FourChanPreEmph:
sb.Append(QuadPreEmph);
break;
- case TOC_CONTROL.DataTrack:
+ case TocControl.DataTrack:
sb.Append(DataUnintrp);
break;
- case TOC_CONTROL.DataTrackIncremental:
+ case TocControl.DataTrackIncremental:
sb.Append(DataIncrtly);
break;
}
@@ -306,24 +310,24 @@ namespace DiscImageChef.Decoders.CD
else
{
sb.AppendFormat("Last track number: {0} (", descriptor.PMIN);
- switch((TOC_CONTROL)(descriptor.CONTROL & 0x0D))
+ switch((TocControl)(descriptor.CONTROL & 0x0D))
{
- case TOC_CONTROL.TwoChanNoPreEmph:
+ case TocControl.TwoChanNoPreEmph:
sb.Append(StereoNoPre);
break;
- case TOC_CONTROL.TwoChanPreEmph:
+ case TocControl.TwoChanPreEmph:
sb.Append(StereoPreEm);
break;
- case TOC_CONTROL.FourChanNoPreEmph:
+ case TocControl.FourChanNoPreEmph:
sb.Append(QuadNoPreEm);
break;
- case TOC_CONTROL.FourChanPreEmph:
+ case TocControl.FourChanPreEmph:
sb.Append(QuadPreEmph);
break;
- case TOC_CONTROL.DataTrack:
+ case TocControl.DataTrack:
sb.Append(DataUnintrp);
break;
- case TOC_CONTROL.DataTrackIncremental:
+ case TocControl.DataTrackIncremental:
sb.Append(DataIncrtly);
break;
}
@@ -345,16 +349,16 @@ namespace DiscImageChef.Decoders.CD
.AppendLine();
//sb.AppendFormat("Absolute time: {3:D2}:{0:D2}:{1:D2}:{2:D2}", descriptor.Min, descriptor.Sec, descriptor.Frame, descriptor.HOUR).AppendLine();
- switch((TOC_CONTROL)(descriptor.CONTROL & 0x0D))
+ switch((TocControl)(descriptor.CONTROL & 0x0D))
{
- case TOC_CONTROL.TwoChanNoPreEmph:
- case TOC_CONTROL.TwoChanPreEmph:
- case TOC_CONTROL.FourChanNoPreEmph:
- case TOC_CONTROL.FourChanPreEmph:
+ case TocControl.TwoChanNoPreEmph:
+ case TocControl.TwoChanPreEmph:
+ case TocControl.FourChanNoPreEmph:
+ case TocControl.FourChanPreEmph:
sb.AppendLine("Lead-out is audio type");
break;
- case TOC_CONTROL.DataTrack:
- case TOC_CONTROL.DataTrackIncremental:
+ case TocControl.DataTrack:
+ case TocControl.DataTrackIncremental:
sb.AppendLine("Lead-out is data type");
break;
}
@@ -385,9 +389,9 @@ namespace DiscImageChef.Decoders.CD
{
string type = "Audio";
- if((TOC_CONTROL)(descriptor.CONTROL & 0x0D) == TOC_CONTROL.DataTrack ||
- (TOC_CONTROL)(descriptor.CONTROL & 0x0D) ==
- TOC_CONTROL.DataTrackIncremental) type = "Data";
+ if((TocControl)(descriptor.CONTROL & 0x0D) == TocControl.DataTrack ||
+ (TocControl)(descriptor.CONTROL & 0x0D) ==
+ TocControl.DataTrackIncremental) type = "Data";
if(descriptor.PHOUR > 0)
sb.AppendFormat("{5} track {3} starts at: {4:D2}:{0:D2}:{1:D2}:{2:D2} (",
@@ -398,24 +402,24 @@ namespace DiscImageChef.Decoders.CD
descriptor.PMIN, descriptor.PSEC, descriptor.PFRAME,
descriptor.POINT, type);
- switch((TOC_CONTROL)(descriptor.CONTROL & 0x0D))
+ switch((TocControl)(descriptor.CONTROL & 0x0D))
{
- case TOC_CONTROL.TwoChanNoPreEmph:
+ case TocControl.TwoChanNoPreEmph:
sb.Append(StereoNoPre);
break;
- case TOC_CONTROL.TwoChanPreEmph:
+ case TocControl.TwoChanPreEmph:
sb.Append(StereoPreEm);
break;
- case TOC_CONTROL.FourChanNoPreEmph:
+ case TocControl.FourChanNoPreEmph:
sb.Append(QuadNoPreEm);
break;
- case TOC_CONTROL.FourChanPreEmph:
+ case TocControl.FourChanPreEmph:
sb.Append(QuadPreEmph);
break;
- case TOC_CONTROL.DataTrack:
+ case TocControl.DataTrack:
sb.Append(DataUnintrp);
break;
- case TOC_CONTROL.DataTrackIncremental:
+ case TocControl.DataTrackIncremental:
sb.Append(DataIncrtly);
break;
}
diff --git a/DiscImageChef.Decoders/CD/PMA.cs b/DiscImageChef.Decoders/CD/PMA.cs
index 30dbb848e..b09e29a26 100644
--- a/DiscImageChef.Decoders/CD/PMA.cs
+++ b/DiscImageChef.Decoders/CD/PMA.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -51,6 +52,9 @@ namespace DiscImageChef.Decoders.CD
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class PMA
{
public struct CDPMA
@@ -198,24 +202,24 @@ namespace DiscImageChef.Decoders.CD
if(descriptor.POINT > 0)
{
sb.AppendFormat("Track {0}", descriptor.POINT);
- switch((TOC_CONTROL)(descriptor.CONTROL & 0x0D))
+ switch((TocControl)(descriptor.CONTROL & 0x0D))
{
- case TOC_CONTROL.TwoChanNoPreEmph:
+ case TocControl.TwoChanNoPreEmph:
sb.Append(" (Stereo audio track with no pre-emphasis)");
break;
- case TOC_CONTROL.TwoChanPreEmph:
+ case TocControl.TwoChanPreEmph:
sb.Append(" (Stereo audio track with 50/15 μs pre-emphasis)");
break;
- case TOC_CONTROL.FourChanNoPreEmph:
+ case TocControl.FourChanNoPreEmph:
sb.Append(" (Quadraphonic audio track with no pre-emphasis)");
break;
- case TOC_CONTROL.FourChanPreEmph:
+ case TocControl.FourChanPreEmph:
sb.Append(" (Quadraphonic audio track with 50/15 μs pre-emphasis)");
break;
- case TOC_CONTROL.DataTrack:
+ case TocControl.DataTrack:
sb.Append(" (Data track, recorded uninterrupted)");
break;
- case TOC_CONTROL.DataTrackIncremental:
+ case TocControl.DataTrackIncremental:
sb.Append(" (Data track, recorded incrementally)");
break;
}
diff --git a/DiscImageChef.Decoders/CD/Sector.cs b/DiscImageChef.Decoders/CD/Sector.cs
index c16b4b05a..9fa983ed8 100644
--- a/DiscImageChef.Decoders/CD/Sector.cs
+++ b/DiscImageChef.Decoders/CD/Sector.cs
@@ -31,10 +31,14 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
namespace DiscImageChef.Decoders.CD
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Sector
{
public static readonly byte[] ScrambleTable =
diff --git a/DiscImageChef.Decoders/CD/Session.cs b/DiscImageChef.Decoders/CD/Session.cs
index b39bc09b7..21904a8f4 100644
--- a/DiscImageChef.Decoders/CD/Session.cs
+++ b/DiscImageChef.Decoders/CD/Session.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -51,6 +52,9 @@ namespace DiscImageChef.Decoders.CD
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Session
{
public struct CDSessionInfo
@@ -161,51 +165,52 @@ namespace DiscImageChef.Decoders.CD
(descriptor.TrackStartAddress & 0x00FF0000) >> 16,
(descriptor.TrackStartAddress & 0xFF000000) >> 24).AppendLine();
- switch((TOC_ADR)descriptor.ADR)
+ switch((TocAdr)descriptor.ADR)
{
- case TOC_ADR.NoInformation:
+ case TocAdr.NoInformation:
sb.AppendLine("Q subchannel mode not given");
break;
- case TOC_ADR.CurrentPosition:
+ case TocAdr.CurrentPosition:
sb.AppendLine("Q subchannel stores current position");
break;
- case TOC_ADR.ISRC:
+ case TocAdr.ISRC:
sb.AppendLine("Q subchannel stores ISRC");
break;
- case TOC_ADR.MediaCatalogNumber:
+ case TocAdr.MediaCatalogNumber:
sb.AppendLine("Q subchannel stores media catalog number");
break;
}
- if((descriptor.CONTROL & (byte)TOC_CONTROL.ReservedMask) == (byte)TOC_CONTROL.ReservedMask)
+ if((descriptor.CONTROL & (byte)TocControl.ReservedMask) == (byte)TocControl.ReservedMask)
sb.AppendFormat("Reserved flags 0x{0:X2} set", descriptor.CONTROL).AppendLine();
else
{
- switch((TOC_CONTROL)(descriptor.CONTROL & 0x0D))
+ switch((TocControl)(descriptor.CONTROL & 0x0D))
{
- case TOC_CONTROL.TwoChanNoPreEmph:
+ case TocControl.TwoChanNoPreEmph:
sb.AppendLine("Stereo audio track with no pre-emphasis");
break;
- case TOC_CONTROL.TwoChanPreEmph:
+ case TocControl.TwoChanPreEmph:
sb.AppendLine("Stereo audio track with 50/15 μs pre-emphasis");
break;
- case TOC_CONTROL.FourChanNoPreEmph:
+ case TocControl.FourChanNoPreEmph:
sb.AppendLine("Quadraphonic audio track with no pre-emphasis");
break;
- case TOC_CONTROL.FourChanPreEmph:
+ case TocControl.FourChanPreEmph:
sb.AppendLine("Stereo audio track with 50/15 μs pre-emphasis");
break;
- case TOC_CONTROL.DataTrack:
+ case TocControl.DataTrack:
sb.AppendLine("Data track, recorded uninterrupted");
break;
- case TOC_CONTROL.DataTrackIncremental:
+ case TocControl.DataTrackIncremental:
sb.AppendLine("Data track, recorded incrementally");
break;
}
- if((descriptor.CONTROL & (byte)TOC_CONTROL.CopyPermissionMask) ==
- (byte)TOC_CONTROL.CopyPermissionMask) sb.AppendLine("Digital copy of track is permitted");
- else sb.AppendLine("Digital copy of track is prohibited");
+ sb.AppendLine((descriptor.CONTROL & (byte)TocControl.CopyPermissionMask) ==
+ (byte)TocControl.CopyPermissionMask
+ ? "Digital copy of track is permitted"
+ : "Digital copy of track is prohibited");
#if DEBUG
if(descriptor.Reserved1 != 0)
diff --git a/DiscImageChef.Decoders/CD/TOC.cs b/DiscImageChef.Decoders/CD/TOC.cs
index 3f5b7b2e1..62d703a29 100644
--- a/DiscImageChef.Decoders/CD/TOC.cs
+++ b/DiscImageChef.Decoders/CD/TOC.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Console;
@@ -53,6 +54,9 @@ namespace DiscImageChef.Decoders.CD
/// ISO/IEC 61104: Compact disc video system - 12 cm CD-V
/// ISO/IEC 60908: Audio recording - Compact disc digital audio system
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class TOC
{
public struct CDTOC
@@ -163,21 +167,21 @@ namespace DiscImageChef.Decoders.CD
(descriptor.TrackStartAddress & 0x00FF0000) >> 16,
(descriptor.TrackStartAddress & 0xFF000000) >> 24).AppendLine();
- switch((TOC_ADR)descriptor.ADR)
+ switch((TocAdr)descriptor.ADR)
{
- case TOC_ADR.NoInformation:
+ case TocAdr.NoInformation:
sb.AppendLine("Q subchannel mode not given");
break;
- case TOC_ADR.TrackPointer:
+ case TocAdr.TrackPointer:
sb.AppendLine("Q subchannel stores track pointer");
break;
- case TOC_ADR.VideoTrackPointer:
+ case TocAdr.VideoTrackPointer:
sb.AppendLine("Q subchannel stores video track pointer");
break;
- case TOC_ADR.ISRC:
+ case TocAdr.ISRC:
sb.AppendLine("Q subchannel stores ISRC");
break;
- case TOC_ADR.MediaCatalogNumber:
+ case TocAdr.MediaCatalogNumber:
sb.AppendLine("Q subchannel stores media catalog number");
break;
default:
@@ -185,35 +189,36 @@ namespace DiscImageChef.Decoders.CD
break;
}
- if((descriptor.CONTROL & (byte)TOC_CONTROL.ReservedMask) == (byte)TOC_CONTROL.ReservedMask)
+ if((descriptor.CONTROL & (byte)TocControl.ReservedMask) == (byte)TocControl.ReservedMask)
sb.AppendFormat("Reserved flags 0x{0:X2} set", descriptor.CONTROL).AppendLine();
else
{
- switch((TOC_CONTROL)(descriptor.CONTROL & 0x0D))
+ switch((TocControl)(descriptor.CONTROL & 0x0D))
{
- case TOC_CONTROL.TwoChanNoPreEmph:
+ case TocControl.TwoChanNoPreEmph:
sb.AppendLine("Stereo audio track with no pre-emphasis");
break;
- case TOC_CONTROL.TwoChanPreEmph:
+ case TocControl.TwoChanPreEmph:
sb.AppendLine("Stereo audio track with 50/15 μs pre-emphasis");
break;
- case TOC_CONTROL.FourChanNoPreEmph:
+ case TocControl.FourChanNoPreEmph:
sb.AppendLine("Quadraphonic audio track with no pre-emphasis");
break;
- case TOC_CONTROL.FourChanPreEmph:
+ case TocControl.FourChanPreEmph:
sb.AppendLine("Quadraphonic audio track with 50/15 μs pre-emphasis");
break;
- case TOC_CONTROL.DataTrack:
+ case TocControl.DataTrack:
sb.AppendLine("Data track, recorded uninterrupted");
break;
- case TOC_CONTROL.DataTrackIncremental:
+ case TocControl.DataTrackIncremental:
sb.AppendLine("Data track, recorded incrementally");
break;
}
- if((descriptor.CONTROL & (byte)TOC_CONTROL.CopyPermissionMask) ==
- (byte)TOC_CONTROL.CopyPermissionMask) sb.AppendLine("Digital copy of track is permitted");
- else sb.AppendLine("Digital copy of track is prohibited");
+ sb.AppendLine((descriptor.CONTROL & (byte)TocControl.CopyPermissionMask) ==
+ (byte)TocControl.CopyPermissionMask
+ ? "Digital copy of track is permitted"
+ : "Digital copy of track is prohibited");
#if DEBUG
if(descriptor.Reserved1 != 0)
diff --git a/DiscImageChef.Decoders/DVD/AACS.cs b/DiscImageChef.Decoders/DVD/AACS.cs
index 6deab609f..84776e34f 100644
--- a/DiscImageChef.Decoders/DVD/AACS.cs
+++ b/DiscImageChef.Decoders/DVD/AACS.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class AACS
{
public struct HDLeadInCopyright
diff --git a/DiscImageChef.Decoders/DVD/ADIP.cs b/DiscImageChef.Decoders/DVD/ADIP.cs
index 90aed4b75..575cbb0ec 100644
--- a/DiscImageChef.Decoders/DVD/ADIP.cs
+++ b/DiscImageChef.Decoders/DVD/ADIP.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class ADIP
{
public struct ADIPInformation
diff --git a/DiscImageChef.Decoders/DVD/BCA.cs b/DiscImageChef.Decoders/DVD/BCA.cs
index 617f5a42e..b22ac62d0 100644
--- a/DiscImageChef.Decoders/DVD/BCA.cs
+++ b/DiscImageChef.Decoders/DVD/BCA.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class BCA
{
public struct BurstCuttingArea
diff --git a/DiscImageChef.Decoders/DVD/CPRM.cs b/DiscImageChef.Decoders/DVD/CPRM.cs
index c3bd3c1ff..2daf15de7 100644
--- a/DiscImageChef.Decoders/DVD/CPRM.cs
+++ b/DiscImageChef.Decoders/DVD/CPRM.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class CPRM
{
public struct DiscMediaIdentifier
diff --git a/DiscImageChef.Decoders/DVD/CSS&CPRM.cs b/DiscImageChef.Decoders/DVD/CSS&CPRM.cs
index ceaa61f69..1ce578d80 100644
--- a/DiscImageChef.Decoders/DVD/CSS&CPRM.cs
+++ b/DiscImageChef.Decoders/DVD/CSS&CPRM.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.DVD
@@ -50,6 +51,10 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class CSS_CPRM
{
public struct LeadInCopyright
@@ -117,21 +122,18 @@ namespace DiscImageChef.Decoders.DVD
public static LeadInCopyright? DecodeLeadInCopyright(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 8) return null;
- if(response.Length != 8) return null;
-
- LeadInCopyright cmi = new LeadInCopyright();
-
- cmi.DataLength = (ushort)((response[0] << 8) + response[1]);
- cmi.Reserved1 = response[2];
- cmi.Reserved2 = response[3];
- cmi.CopyrightType = (CopyrightType)response[4];
- cmi.RegionInformation = response[5];
- cmi.Reserved3 = response[6];
- cmi.Reserved4 = response[7];
-
- return cmi;
+ return new LeadInCopyright
+ {
+ DataLength = (ushort)((response[0] << 8) + response[1]),
+ Reserved1 = response[2],
+ Reserved2 = response[3],
+ CopyrightType = (CopyrightType)response[4],
+ RegionInformation = response[5],
+ Reserved3 = response[6],
+ Reserved4 = response[7]
+ };
}
public static string PrettifyLeadInCopyright(LeadInCopyright? cmi)
diff --git a/DiscImageChef.Decoders/DVD/Cartridge.cs b/DiscImageChef.Decoders/DVD/Cartridge.cs
index e061ab9d9..23e425809 100644
--- a/DiscImageChef.Decoders/DVD/Cartridge.cs
+++ b/DiscImageChef.Decoders/DVD/Cartridge.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.DVD
@@ -49,6 +50,10 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class Cartridge
{
public struct MediumStatus
@@ -122,27 +127,24 @@ namespace DiscImageChef.Decoders.DVD
public static MediumStatus? Decode(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 8) return null;
- if(response.Length != 8) return null;
-
- MediumStatus status = new MediumStatus();
-
- status.DataLength = (ushort)((response[0] << 8) + response[1]);
- status.Reserved1 = response[2];
- status.Reserved2 = response[3];
- status.Cartridge |= (response[4] & 0x80) == 0x80;
- status.OUT |= (response[4] & 0x40) == 0x40;
- status.Reserved3 = (byte)((response[4] & 0x30) >> 4);
- status.MSWI |= (response[4] & 0x08) == 0x08;
- status.CWP |= (response[4] & 0x04) == 0x04;
- status.PWP |= (response[4] & 0x02) == 0x02;
- status.Reserved4 |= (response[4] & 0x01) == 0x01;
- status.DiscType = response[5];
- status.Reserved5 = response[6];
- status.RAMSWI = response[7];
-
- return status;
+ return new MediumStatus
+ {
+ DataLength = (ushort)((response[0] << 8) + response[1]),
+ Reserved1 = response[2],
+ Reserved2 = response[3],
+ Cartridge = (response[4] & 0x80) == 0x80,
+ OUT = (response[4] & 0x40) == 0x40,
+ Reserved3 = (byte)((response[4] & 0x30) >> 4),
+ MSWI = (response[4] & 0x08) == 0x08,
+ CWP = (response[4] & 0x04) == 0x04,
+ PWP = (response[4] & 0x02) == 0x02,
+ Reserved4 = (response[4] & 0x01) == 0x01,
+ DiscType = response[5],
+ Reserved5 = response[6],
+ RAMSWI = response[7]
+ };
}
public static string Prettify(MediumStatus? status)
diff --git a/DiscImageChef.Decoders/DVD/DDS.cs b/DiscImageChef.Decoders/DVD/DDS.cs
index cf37e0c16..ded9727cd 100644
--- a/DiscImageChef.Decoders/DVD/DDS.cs
+++ b/DiscImageChef.Decoders/DVD/DDS.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.DVD
@@ -52,6 +53,10 @@ namespace DiscImageChef.Decoders.DVD
/// ECMA 272: 120 mm DVD Rewritable Disk (DVD-RAM)
/// ECMA 330: 120 mm (4,7 Gbytes per side) and 80 mm (1,46 Gbytes per side) DVD Rewritable Disk (DVD-RAM)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class DDS
{
public struct DiscDefinitionStructure
@@ -196,13 +201,10 @@ namespace DiscImageChef.Decoders.DVD
public static DiscDefinitionStructure? Decode(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 2052) return null;
- if(response.Length != 2052) return null;
-
- DiscDefinitionStructure dds = new DiscDefinitionStructure();
-
- dds.Identifier = (ushort)((response[4] << 8) + response[5]);
+ DiscDefinitionStructure dds =
+ new DiscDefinitionStructure {Identifier = (ushort)((response[4] << 8) + response[5])};
if(dds.Identifier != 0x0A0A) return null;
diff --git a/DiscImageChef.Decoders/DVD/DMI.cs b/DiscImageChef.Decoders/DVD/DMI.cs
index 4b43af82e..fe3070e46 100644
--- a/DiscImageChef.Decoders/DVD/DMI.cs
+++ b/DiscImageChef.Decoders/DVD/DMI.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class DMI
{
public struct DiscManufacturingInformation
diff --git a/DiscImageChef.Decoders/DVD/Enums.cs b/DiscImageChef.Decoders/DVD/Enums.cs
index fa29327c6..34bfb5e5b 100644
--- a/DiscImageChef.Decoders/DVD/Enums.cs
+++ b/DiscImageChef.Decoders/DVD/Enums.cs
@@ -30,9 +30,12 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
#region Public enumerations
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum DiskCategory : byte
{
///
@@ -94,6 +97,7 @@ namespace DiscImageChef.Decoders.DVD
Nintendo = 15
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum MaximumRateField : byte
{
///
@@ -119,6 +123,7 @@ namespace DiscImageChef.Decoders.DVD
Unspecified = 0x0F
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum LayerTypeFieldMask : byte
{
Embossed = 0x01,
@@ -127,6 +132,7 @@ namespace DiscImageChef.Decoders.DVD
Reserved = 0x08
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum LinearDensityField : byte
{
///
@@ -159,6 +165,7 @@ namespace DiscImageChef.Decoders.DVD
ThreeFive = 0x08
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum TrackDensityField : byte
{
///
@@ -183,6 +190,7 @@ namespace DiscImageChef.Decoders.DVD
Three = 0x04
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum CopyrightType : byte
{
///
@@ -203,6 +211,7 @@ namespace DiscImageChef.Decoders.DVD
AACS = 0x10
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum WPDiscTypes : byte
{
///
@@ -217,6 +226,7 @@ namespace DiscImageChef.Decoders.DVD
Reserved2 = 0x03
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum DVDSize
{
///
@@ -229,6 +239,7 @@ namespace DiscImageChef.Decoders.DVD
Eighty = 1
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum DVDRAMDiscType
{
///
@@ -241,6 +252,7 @@ namespace DiscImageChef.Decoders.DVD
Uncased = 1
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum DVDLayerStructure
{
Unspecified = 0,
@@ -249,6 +261,7 @@ namespace DiscImageChef.Decoders.DVD
Reserved = 3
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum DVDRecordingSpeed
{
None = 0,
diff --git a/DiscImageChef.Decoders/DVD/Layers.cs b/DiscImageChef.Decoders/DVD/Layers.cs
index 9e9fe57a5..45d431438 100644
--- a/DiscImageChef.Decoders/DVD/Layers.cs
+++ b/DiscImageChef.Decoders/DVD/Layers.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Layers
{
public struct LayerCapacity
diff --git a/DiscImageChef.Decoders/DVD/PFI.cs b/DiscImageChef.Decoders/DVD/PFI.cs
index 00542f95a..20086e019 100644
--- a/DiscImageChef.Decoders/DVD/PFI.cs
+++ b/DiscImageChef.Decoders/DVD/PFI.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.DVD
@@ -66,6 +67,9 @@ namespace DiscImageChef.Decoders.DVD
/// ECMA 382: 120 mm (8,54 Gbytes per side) and 80 mm (2,66 Gbytes per side) DVD Recordable Disk for Dual Layer (DVD-R for DL)
/// ECMA 384: 120 mm (8,54 Gbytes per side) and 80 mm (2,66 Gbytes per side) DVD Re-recordable Disk for Dual Layer (DVD-RW for DL)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class PFI
{
public struct PhysicalFormatInformation
diff --git a/DiscImageChef.Decoders/DVD/PRI.cs b/DiscImageChef.Decoders/DVD/PRI.cs
index 632f092ad..7bd281af6 100644
--- a/DiscImageChef.Decoders/DVD/PRI.cs
+++ b/DiscImageChef.Decoders/DVD/PRI.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class PRI
{
public struct PreRecordedInformation
diff --git a/DiscImageChef.Decoders/DVD/RMD.cs b/DiscImageChef.Decoders/DVD/RMD.cs
index a57d1d925..c57f89f53 100644
--- a/DiscImageChef.Decoders/DVD/RMD.cs
+++ b/DiscImageChef.Decoders/DVD/RMD.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class RMD
{
public struct LastBorderOutRMD
diff --git a/DiscImageChef.Decoders/DVD/Spare.cs b/DiscImageChef.Decoders/DVD/Spare.cs
index 74a91aa04..2db3529d4 100644
--- a/DiscImageChef.Decoders/DVD/Spare.cs
+++ b/DiscImageChef.Decoders/DVD/Spare.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.DVD
@@ -49,6 +50,10 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class Spare
{
public struct SpareAreaInformation
@@ -87,23 +92,20 @@ namespace DiscImageChef.Decoders.DVD
public static SpareAreaInformation? Decode(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 16) return null;
- if(response.Length != 16) return null;
-
- SpareAreaInformation sai = new SpareAreaInformation();
-
- sai.DataLength = (ushort)((response[0] << 8) + response[1]);
- sai.Reserved1 = response[2];
- sai.Reserved2 = response[3];
- sai.UnusedPrimaryBlocks =
- (uint)((response[4] << 24) + (response[5] << 16) + (response[6] << 8) + response[7]);
- sai.UnusedSupplementaryBlocks =
- (uint)((response[8] << 24) + (response[9] << 16) + (response[10] << 8) + response[11]);
- sai.AllocatedSupplementaryBlocks =
- (uint)((response[12] << 24) + (response[13] << 16) + (response[14] << 8) + response[15]);
-
- return sai;
+ return new SpareAreaInformation
+ {
+ DataLength = (ushort)((response[0] << 8) + response[1]),
+ Reserved1 = response[2],
+ Reserved2 = response[3],
+ UnusedPrimaryBlocks =
+ (uint)((response[4] << 24) + (response[5] << 16) + (response[6] << 8) + response[7]),
+ UnusedSupplementaryBlocks =
+ (uint)((response[8] << 24) + (response[9] << 16) + (response[10] << 8) + response[11]),
+ AllocatedSupplementaryBlocks =
+ (uint)((response[12] << 24) + (response[13] << 16) + (response[14] << 8) + response[15])
+ };
}
public static string Prettify(SpareAreaInformation? sai)
diff --git a/DiscImageChef.Decoders/DVD/UDI.cs b/DiscImageChef.Decoders/DVD/UDI.cs
index 3a51ea02a..9e20b5ff8 100644
--- a/DiscImageChef.Decoders/DVD/UDI.cs
+++ b/DiscImageChef.Decoders/DVD/UDI.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.DVD
{
///
@@ -48,6 +50,9 @@ namespace DiscImageChef.Decoders.DVD
/// T10/1836-D revision 2g
/// ECMA 365
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class UDI
{
public struct UniqueDiscIdentifier
diff --git a/DiscImageChef.Decoders/Floppy/Amiga.cs b/DiscImageChef.Decoders/Floppy/Amiga.cs
index 87b20b45c..eb9cffc0f 100644
--- a/DiscImageChef.Decoders/Floppy/Amiga.cs
+++ b/DiscImageChef.Decoders/Floppy/Amiga.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
namespace DiscImageChef.Decoders.Floppy
@@ -37,6 +38,9 @@ namespace DiscImageChef.Decoders.Floppy
///
/// Methods and structures for Commodore Amiga decoding
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Amiga
{
public struct Sector
diff --git a/DiscImageChef.Decoders/Floppy/Apple2.cs b/DiscImageChef.Decoders/Floppy/Apple2.cs
index c45af811f..ab7b58c1a 100644
--- a/DiscImageChef.Decoders/Floppy/Apple2.cs
+++ b/DiscImageChef.Decoders/Floppy/Apple2.cs
@@ -32,6 +32,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
@@ -42,6 +43,9 @@ namespace DiscImageChef.Decoders.Floppy
///
/// Methods and structures for Apple ][ floppy decoding
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Apple2
{
///
@@ -295,17 +299,15 @@ namespace DiscImageChef.Decoders.Floppy
// Pre DOS 3.3
if(sector.addressField.prologue[2] == 0xB5) return Decode5and3(sector.dataField.data);
// DOS 3.3
- if(sector.addressField.prologue[2] == 0x96) return Decode6and2(sector.dataField.data);
+ return sector.addressField.prologue[2] == 0x96 ? Decode6and2(sector.dataField.data) : null;
// Unknown
- return null;
// Not Apple ][ GCR?
}
public static RawSector MarshalSector(byte[] data, int offset = 0)
{
- int temp;
- return MarshalSector(data, out temp, offset);
+ return MarshalSector(data, out _, offset);
}
public static RawSector MarshalSector(byte[] data, out int endOffset, int offset = 0)
@@ -315,11 +317,7 @@ namespace DiscImageChef.Decoders.Floppy
// Not an Apple ][ GCR sector
if(data == null || data.Length < 363) return null;
- RawSector sector;
int position = offset;
- MemoryStream gaps;
- bool onSync;
- int syncCount;
try
{
@@ -333,28 +331,18 @@ namespace DiscImageChef.Decoders.Floppy
// Epilogue not in correct position
if(data[position + 11] != 0xDE || data[position + 12] != 0xAA) return null;
- sector = new RawSector();
- sector.addressField = new RawAddressField();
- sector.addressField.prologue = new byte[3];
- sector.addressField.prologue[0] = data[position];
- sector.addressField.prologue[1] = data[position + 1];
- sector.addressField.prologue[2] = data[position + 2];
- sector.addressField.volume = new byte[2];
- sector.addressField.volume[0] = data[position + 3];
- sector.addressField.volume[1] = data[position + 4];
- sector.addressField.track = new byte[2];
- sector.addressField.track[0] = data[position + 5];
- sector.addressField.track[1] = data[position + 6];
- sector.addressField.sector = new byte[2];
- sector.addressField.sector[0] = data[position + 7];
- sector.addressField.sector[1] = data[position + 8];
- sector.addressField.checksum = new byte[2];
- sector.addressField.checksum[0] = data[position + 9];
- sector.addressField.checksum[1] = data[position + 10];
- sector.addressField.epilogue = new byte[3];
- sector.addressField.epilogue[0] = data[position + 11];
- sector.addressField.epilogue[1] = data[position + 12];
- sector.addressField.epilogue[2] = data[position + 13];
+ RawSector sector = new RawSector
+ {
+ addressField = new RawAddressField
+ {
+ prologue = new[] {data[position], data[position + 1], data[position + 2]},
+ volume = new[] {data[position + 3], data[position + 4]},
+ track = new[] {data[position + 5], data[position + 6]},
+ sector = new[] {data[position + 7], data[position + 8]},
+ checksum = new[] {data[position + 9], data[position + 10]},
+ epilogue = new[] {data[position + 11], data[position + 12], data[position + 13]}
+ }
+ };
DicConsole.DebugWriteLine("Apple ][ GCR Decoder", "Volume {0}",
(((sector.addressField.volume[0] & 0x55) << 1) |
@@ -373,9 +361,9 @@ namespace DiscImageChef.Decoders.Floppy
sector.addressField.epilogue[2]);
position += 14;
- syncCount = 0;
- onSync = false;
- gaps = new MemoryStream();
+ int syncCount = 0;
+ bool onSync = false;
+ MemoryStream gaps = new MemoryStream();
while(data[position] == 0xFF)
{
@@ -495,8 +483,7 @@ namespace DiscImageChef.Decoders.Floppy
public static RawTrack MarshalTrack(byte[] data, int offset = 0)
{
- int temp;
- return MarshalTrack(data, out temp, offset);
+ return MarshalTrack(data, out _, offset);
}
public static RawTrack MarshalTrack(byte[] data, out int endOffset, int offset = 0)
@@ -551,9 +538,7 @@ namespace DiscImageChef.Decoders.Floppy
if(sectors.Count == 0) return null;
- RawTrack track = new RawTrack();
- track.gap = gaps.ToArray();
- track.sectors = sectors.ToArray();
+ RawTrack track = new RawTrack {gap = gaps.ToArray(), sectors = sectors.ToArray()};
endOffset = position;
return track;
}
@@ -564,7 +549,7 @@ namespace DiscImageChef.Decoders.Floppy
MemoryStream raw = new MemoryStream();
raw.Write(track.gap, 0, track.gap.Length);
- foreach(byte[] rawSector in track.sectors.Select(sector => MarshalSector(sector)))
+ foreach(byte[] rawSector in track.sectors.Select(MarshalSector))
{ raw.Write(rawSector, 0, rawSector.Length); }
return raw.ToArray();
@@ -572,8 +557,7 @@ namespace DiscImageChef.Decoders.Floppy
public static List MarshalDisk(byte[] data, int offset = 0)
{
- int temp;
- return MarshalDisk(data, out temp, offset);
+ return MarshalDisk(data, out _, offset);
}
public static List MarshalDisk(byte[] data, out int endOffset, int offset = 0)
@@ -605,15 +589,14 @@ namespace DiscImageChef.Decoders.Floppy
if(disk == null) return null;
MemoryStream raw = new MemoryStream();
- foreach(byte[] rawTrack in disk.Select(track => MarshalTrack(track))) { raw.Write(rawTrack, 0, rawTrack.Length); }
+ foreach(byte[] rawTrack in disk.Select(MarshalTrack)) { raw.Write(rawTrack, 0, rawTrack.Length); }
return raw.ToArray();
}
public static bool IsApple2GCR(byte[] data)
{
- int position;
- RawSector sector = MarshalSector(data, out position, 0);
+ RawSector sector = MarshalSector(data, out int position);
return sector != null && position != 0;
}
diff --git a/DiscImageChef.Decoders/Floppy/AppleSony.cs b/DiscImageChef.Decoders/Floppy/AppleSony.cs
index 98b1c2f71..26520241c 100644
--- a/DiscImageChef.Decoders/Floppy/AppleSony.cs
+++ b/DiscImageChef.Decoders/Floppy/AppleSony.cs
@@ -32,6 +32,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
@@ -44,6 +45,10 @@ namespace DiscImageChef.Decoders.Floppy
///
/// Methods and structures for Apple Sony GCR floppy decoding
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class AppleSony
{
///
@@ -149,8 +154,7 @@ namespace DiscImageChef.Decoders.Floppy
sector.addressField.prologue[2] != 0x96) return null;
uint ck1, ck2, ck3;
- byte carry;
- byte w1, w2, w3, w4;
+ byte w3;
byte[] bf1 = new byte[175];
byte[] bf2 = new byte[175];
byte[] bf3 = new byte[175];
@@ -161,9 +165,9 @@ namespace DiscImageChef.Decoders.Floppy
w3 = 0;
for(int i = 0; i <= 174; i++)
{
- w4 = nib_data[j++];
- w1 = nib_data[j++];
- w2 = nib_data[j++];
+ byte w4 = nib_data[j++];
+ byte w1 = nib_data[j++];
+ byte w2 = nib_data[j++];
if(i != 174) w3 = nib_data[j++];
@@ -181,7 +185,7 @@ namespace DiscImageChef.Decoders.Floppy
ck1 = (ck1 & 0xFF) << 1;
if((ck1 & 0x0100) > 0) ck1++;
- carry = (byte)((bf1[j] ^ ck1) & 0xFF);
+ byte carry = (byte)((bf1[j] ^ ck1) & 0xFF);
ck3 += carry;
if((ck1 & 0x0100) > 0)
{
@@ -219,8 +223,7 @@ namespace DiscImageChef.Decoders.Floppy
public static RawSector MarshalSector(byte[] data, int offset = 0)
{
- int temp;
- return MarshalSector(data, out temp, offset);
+ return MarshalSector(data, out _, offset);
}
public static RawSector MarshalSector(byte[] data, out int endOffset, int offset = 0)
@@ -230,11 +233,7 @@ namespace DiscImageChef.Decoders.Floppy
// Not an Apple ][ GCR sector
if(data == null || data.Length < 363) return null;
- RawSector sector;
int position = offset;
- MemoryStream gaps;
- bool onSync;
- int syncCount;
try
{
@@ -246,25 +245,24 @@ namespace DiscImageChef.Decoders.Floppy
// Epilogue not in correct position
if(data[position + 8] != 0xDE || data[position + 9] != 0xAA) return null;
- sector = new RawSector();
- sector.addressField = new RawAddressField();
- sector.addressField.prologue = new byte[3];
- sector.addressField.prologue[0] = data[position];
- sector.addressField.prologue[1] = data[position + 1];
- sector.addressField.prologue[2] = data[position + 2];
- sector.addressField.track = data[position + 3];
- sector.addressField.sector = data[position + 4];
- sector.addressField.side = data[position + 5];
- sector.addressField.format = (AppleEncodedFormat)data[position + 6];
- sector.addressField.checksum = data[position + 7];
- sector.addressField.epilogue = new byte[2];
- sector.addressField.epilogue[0] = data[position + 8];
- sector.addressField.epilogue[1] = data[position + 9];
+ RawSector sector = new RawSector
+ {
+ addressField = new RawAddressField
+ {
+ prologue = new[] {data[position], data[position + 1], data[position + 2]},
+ track = data[position + 3],
+ sector = data[position + 4],
+ side = data[position + 5],
+ format = (AppleEncodedFormat)data[position + 6],
+ checksum = data[position + 7],
+ epilogue = new[] {data[position + 8], data[position + 9]}
+ }
+ };
position += 10;
- syncCount = 0;
- onSync = false;
- gaps = new MemoryStream();
+ int syncCount = 0;
+ bool onSync = false;
+ MemoryStream gaps = new MemoryStream();
while(data[position] == 0xFF)
{
@@ -282,12 +280,11 @@ namespace DiscImageChef.Decoders.Floppy
return null;
sector.innerGap = gaps.ToArray();
- sector.dataField = new RawDataField();
- sector.dataField.prologue = new byte[3];
- sector.dataField.prologue[0] = data[position];
- sector.dataField.prologue[1] = data[position + 1];
- sector.dataField.prologue[2] = data[position + 2];
- sector.dataField.spare = data[position + 3];
+ sector.dataField = new RawDataField
+ {
+ prologue = new[] {data[position], data[position + 1], data[position + 2]},
+ spare = data[position + 3]
+ };
position += 4;
gaps = new MemoryStream();
@@ -382,8 +379,7 @@ namespace DiscImageChef.Decoders.Floppy
public static RawTrack MarshalTrack(byte[] data, int offset = 0)
{
- int temp;
- return MarshalTrack(data, out temp, offset);
+ return MarshalTrack(data, out _, offset);
}
public static RawTrack MarshalTrack(byte[] data, out int endOffset, int offset = 0)
@@ -434,9 +430,7 @@ namespace DiscImageChef.Decoders.Floppy
if(sectors.Count == 0) return null;
- RawTrack track = new RawTrack();
- track.gap = gaps.ToArray();
- track.sectors = sectors.ToArray();
+ RawTrack track = new RawTrack {gap = gaps.ToArray(), sectors = sectors.ToArray()};
endOffset = position;
return track;
}
@@ -447,7 +441,7 @@ namespace DiscImageChef.Decoders.Floppy
MemoryStream raw = new MemoryStream();
raw.Write(track.gap, 0, track.gap.Length);
- foreach(byte[] rawSector in track.sectors.Select(sector => MarshalSector(sector)))
+ foreach(byte[] rawSector in track.sectors.Select(MarshalSector))
{ raw.Write(rawSector, 0, rawSector.Length); }
return raw.ToArray();
@@ -455,8 +449,7 @@ namespace DiscImageChef.Decoders.Floppy
public static List MarshalDisk(byte[] data, int offset = 0)
{
- int temp;
- return MarshalDisk(data, out temp, offset);
+ return MarshalDisk(data, out _, offset);
}
public static List MarshalDisk(byte[] data, out int endOffset, int offset = 0)
@@ -488,15 +481,14 @@ namespace DiscImageChef.Decoders.Floppy
if(disk == null) return null;
MemoryStream raw = new MemoryStream();
- foreach(byte[] rawTrack in disk.Select(track => MarshalTrack(track))) { raw.Write(rawTrack, 0, rawTrack.Length); }
+ foreach(byte[] rawTrack in disk.Select(MarshalTrack)) { raw.Write(rawTrack, 0, rawTrack.Length); }
return raw.ToArray();
}
public static bool IsAppleSonyGCR(byte[] data)
{
- int position;
- RawSector sector = MarshalSector(data, out position, 0);
+ RawSector sector = MarshalSector(data, out int position);
return sector != null && position != 0;
}
diff --git a/DiscImageChef.Decoders/Floppy/Commodore.cs b/DiscImageChef.Decoders/Floppy/Commodore.cs
index bbd533510..8c9aa522d 100644
--- a/DiscImageChef.Decoders/Floppy/Commodore.cs
+++ b/DiscImageChef.Decoders/Floppy/Commodore.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
namespace DiscImageChef.Decoders.Floppy
@@ -37,6 +38,9 @@ namespace DiscImageChef.Decoders.Floppy
///
/// Methods and structures for Commodore GCR floppy decoding
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Commodore
{
///
diff --git a/DiscImageChef.Decoders/Floppy/Enums.cs b/DiscImageChef.Decoders/Floppy/Enums.cs
index 25f53e550..1fd6b9a99 100644
--- a/DiscImageChef.Decoders/Floppy/Enums.cs
+++ b/DiscImageChef.Decoders/Floppy/Enums.cs
@@ -30,11 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.Floppy
{
///
/// In-sector code for sector size
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum IBMSectorSizeCode : byte
{
///
@@ -71,6 +74,7 @@ namespace DiscImageChef.Decoders.Floppy
FricelyFriceKilo = 7
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum IBMIdType : byte
{
IndexMark = 0xFC,
@@ -79,6 +83,7 @@ namespace DiscImageChef.Decoders.Floppy
DeletedDataMark = 0xF8
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum AppleEncodedFormat : byte
{
///
diff --git a/DiscImageChef.Decoders/Floppy/ISO.cs b/DiscImageChef.Decoders/Floppy/ISO.cs
index c52dce7f0..9ee89f5bc 100644
--- a/DiscImageChef.Decoders/Floppy/ISO.cs
+++ b/DiscImageChef.Decoders/Floppy/ISO.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
namespace DiscImageChef.Decoders.Floppy
@@ -47,6 +48,9 @@ namespace DiscImageChef.Decoders.Floppy
///
/// Methods and structures for ISO floppy decoding (also used by Atari ST and others)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class ISO
{
///
diff --git a/DiscImageChef.Decoders/Floppy/Perpendicular.cs b/DiscImageChef.Decoders/Floppy/Perpendicular.cs
index b88001000..1499535c3 100644
--- a/DiscImageChef.Decoders/Floppy/Perpendicular.cs
+++ b/DiscImageChef.Decoders/Floppy/Perpendicular.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
namespace DiscImageChef.Decoders.Floppy
@@ -47,6 +48,9 @@ namespace DiscImageChef.Decoders.Floppy
///
/// Methods and structures for perpendicular MFM floppy decoding
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Perpendicular
{
///
diff --git a/DiscImageChef.Decoders/Floppy/System34.cs b/DiscImageChef.Decoders/Floppy/System34.cs
index 1bf539ddd..e2765fb51 100644
--- a/DiscImageChef.Decoders/Floppy/System34.cs
+++ b/DiscImageChef.Decoders/Floppy/System34.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
namespace DiscImageChef.Decoders.Floppy
@@ -47,6 +48,9 @@ namespace DiscImageChef.Decoders.Floppy
///
/// Methods and structures for IBM System 34 floppy decoding
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class System34
{
///
diff --git a/DiscImageChef.Decoders/Floppy/System3740.cs b/DiscImageChef.Decoders/Floppy/System3740.cs
index 0d9b35f29..fab31ab23 100644
--- a/DiscImageChef.Decoders/Floppy/System3740.cs
+++ b/DiscImageChef.Decoders/Floppy/System3740.cs
@@ -30,6 +30,7 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
namespace DiscImageChef.Decoders.Floppy
@@ -47,6 +48,9 @@ namespace DiscImageChef.Decoders.Floppy
///
/// Methods and structures for IBM System 3740 floppy decoding
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class System3740
{
///
diff --git a/DiscImageChef.Decoders/LisaTag.cs b/DiscImageChef.Decoders/LisaTag.cs
index ce7638b7b..d318860e8 100644
--- a/DiscImageChef.Decoders/LisaTag.cs
+++ b/DiscImageChef.Decoders/LisaTag.cs
@@ -31,9 +31,13 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
namespace DiscImageChef.Decoders
{
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class LisaTag
{
///
@@ -42,48 +46,48 @@ namespace DiscImageChef.Decoders
public struct ProfileTag
{
/// 0x00, Lisa OS version number
- public ushort version;
+ public ushort Version;
/// 0x02 bits 7 to 6, kind of info in this block
- public byte kind;
+ public byte Kind;
/// 0x02 bits 5 to 0, reserved
- public byte reserved;
+ public byte Reserved;
/// 0x03, disk volume number
- public byte volume;
+ public byte Volume;
/// 0x04, file ID
- public short fileID;
+ public short FileId;
///
/// 0x06 bit 7, checksum valid?
///
- public bool validChk;
+ public bool ValidChk;
///
/// 0x06 bits 6 to 0, used bytes in block
///
- public ushort usedBytes;
+ public ushort UsedBytes;
///
/// 0x08, 3 bytes, absolute page number
///
- public uint absPage;
+ public uint AbsPage;
///
/// 0x0B, checksum of data
///
- public byte checksum;
+ public byte Checksum;
///
/// 0x0C, relative page number
///
- public ushort relPage;
+ public ushort RelPage;
///
/// 0x0E, 3 bytes, next block, 0xFFFFFF if it's last block
///
- public uint nextBlock;
+ public uint NextBlock;
///
/// 0x11, 3 bytes, previous block, 0xFFFFFF if it's first block
///
- public uint prevBlock;
+ public uint PrevBlock;
/// On-memory value for easy first block search.
- public bool isFirst;
+ public bool IsFirst;
/// On-memory value for easy last block search.
- public bool isLast;
+ public bool IsLast;
}
///
@@ -92,52 +96,52 @@ namespace DiscImageChef.Decoders
public struct PriamTag
{
/// 0x00, Lisa OS version number
- public ushort version;
+ public ushort Version;
/// 0x02 bits 7 to 6, kind of info in this block
- public byte kind;
+ public byte Kind;
/// 0x02 bits 5 to 0, reserved
- public byte reserved;
+ public byte Reserved;
/// 0x03, disk volume number
- public byte volume;
+ public byte Volume;
/// 0x04, file ID
- public short fileID;
+ public short FileId;
///
/// 0x06 bit 7, checksum valid?
///
- public bool validChk;
+ public bool ValidChk;
///
/// 0x06 bits 6 to 0, used bytes in block
///
- public ushort usedBytes;
+ public ushort UsedBytes;
///
/// 0x08, 3 bytes, absolute page number
///
- public uint absPage;
+ public uint AbsPage;
///
/// 0x0B, checksum of data
///
- public byte checksum;
+ public byte Checksum;
///
/// 0x0C, relative page number
///
- public ushort relPage;
+ public ushort RelPage;
///
/// 0x0E, 3 bytes, next block, 0xFFFFFF if it's last block
///
- public uint nextBlock;
+ public uint NextBlock;
///
/// 0x11, 3 bytes, previous block, 0xFFFFFF if it's first block
///
- public uint prevBlock;
+ public uint PrevBlock;
///
/// 0x14, disk size
///
- public uint diskSize;
+ public uint DiskSize;
/// On-memory value for easy first block search.
- public bool isFirst;
+ public bool IsFirst;
/// On-memory value for easy last block search.
- public bool isLast;
+ public bool IsLast;
}
///
@@ -146,32 +150,32 @@ namespace DiscImageChef.Decoders
public struct SonyTag
{
/// 0x00, Lisa OS version number
- public ushort version;
+ public ushort Version;
/// 0x02 bits 7 to 6, kind of info in this block
- public byte kind;
+ public byte Kind;
/// 0x02 bits 5 to 0, reserved
- public byte reserved;
+ public byte Reserved;
/// 0x03, disk volume number
- public byte volume;
+ public byte Volume;
/// 0x04, file ID
- public short fileID;
+ public short FileId;
///
/// 0x06, relative page number
///
- public ushort relPage;
+ public ushort RelPage;
///
/// 0x08, 3 bytes, next block, 0x7FF if it's last block, 0x8000 set if block is valid
///
- public ushort nextBlock;
+ public ushort NextBlock;
///
/// 0x0A, 3 bytes, previous block, 0x7FF if it's first block
///
- public ushort prevBlock;
+ public ushort PrevBlock;
/// On-memory value for easy first block search.
- public bool isFirst;
+ public bool IsFirst;
/// On-memory value for easy last block search.
- public bool isLast;
+ public bool IsLast;
}
public static SonyTag? DecodeSonyTag(byte[] tag)
@@ -182,17 +186,17 @@ namespace DiscImageChef.Decoders
BigEndianBitConverter.IsLittleEndian = BitConverter.IsLittleEndian;
- snTag.version = BigEndianBitConverter.ToUInt16(tag, 0);
- snTag.kind = (byte)((tag[2] & 0xC0) >> 6);
- snTag.reserved = (byte)(tag[2] & 0x3F);
- snTag.volume = tag[3];
- snTag.fileID = BigEndianBitConverter.ToInt16(tag, 4);
- snTag.relPage = BigEndianBitConverter.ToUInt16(tag, 6);
- snTag.nextBlock = (ushort)(BigEndianBitConverter.ToUInt16(tag, 8) & 0x7FF);
- snTag.prevBlock = (ushort)(BigEndianBitConverter.ToUInt16(tag, 10) & 0x7FF);
+ snTag.Version = BigEndianBitConverter.ToUInt16(tag, 0);
+ snTag.Kind = (byte)((tag[2] & 0xC0) >> 6);
+ snTag.Reserved = (byte)(tag[2] & 0x3F);
+ snTag.Volume = tag[3];
+ snTag.FileId = BigEndianBitConverter.ToInt16(tag, 4);
+ snTag.RelPage = BigEndianBitConverter.ToUInt16(tag, 6);
+ snTag.NextBlock = (ushort)(BigEndianBitConverter.ToUInt16(tag, 8) & 0x7FF);
+ snTag.PrevBlock = (ushort)(BigEndianBitConverter.ToUInt16(tag, 10) & 0x7FF);
- snTag.isLast = snTag.nextBlock == 0x7FF;
- snTag.isFirst = snTag.prevBlock == 0x7FF;
+ snTag.IsLast = snTag.NextBlock == 0x7FF;
+ snTag.IsFirst = snTag.PrevBlock == 0x7FF;
return snTag;
}
@@ -207,37 +211,37 @@ namespace DiscImageChef.Decoders
byte[] tmp = new byte[4];
- phTag.version = BigEndianBitConverter.ToUInt16(tag, 0);
- phTag.kind = (byte)((tag[2] & 0xC0) >> 6);
- phTag.reserved = (byte)(tag[2] & 0x3F);
- phTag.volume = tag[3];
- phTag.fileID = BigEndianBitConverter.ToInt16(tag, 4);
- phTag.validChk |= (tag[6] & 0x80) == 0x80;
- phTag.usedBytes = (ushort)(BigEndianBitConverter.ToUInt16(tag, 6) & 0x7FFF);
+ phTag.Version = BigEndianBitConverter.ToUInt16(tag, 0);
+ phTag.Kind = (byte)((tag[2] & 0xC0) >> 6);
+ phTag.Reserved = (byte)(tag[2] & 0x3F);
+ phTag.Volume = tag[3];
+ phTag.FileId = BigEndianBitConverter.ToInt16(tag, 4);
+ phTag.ValidChk |= (tag[6] & 0x80) == 0x80;
+ phTag.UsedBytes = (ushort)(BigEndianBitConverter.ToUInt16(tag, 6) & 0x7FFF);
tmp[0] = 0x00;
tmp[1] = tag[8];
tmp[2] = tag[9];
tmp[3] = tag[10];
- phTag.absPage = BigEndianBitConverter.ToUInt32(tmp, 0);
+ phTag.AbsPage = BigEndianBitConverter.ToUInt32(tmp, 0);
- phTag.checksum = tag[11];
- phTag.relPage = BigEndianBitConverter.ToUInt16(tag, 12);
+ phTag.Checksum = tag[11];
+ phTag.RelPage = BigEndianBitConverter.ToUInt16(tag, 12);
tmp[0] = 0x00;
tmp[1] = tag[14];
tmp[2] = tag[15];
tmp[3] = tag[16];
- phTag.nextBlock = BigEndianBitConverter.ToUInt32(tmp, 0);
+ phTag.NextBlock = BigEndianBitConverter.ToUInt32(tmp, 0);
tmp[0] = 0x00;
tmp[1] = tag[17];
tmp[2] = tag[18];
tmp[3] = tag[19];
- phTag.prevBlock = BigEndianBitConverter.ToUInt32(tmp, 0);
+ phTag.PrevBlock = BigEndianBitConverter.ToUInt32(tmp, 0);
- phTag.isLast = phTag.nextBlock == 0xFFFFFF;
- phTag.isFirst = phTag.prevBlock == 0xFFFFFF;
+ phTag.IsLast = phTag.NextBlock == 0xFFFFFF;
+ phTag.IsFirst = phTag.PrevBlock == 0xFFFFFF;
return phTag;
}
@@ -252,39 +256,39 @@ namespace DiscImageChef.Decoders
byte[] tmp = new byte[4];
- pmTag.version = BigEndianBitConverter.ToUInt16(tag, 0);
- pmTag.kind = (byte)((tag[2] & 0xC0) >> 6);
- pmTag.reserved = (byte)(tag[2] & 0x3F);
- pmTag.volume = tag[3];
- pmTag.fileID = BigEndianBitConverter.ToInt16(tag, 4);
- pmTag.validChk |= (tag[6] & 0x80) == 0x80;
- pmTag.usedBytes = (ushort)(BigEndianBitConverter.ToUInt16(tag, 6) & 0x7FFF);
+ pmTag.Version = BigEndianBitConverter.ToUInt16(tag, 0);
+ pmTag.Kind = (byte)((tag[2] & 0xC0) >> 6);
+ pmTag.Reserved = (byte)(tag[2] & 0x3F);
+ pmTag.Volume = tag[3];
+ pmTag.FileId = BigEndianBitConverter.ToInt16(tag, 4);
+ pmTag.ValidChk |= (tag[6] & 0x80) == 0x80;
+ pmTag.UsedBytes = (ushort)(BigEndianBitConverter.ToUInt16(tag, 6) & 0x7FFF);
tmp[0] = 0x00;
tmp[1] = tag[8];
tmp[2] = tag[9];
tmp[3] = tag[10];
- pmTag.absPage = BigEndianBitConverter.ToUInt32(tmp, 0);
+ pmTag.AbsPage = BigEndianBitConverter.ToUInt32(tmp, 0);
- pmTag.checksum = tag[11];
- pmTag.relPage = BigEndianBitConverter.ToUInt16(tag, 12);
+ pmTag.Checksum = tag[11];
+ pmTag.RelPage = BigEndianBitConverter.ToUInt16(tag, 12);
tmp[0] = 0x00;
tmp[1] = tag[14];
tmp[2] = tag[15];
tmp[3] = tag[16];
- pmTag.nextBlock = BigEndianBitConverter.ToUInt32(tmp, 0);
+ pmTag.NextBlock = BigEndianBitConverter.ToUInt32(tmp, 0);
tmp[0] = 0x00;
tmp[1] = tag[17];
tmp[2] = tag[18];
tmp[3] = tag[19];
- pmTag.prevBlock = BigEndianBitConverter.ToUInt32(tmp, 0);
+ pmTag.PrevBlock = BigEndianBitConverter.ToUInt32(tmp, 0);
- pmTag.diskSize = BigEndianBitConverter.ToUInt32(tag, 20);
+ pmTag.DiskSize = BigEndianBitConverter.ToUInt32(tag, 20);
- pmTag.isLast = pmTag.nextBlock == 0xFFFFFF;
- pmTag.isFirst = pmTag.prevBlock == 0xFFFFFF;
+ pmTag.IsLast = pmTag.NextBlock == 0xFFFFFF;
+ pmTag.IsFirst = pmTag.PrevBlock == 0xFFFFFF;
return pmTag;
}
@@ -303,21 +307,21 @@ namespace DiscImageChef.Decoders
if(snTag == null) return null;
pmTag = new PriamTag();
- pmTag.absPage = 0;
- pmTag.checksum = 0;
- pmTag.diskSize = 0;
- pmTag.fileID = snTag.Value.fileID;
- pmTag.kind = snTag.Value.kind;
- pmTag.nextBlock = snTag.Value.nextBlock;
- pmTag.prevBlock = snTag.Value.prevBlock;
- pmTag.relPage = snTag.Value.relPage;
- pmTag.reserved = snTag.Value.reserved;
- pmTag.usedBytes = 0;
- pmTag.validChk = false;
- pmTag.version = snTag.Value.version;
- pmTag.volume = snTag.Value.volume;
- pmTag.isFirst = snTag.Value.isFirst;
- pmTag.isLast = snTag.Value.isLast;
+ pmTag.AbsPage = 0;
+ pmTag.Checksum = 0;
+ pmTag.DiskSize = 0;
+ pmTag.FileId = snTag.Value.FileId;
+ pmTag.Kind = snTag.Value.Kind;
+ pmTag.NextBlock = snTag.Value.NextBlock;
+ pmTag.PrevBlock = snTag.Value.PrevBlock;
+ pmTag.RelPage = snTag.Value.RelPage;
+ pmTag.Reserved = snTag.Value.Reserved;
+ pmTag.UsedBytes = 0;
+ pmTag.ValidChk = false;
+ pmTag.Version = snTag.Value.Version;
+ pmTag.Volume = snTag.Value.Volume;
+ pmTag.IsFirst = snTag.Value.IsFirst;
+ pmTag.IsLast = snTag.Value.IsLast;
return pmTag;
case 20:
@@ -326,21 +330,21 @@ namespace DiscImageChef.Decoders
if(phTag == null) return null;
pmTag = new PriamTag();
- pmTag.absPage = phTag.Value.absPage;
- pmTag.checksum = phTag.Value.checksum;
- pmTag.diskSize = 0;
- pmTag.fileID = phTag.Value.fileID;
- pmTag.kind = phTag.Value.kind;
- pmTag.nextBlock = phTag.Value.nextBlock;
- pmTag.prevBlock = phTag.Value.prevBlock;
- pmTag.relPage = phTag.Value.relPage;
- pmTag.reserved = phTag.Value.reserved;
- pmTag.usedBytes = phTag.Value.usedBytes;
- pmTag.validChk = phTag.Value.validChk;
- pmTag.version = phTag.Value.version;
- pmTag.volume = phTag.Value.volume;
- pmTag.isFirst = phTag.Value.isFirst;
- pmTag.isLast = phTag.Value.isLast;
+ pmTag.AbsPage = phTag.Value.AbsPage;
+ pmTag.Checksum = phTag.Value.Checksum;
+ pmTag.DiskSize = 0;
+ pmTag.FileId = phTag.Value.FileId;
+ pmTag.Kind = phTag.Value.Kind;
+ pmTag.NextBlock = phTag.Value.NextBlock;
+ pmTag.PrevBlock = phTag.Value.PrevBlock;
+ pmTag.RelPage = phTag.Value.RelPage;
+ pmTag.Reserved = phTag.Value.Reserved;
+ pmTag.UsedBytes = phTag.Value.UsedBytes;
+ pmTag.ValidChk = phTag.Value.ValidChk;
+ pmTag.Version = phTag.Value.Version;
+ pmTag.Volume = phTag.Value.Volume;
+ pmTag.IsFirst = phTag.Value.IsFirst;
+ pmTag.IsLast = phTag.Value.IsLast;
return pmTag;
case 24: return DecodePriamTag(tag);
diff --git a/DiscImageChef.Decoders/MMC/CID.cs b/DiscImageChef.Decoders/MMC/CID.cs
index 34e3cca93..ec64f88d8 100644
--- a/DiscImageChef.Decoders/MMC/CID.cs
+++ b/DiscImageChef.Decoders/MMC/CID.cs
@@ -31,10 +31,15 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.MMC
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "UnassignedField.Global")]
public class CID
{
public byte Manufacturer;
@@ -47,18 +52,18 @@ namespace DiscImageChef.Decoders.MMC
public byte CRC;
}
- public partial class Decoders
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ public static partial class Decoders
{
public static CID DecodeCID(uint[] response)
{
- if(response == null) return null;
-
- if(response.Length != 4) return null;
+ if(response?.Length != 4) return null;
byte[] data = new byte[16];
- byte[] tmp;
- tmp = BitConverter.GetBytes(response[0]);
+ byte[] tmp = BitConverter.GetBytes(response[0]);
Array.Copy(tmp, 0, data, 0, 4);
tmp = BitConverter.GetBytes(response[1]);
Array.Copy(tmp, 0, data, 4, 4);
@@ -72,22 +77,20 @@ namespace DiscImageChef.Decoders.MMC
public static CID DecodeCID(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 16) return null;
- if(response.Length != 16) return null;
-
- byte[] tmp;
-
- CID cid = new CID();
- cid.Manufacturer = response[0];
- cid.DeviceType = (byte)(response[1] & 0x03);
- tmp = new byte[6];
+ CID cid = new CID
+ {
+ Manufacturer = response[0],
+ DeviceType = (byte)(response[1] & 0x03),
+ ProductRevision = response[9],
+ ProductSerialNumber = BitConverter.ToUInt32(response, 10),
+ ManufacturingDate = response[14],
+ CRC = (byte)((response[15] & 0xFE) >> 1)
+ };
+ byte[] tmp = new byte[6];
Array.Copy(response, 3, tmp, 0, 6);
cid.ProductName = StringHandlers.CToString(tmp);
- cid.ProductRevision = response[9];
- cid.ProductSerialNumber = BitConverter.ToUInt32(response, 10);
- cid.ManufacturingDate = response[14];
- cid.CRC = (byte)((response[15] & 0xFE) >> 1);
return cid;
}
diff --git a/DiscImageChef.Decoders/MMC/CSD.cs b/DiscImageChef.Decoders/MMC/CSD.cs
index 7cc70bd70..d9a5a997b 100644
--- a/DiscImageChef.Decoders/MMC/CSD.cs
+++ b/DiscImageChef.Decoders/MMC/CSD.cs
@@ -31,10 +31,15 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.MMC
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public class CSD
{
public byte Structure;
@@ -72,18 +77,18 @@ namespace DiscImageChef.Decoders.MMC
public byte CRC;
}
- public partial class Decoders
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ public static partial class Decoders
{
public static CSD DecodeCSD(uint[] response)
{
- if(response == null) return null;
-
- if(response.Length != 4) return null;
+ if(response?.Length != 4) return null;
byte[] data = new byte[16];
- byte[] tmp;
- tmp = BitConverter.GetBytes(response[0]);
+ byte[] tmp = BitConverter.GetBytes(response[0]);
Array.Copy(tmp, 0, data, 0, 4);
tmp = BitConverter.GetBytes(response[1]);
Array.Copy(tmp, 0, data, 4, 4);
@@ -97,47 +102,44 @@ namespace DiscImageChef.Decoders.MMC
public static CSD DecodeCSD(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 16) return null;
- if(response.Length != 16) return null;
-
- CSD csd = new CSD();
-
- csd.Structure = (byte)((response[0] & 0xC0) >> 6);
- csd.Version = (byte)((response[0] & 0x3C) >> 2);
- csd.TAAC = response[1];
- csd.NSAC = response[2];
- csd.Speed = response[3];
- csd.Classes = (ushort)((response[4] << 4) + ((response[5] & 0xF0) >> 4));
- csd.ReadBlockLength = (byte)(response[5] & 0x0F);
- csd.ReadsPartialBlocks = (response[6] & 0x80) == 0x80;
- csd.WriteMisalignment = (response[6] & 0x40) == 0x40;
- csd.ReadMisalignment = (response[6] & 0x20) == 0x20;
- csd.DSRImplemented = (response[6] & 0x10) == 0x10;
- csd.Size = (ushort)(((response[6] & 0x03) << 10) + (response[7] << 2) + ((response[8] & 0xC0) >> 6));
- csd.ReadCurrentAtVddMin = (byte)((response[8] & 0x38) >> 3);
- csd.ReadCurrentAtVddMax = (byte)(response[8] & 0x07);
- csd.WriteCurrentAtVddMin = (byte)((response[9] & 0xE0) >> 5);
- csd.WriteCurrentAtVddMax = (byte)((response[9] & 0x1C) >> 2);
- csd.SizeMultiplier = (byte)(((response[9] & 0x03) << 1) + ((response[10] & 0x80) >> 7));
- csd.EraseGroupSize = (byte)((response[10] & 0x7C) >> 2);
- csd.EraseGroupSizeMultiplier = (byte)(((response[10] & 0x03) << 3) + ((response[11] & 0xE0) >> 5));
- csd.WriteProtectGroupSize = (byte)(response[11] & 0x1F);
- csd.WriteProtectGroupEnable = (response[12] & 0x80) == 0x80;
- csd.DefaultECC = (byte)((response[12] & 0x60) >> 5);
- csd.WriteSpeedFactor = (byte)((response[12] & 0x1C) >> 2);
- csd.WriteBlockLength = (byte)(((response[12] & 0x03) << 2) + ((response[13] & 0xC0) >> 6));
- csd.WritesPartialBlocks = (response[13] & 0x20) == 0x20;
- csd.ContentProtection = (response[13] & 0x01) == 0x01;
- csd.FileFormatGroup = (response[14] & 0x80) == 0x80;
- csd.Copy = (response[14] & 0x40) == 0x40;
- csd.PermanentWriteProtect = (response[14] & 0x20) == 0x20;
- csd.TemporaryWriteProtect = (response[14] & 0x10) == 0x10;
- csd.FileFormat = (byte)((response[14] & 0x0C) >> 2);
- csd.ECC = (byte)(response[14] & 0x03);
- csd.CRC = (byte)((response[15] & 0xFE) >> 1);
-
- return csd;
+ return new CSD
+ {
+ Structure = (byte)((response[0] & 0xC0) >> 6),
+ Version = (byte)((response[0] & 0x3C) >> 2),
+ TAAC = response[1],
+ NSAC = response[2],
+ Speed = response[3],
+ Classes = (ushort)((response[4] << 4) + ((response[5] & 0xF0) >> 4)),
+ ReadBlockLength = (byte)(response[5] & 0x0F),
+ ReadsPartialBlocks = (response[6] & 0x80) == 0x80,
+ WriteMisalignment = (response[6] & 0x40) == 0x40,
+ ReadMisalignment = (response[6] & 0x20) == 0x20,
+ DSRImplemented = (response[6] & 0x10) == 0x10,
+ Size = (ushort)(((response[6] & 0x03) << 10) + (response[7] << 2) + ((response[8] & 0xC0) >> 6)),
+ ReadCurrentAtVddMin = (byte)((response[8] & 0x38) >> 3),
+ ReadCurrentAtVddMax = (byte)(response[8] & 0x07),
+ WriteCurrentAtVddMin = (byte)((response[9] & 0xE0) >> 5),
+ WriteCurrentAtVddMax = (byte)((response[9] & 0x1C) >> 2),
+ SizeMultiplier = (byte)(((response[9] & 0x03) << 1) + ((response[10] & 0x80) >> 7)),
+ EraseGroupSize = (byte)((response[10] & 0x7C) >> 2),
+ EraseGroupSizeMultiplier = (byte)(((response[10] & 0x03) << 3) + ((response[11] & 0xE0) >> 5)),
+ WriteProtectGroupSize = (byte)(response[11] & 0x1F),
+ WriteProtectGroupEnable = (response[12] & 0x80) == 0x80,
+ DefaultECC = (byte)((response[12] & 0x60) >> 5),
+ WriteSpeedFactor = (byte)((response[12] & 0x1C) >> 2),
+ WriteBlockLength = (byte)(((response[12] & 0x03) << 2) + ((response[13] & 0xC0) >> 6)),
+ WritesPartialBlocks = (response[13] & 0x20) == 0x20,
+ ContentProtection = (response[13] & 0x01) == 0x01,
+ FileFormatGroup = (response[14] & 0x80) == 0x80,
+ Copy = (response[14] & 0x40) == 0x40,
+ PermanentWriteProtect = (response[14] & 0x20) == 0x20,
+ TemporaryWriteProtect = (response[14] & 0x10) == 0x10,
+ FileFormat = (byte)((response[14] & 0x0C) >> 2),
+ ECC = (byte)(response[14] & 0x03),
+ CRC = (byte)((response[15] & 0xFE) >> 1)
+ };
}
public static string PrettifyCSD(CSD csd)
diff --git a/DiscImageChef.Decoders/MMC/ExtendedCSD.cs b/DiscImageChef.Decoders/MMC/ExtendedCSD.cs
index cd517d46e..02f7a39a1 100644
--- a/DiscImageChef.Decoders/MMC/ExtendedCSD.cs
+++ b/DiscImageChef.Decoders/MMC/ExtendedCSD.cs
@@ -31,11 +31,16 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
using System.Text;
namespace DiscImageChef.Decoders.MMC
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "UnassignedField.Global")]
[StructLayout(LayoutKind.Sequential)]
public class ExtendedCSD
{
@@ -197,7 +202,10 @@ namespace DiscImageChef.Decoders.MMC
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 15)] public byte[] Reserved18;
}
- public partial class Decoders
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ public static partial class Decoders
{
public static ExtendedCSD DecodeExtendedCSD(byte[] response)
{
diff --git a/DiscImageChef.Decoders/MMC/OCR.cs b/DiscImageChef.Decoders/MMC/OCR.cs
index 74068ad3f..f61fdf21c 100644
--- a/DiscImageChef.Decoders/MMC/OCR.cs
+++ b/DiscImageChef.Decoders/MMC/OCR.cs
@@ -31,10 +31,15 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.MMC
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public class OCR
{
public bool PowerUp;
@@ -58,42 +63,40 @@ namespace DiscImageChef.Decoders.MMC
public bool OneSix;
}
- public partial class Decoders
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ public static partial class Decoders
{
public static OCR DecodeOCR(uint response)
{
- OCR ocr = new OCR();
-
- ocr.PowerUp = (response & 0x80000000) == 0x80000000;
- ocr.AccessMode = (byte)((response & 0x60000000) >> 29);
- ocr.ThreeFive = (response & 0x00800000) == 0x00800000;
- ocr.ThreeFour = (response & 0x00400000) == 0x00400000;
- ocr.ThreeThree = (response & 0x00200000) == 0x00200000;
- ocr.ThreeTwo = (response & 0x00100000) == 0x00100000;
- ocr.ThreeOne = (response & 0x00080000) == 0x00080000;
- ocr.ThreeZero = (response & 0x00040000) == 0x00040000;
- ocr.TwoNine = (response & 0x00020000) == 0x00020000;
- ocr.TwoEight = (response & 0x00010000) == 0x00010000;
- ocr.TwoSeven = (response & 0x00008000) == 0x00008000;
- ocr.TwoSix = (response & 0x00004000) == 0x00004000;
- ocr.TwoFive = (response & 0x00002000) == 0x00002000;
- ocr.TwoFour = (response & 0x00001000) == 0x00001000;
- ocr.TwoThree = (response & 0x00000800) == 0x00000800;
- ocr.TwoTwo = (response & 0x00000400) == 0x00000400;
- ocr.TwoOne = (response & 0x00000200) == 0x00000200;
- ocr.TwoZero = (response & 0x00000100) == 0x00000100;
- ocr.OneSix = (response & 0x00000080) == 0x00000080;
-
- return ocr;
+ return new OCR
+ {
+ PowerUp = (response & 0x80000000) == 0x80000000,
+ AccessMode = (byte)((response & 0x60000000) >> 29),
+ ThreeFive = (response & 0x00800000) == 0x00800000,
+ ThreeFour = (response & 0x00400000) == 0x00400000,
+ ThreeThree = (response & 0x00200000) == 0x00200000,
+ ThreeTwo = (response & 0x00100000) == 0x00100000,
+ ThreeOne = (response & 0x00080000) == 0x00080000,
+ ThreeZero = (response & 0x00040000) == 0x00040000,
+ TwoNine = (response & 0x00020000) == 0x00020000,
+ TwoEight = (response & 0x00010000) == 0x00010000,
+ TwoSeven = (response & 0x00008000) == 0x00008000,
+ TwoSix = (response & 0x00004000) == 0x00004000,
+ TwoFive = (response & 0x00002000) == 0x00002000,
+ TwoFour = (response & 0x00001000) == 0x00001000,
+ TwoThree = (response & 0x00000800) == 0x00000800,
+ TwoTwo = (response & 0x00000400) == 0x00000400,
+ TwoOne = (response & 0x00000200) == 0x00000200,
+ TwoZero = (response & 0x00000100) == 0x00000100,
+ OneSix = (response & 0x00000080) == 0x00000080
+ };
}
public static OCR DecodeOCR(byte[] response)
{
- if(response == null) return null;
-
- if(response.Length != 4) return null;
-
- return DecodeOCR(BitConverter.ToUInt32(response, 0));
+ return response?.Length != 4 ? null : DecodeOCR(BitConverter.ToUInt32(response, 0));
}
public static string PrettifyOCR(OCR ocr)
diff --git a/DiscImageChef.Decoders/MMC/VendorString.cs b/DiscImageChef.Decoders/MMC/VendorString.cs
index 4bf5e2371..0c2d6cd40 100644
--- a/DiscImageChef.Decoders/MMC/VendorString.cs
+++ b/DiscImageChef.Decoders/MMC/VendorString.cs
@@ -34,12 +34,12 @@ namespace DiscImageChef.Decoders.MMC
{
public static class VendorString
{
- public static string Prettify(byte MMCVendorID)
+ public static string Prettify(byte mmcVendorId)
{
- switch(MMCVendorID)
+ switch(mmcVendorId)
{
case 0x15: return "Samsung";
- default: return $"Unknown manufacturer ID 0x{MMCVendorID:X2}";
+ default: return $"Unknown manufacturer ID 0x{mmcVendorId:X2}";
}
}
}
diff --git a/DiscImageChef.Decoders/PCMCIA/CIS.cs b/DiscImageChef.Decoders/PCMCIA/CIS.cs
index 7c533fa22..5afa75dbb 100644
--- a/DiscImageChef.Decoders/PCMCIA/CIS.cs
+++ b/DiscImageChef.Decoders/PCMCIA/CIS.cs
@@ -32,11 +32,15 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
namespace DiscImageChef.Decoders.PCMCIA
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class CIS
{
// TODO: Handle links? Or are they removed in lower layers of the operating system drivers?
@@ -47,9 +51,7 @@ namespace DiscImageChef.Decoders.PCMCIA
while(position < data.Length)
{
- Tuple tuple = new Tuple();
-
- tuple.Code = (TupleCodes)data[position];
+ Tuple tuple = new Tuple {Code = (TupleCodes)data[position]};
if(tuple.Code == TupleCodes.CISTPL_NULL) continue;
@@ -75,28 +77,27 @@ namespace DiscImageChef.Decoders.PCMCIA
if(tuple.Code != TupleCodes.CISTPL_DEVICEGEO && tuple.Code != TupleCodes.CISTPL_DEVICEGEO_A) return null;
- if(tuple.Data == null) return null;
-
- return DecodeDeviceGeometryTuple(tuple.Data);
+ return tuple.Data == null ? null : DecodeDeviceGeometryTuple(tuple.Data);
}
public static DeviceGeometryTuple DecodeDeviceGeometryTuple(byte[] data)
{
- if(data == null) return null;
- if((data.Length - 2) % 6 != 0) return null;
+ if((data?.Length - 2) % 6 != 0) return null;
DeviceGeometryTuple tuple = new DeviceGeometryTuple();
List geometries = new List();
for(int position = 2; position < data.Length; position += 6)
{
- DeviceGeometry geometry = new DeviceGeometry();
- geometry.CardInterface = data[position];
- geometry.EraseBlockSize = data[position + 1];
- geometry.ReadBlockSize = data[position + 2];
- geometry.WriteBlockSize = data[position + 3];
- geometry.Partitions = data[position + 4];
- geometry.Interleaving = data[position + 5];
+ DeviceGeometry geometry = new DeviceGeometry
+ {
+ CardInterface = data[position],
+ EraseBlockSize = data[position + 1],
+ ReadBlockSize = data[position + 2],
+ WriteBlockSize = data[position + 3],
+ Partitions = data[position + 4],
+ Interleaving = data[position + 5]
+ };
geometries.Add(geometry);
}
@@ -145,13 +146,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public static ManufacturerIdentificationTuple DecodeManufacturerIdentificationTuple(Tuple tuple)
{
- if(tuple == null) return null;
+ if(tuple?.Code != TupleCodes.CISTPL_MANFID) return null;
- if(tuple.Code != TupleCodes.CISTPL_MANFID) return null;
-
- if(tuple.Data == null) return null;
-
- return DecodeManufacturerIdentificationTuple(tuple.Data);
+ return tuple.Data == null ? null : DecodeManufacturerIdentificationTuple(tuple.Data);
}
public static ManufacturerIdentificationTuple DecodeManufacturerIdentificationTuple(byte[] data)
@@ -160,20 +157,18 @@ namespace DiscImageChef.Decoders.PCMCIA
if(data.Length < 6) return null;
- ManufacturerIdentificationTuple tuple = new ManufacturerIdentificationTuple();
- tuple.Code = (TupleCodes)data[0];
- tuple.Link = data[1];
- tuple.ManufacturerID = BitConverter.ToUInt16(data, 2);
- tuple.CardID = BitConverter.ToUInt16(data, 4);
-
- return tuple;
+ return new ManufacturerIdentificationTuple
+ {
+ Code = (TupleCodes)data[0],
+ Link = data[1],
+ ManufacturerID = BitConverter.ToUInt16(data, 2),
+ CardID = BitConverter.ToUInt16(data, 4)
+ };
}
public static string PrettifyManufacturerIdentificationTuple(ManufacturerIdentificationTuple tuple)
{
- if(tuple == null) return null;
-
- if(tuple.Code != TupleCodes.CISTPL_MANFID) return null;
+ if(tuple?.Code != TupleCodes.CISTPL_MANFID) return null;
StringBuilder sb = new StringBuilder();
sb.AppendLine("PCMCIA Manufacturer Identification Tuple:");
@@ -195,13 +190,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public static Level1VersionTuple DecodeLevel1VersionTuple(Tuple tuple)
{
- if(tuple == null) return null;
+ if(tuple?.Code != TupleCodes.CISTPL_VERS_1) return null;
- if(tuple.Code != TupleCodes.CISTPL_VERS_1) return null;
-
- if(tuple.Data == null) return null;
-
- return DecodeLevel1VersionTuple(tuple.Data);
+ return tuple.Data == null ? null : DecodeLevel1VersionTuple(tuple.Data);
}
public static Level1VersionTuple DecodeLevel1VersionTuple(byte[] data)
@@ -215,11 +206,13 @@ namespace DiscImageChef.Decoders.PCMCIA
bool firstString = false;
bool secondString = false;
- Level1VersionTuple tuple = new Level1VersionTuple();
- tuple.Code = (TupleCodes)data[0];
- tuple.Link = data[1];
- tuple.MajorVersion = data[2];
- tuple.MinorVersion = data[3];
+ Level1VersionTuple tuple = new Level1VersionTuple
+ {
+ Code = (TupleCodes)data[0],
+ Link = data[1],
+ MajorVersion = data[2],
+ MinorVersion = data[3]
+ };
for(int position = 4; position < data.Length; position++)
{
@@ -259,9 +252,7 @@ namespace DiscImageChef.Decoders.PCMCIA
public static string PrettifyLevel1VersionTuple(Level1VersionTuple tuple)
{
- if(tuple == null) return null;
-
- if(tuple.Code != TupleCodes.CISTPL_VERS_1) return null;
+ if(tuple?.Code != TupleCodes.CISTPL_VERS_1) return null;
StringBuilder sb = new StringBuilder();
sb.AppendLine("PCMCIA Level 1 Version / Product Information Tuple:");
diff --git a/DiscImageChef.Decoders/PCMCIA/Enums.cs b/DiscImageChef.Decoders/PCMCIA/Enums.cs
index 5a627639d..74c0a886f 100644
--- a/DiscImageChef.Decoders/PCMCIA/Enums.cs
+++ b/DiscImageChef.Decoders/PCMCIA/Enums.cs
@@ -30,11 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.PCMCIA
{
///
/// Tuple codes.
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum TupleCodes : byte
{
///
@@ -199,6 +202,7 @@ namespace DiscImageChef.Decoders.PCMCIA
CISTPL_SPCL = 0x90
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum DeviceTypeCodes : byte
{
///
@@ -243,6 +247,7 @@ namespace DiscImageChef.Decoders.PCMCIA
DTYPE_EXTEND = 14
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum DeviceSpeedCodes : byte
{
///
@@ -271,6 +276,7 @@ namespace DiscImageChef.Decoders.PCMCIA
DSPEED_EXT = 7
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum FunctionCodes : byte
{
MultiFunction = 0x00,
diff --git a/DiscImageChef.Decoders/PCMCIA/Types.cs b/DiscImageChef.Decoders/PCMCIA/Types.cs
index 2f41af3d0..18767aa7a 100644
--- a/DiscImageChef.Decoders/PCMCIA/Types.cs
+++ b/DiscImageChef.Decoders/PCMCIA/Types.cs
@@ -30,11 +30,16 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.PCMCIA
{
///
/// Basic classure of a PCMCIA tuple
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class Tuple
{
public TupleCodes Code;
@@ -45,6 +50,9 @@ namespace DiscImageChef.Decoders.PCMCIA
///
/// Checksum tuple
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class ChecksumTuple
{
///
@@ -72,6 +80,9 @@ namespace DiscImageChef.Decoders.PCMCIA
///
/// Indirect Access PC Card Memory
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class IndirectTuple
{
///
@@ -87,6 +98,9 @@ namespace DiscImageChef.Decoders.PCMCIA
///
/// Link target tuple
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class LinkTargetTuple
{
///
@@ -106,6 +120,9 @@ namespace DiscImageChef.Decoders.PCMCIA
///
/// 16-bit PC Card Long Link Tuple
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class LongLinkTuple
{
///
@@ -122,6 +139,10 @@ namespace DiscImageChef.Decoders.PCMCIA
public uint Address;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "ClassNeverInstantiated.Global")]
public class ConfigurationAddress
{
///
@@ -137,6 +158,9 @@ namespace DiscImageChef.Decoders.PCMCIA
///
/// Multiple function link tuple
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class MultipleFunctionLinkTuple
{
///
@@ -157,6 +181,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public ConfigurationAddress[] Addresses;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class NoLinkTuple
{
///
@@ -169,6 +196,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public byte Link;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class AlternateStringTuple
{
///
@@ -185,6 +215,10 @@ namespace DiscImageChef.Decoders.PCMCIA
public string[] Strings;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "ClassNeverInstantiated.Global")]
public class ExtendedDeviceSpeed
{
///
@@ -201,6 +235,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public byte Exponent;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public struct DeviceInfo
{
///
@@ -233,6 +270,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public byte SizeCode;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class DeviceTuple
{
///
@@ -249,6 +289,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public DeviceInfo[] Infos;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public struct OtherConditionInfo
{
///
@@ -265,6 +308,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public bool MWAIT;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class OtherConditionTuple
{
///
@@ -285,6 +331,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public DeviceInfo[] Infos;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public struct DeviceGeometry
{
///
@@ -317,6 +366,10 @@ namespace DiscImageChef.Decoders.PCMCIA
public byte Interleaving;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public class DeviceGeometryTuple
{
///
@@ -333,6 +386,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public DeviceGeometry[] Geometries;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class FunctionIdentificationTuple
{
///
@@ -357,6 +413,10 @@ namespace DiscImageChef.Decoders.PCMCIA
public bool POST;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public class ManufacturerIdentificationTuple
{
///
@@ -377,6 +437,10 @@ namespace DiscImageChef.Decoders.PCMCIA
public ushort CardID;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public class Level1VersionTuple
{
///
@@ -409,6 +473,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public string[] AdditionalInformation;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class Level2VersionTuple
{
///
@@ -453,6 +520,9 @@ namespace DiscImageChef.Decoders.PCMCIA
public string Information;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class GeometryTuple
{
///
diff --git a/DiscImageChef.Decoders/PCMCIA/VendorCode.cs b/DiscImageChef.Decoders/PCMCIA/VendorCode.cs
index 9a4fd69e9..364b8a41f 100644
--- a/DiscImageChef.Decoders/PCMCIA/VendorCode.cs
+++ b/DiscImageChef.Decoders/PCMCIA/VendorCode.cs
@@ -30,8 +30,11 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.PCMCIA
{
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
public static class VendorCode
{
public static string Prettify(ushort id)
diff --git a/DiscImageChef.Decoders/SCSI/DiscStructureCapabilities.cs b/DiscImageChef.Decoders/SCSI/DiscStructureCapabilities.cs
index b4289f4e3..ef202bb4d 100644
--- a/DiscImageChef.Decoders/SCSI/DiscStructureCapabilities.cs
+++ b/DiscImageChef.Decoders/SCSI/DiscStructureCapabilities.cs
@@ -31,9 +31,14 @@
// ****************************************************************************/
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class DiscStructureCapabilities
{
public struct Capability
@@ -64,10 +69,12 @@ namespace DiscImageChef.Decoders.SCSI
while(offset < response.Length)
{
- Capability cap = new Capability();
- cap.FormatCode = response[offset];
- cap.SDS = (response[offset + 1] & 0x80) == 0x80;
- cap.RDS = (response[offset + 1] & 0x40) == 0x40;
+ Capability cap = new Capability
+ {
+ FormatCode = response[offset],
+ SDS = (response[offset + 1] & 0x80) == 0x80,
+ RDS = (response[offset + 1] & 0x40) == 0x40
+ };
caps.Add(cap);
offset += 4;
}
diff --git a/DiscImageChef.Decoders/SCSI/EVPD.cs b/DiscImageChef.Decoders/SCSI/EVPD.cs
index d14ac39aa..752a1ff22 100644
--- a/DiscImageChef.Decoders/SCSI/EVPD.cs
+++ b/DiscImageChef.Decoders/SCSI/EVPD.cs
@@ -32,6 +32,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
@@ -39,6 +40,11 @@ using DiscImageChef.Decoders.ATA;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
+ [SuppressMessage("ReSharper", "UnassignedField.Global")]
public static class EVPD
{
///
@@ -48,9 +54,7 @@ namespace DiscImageChef.Decoders.SCSI
/// Page 0x00.
public static byte[] DecodePage00(byte[] page)
{
- if(page == null) return null;
-
- if(page[1] != 0) return null;
+ if(page?[1] != 0) return null;
if(page.Length != page[3] + 4) return null;
@@ -88,9 +92,7 @@ namespace DiscImageChef.Decoders.SCSI
/// Page 0x80.
public static string DecodePage80(byte[] page)
{
- if(page == null) return null;
-
- if(page[1] != 0x80) return null;
+ if(page?[1] != 0x80) return null;
if(page.Length != page[3] + 4) return null;
@@ -140,21 +142,20 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_81? DecodePage_81(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0x81) return null;
+ if(pageResponse?[1] != 0x81) return null;
if(pageResponse[3] + 4 != pageResponse.Length) return null;
if(pageResponse.Length < 6) return null;
- Page_81 decoded = new Page_81();
-
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
- decoded.Current = (ScsiDefinitions)(pageResponse[4] & 0x7F);
- decoded.Default = (ScsiDefinitions)(pageResponse[5] & 0x7F);
+ Page_81 decoded = new Page_81
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ Current = (ScsiDefinitions)(pageResponse[4] & 0x7F),
+ Default = (ScsiDefinitions)(pageResponse[5] & 0x7F)
+ };
int position = 6;
List definitions = new List();
@@ -222,9 +223,7 @@ namespace DiscImageChef.Decoders.SCSI
/// Page 0x82.
public static string DecodePage82(byte[] page)
{
- if(page == null) return null;
-
- if(page[1] != 0x82) return null;
+ if(page?[1] != 0x82) return null;
if(page.Length != page[3] + 4) return null;
@@ -378,32 +377,34 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_83? DecodePage_83(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0x83) return null;
+ if(pageResponse?[1] != 0x83) return null;
if(pageResponse[3] + 4 != pageResponse.Length) return null;
if(pageResponse.Length < 6) return null;
- Page_83 decoded = new Page_83();
+ Page_83 decoded = new Page_83
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4)
+ };
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
int position = 4;
List descriptors = new List();
while(position < pageResponse.Length)
{
- IdentificatonDescriptor descriptor = new IdentificatonDescriptor();
- descriptor.ProtocolIdentifier = (ProtocolIdentifiers)((pageResponse[position] & 0xF0) >> 4);
- descriptor.CodeSet = (IdentificationCodeSet)(pageResponse[position] & 0x0F);
- descriptor.PIV |= (pageResponse[position + 1] & 0x80) == 0x80;
- descriptor.Association = (IdentificationAssociation)((pageResponse[position + 1] & 0x30) >> 4);
- descriptor.Type = (IdentificationTypes)(pageResponse[position + 1] & 0x0F);
- descriptor.Length = pageResponse[position + 3];
+ IdentificatonDescriptor descriptor = new IdentificatonDescriptor
+ {
+ ProtocolIdentifier = (ProtocolIdentifiers)((pageResponse[position] & 0xF0) >> 4),
+ CodeSet = (IdentificationCodeSet)(pageResponse[position] & 0x0F),
+ PIV = (pageResponse[position + 1] & 0x80) == 0x80,
+ Association = (IdentificationAssociation)((pageResponse[position + 1] & 0x30) >> 4),
+ Type = (IdentificationTypes)(pageResponse[position + 1] & 0x0F),
+ Length = pageResponse[position + 3]
+ };
descriptor.Binary = new byte[descriptor.Length];
if(descriptor.Length + position + 4 >= pageResponse.Length)
descriptor.Length = (byte)(pageResponse.Length - position - 4);
@@ -534,6 +535,7 @@ namespace DiscImageChef.Decoders.SCSI
(byte)descriptor.CodeSet).AppendLine();
break;
}
+
break;
case IdentificationTypes.Inquiry:
switch(descriptor.CodeSet) {
@@ -550,6 +552,7 @@ namespace DiscImageChef.Decoders.SCSI
(byte)descriptor.CodeSet).AppendLine();
break;
}
+
break;
case IdentificationTypes.EUI:
if(descriptor.CodeSet == IdentificationCodeSet.ASCII ||
@@ -782,27 +785,26 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_84? DecodePage_84(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0x84) return null;
+ if(pageResponse?[1] != 0x84) return null;
if(pageResponse[3] + 4 != pageResponse.Length) return null;
if(pageResponse.Length < 10) return null;
- Page_84 decoded = new Page_84();
+ Page_84 decoded = new Page_84
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4)
+ };
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
int position = 4;
List identifiers = new List();
while(position < pageResponse.Length)
{
- SoftwareIdentifier identifier = new SoftwareIdentifier();
- identifier.Identifier = new byte[6];
+ SoftwareIdentifier identifier = new SoftwareIdentifier {Identifier = new byte[6]};
Array.Copy(pageResponse, position, identifier.Identifier, 0, 6);
identifiers.Add(identifier);
position += 6;
@@ -909,29 +911,31 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_85? DecodePage_85(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0x85) return null;
+ if(pageResponse?[1] != 0x85) return null;
if((pageResponse[2] << 8) + pageResponse[3] + 4 != pageResponse.Length) return null;
if(pageResponse.Length < 4) return null;
- Page_85 decoded = new Page_85();
+ Page_85 decoded = new Page_85
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (ushort)((pageResponse[2] << 8) + pageResponse[3] + 4)
+ };
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (ushort)((pageResponse[2] << 8) + pageResponse[3] + 4);
int position = 4;
List descriptors = new List();
while(position < pageResponse.Length)
{
- NetworkDescriptor descriptor = new NetworkDescriptor();
- descriptor.Association = (IdentificationAssociation)((pageResponse[position] & 0x60) >> 5);
- descriptor.Type = (NetworkServiceTypes)(pageResponse[position] & 0x1F);
- descriptor.Length = (ushort)((pageResponse[position + 2] << 8) + pageResponse[position + 3]);
+ NetworkDescriptor descriptor = new NetworkDescriptor
+ {
+ Association = (IdentificationAssociation)((pageResponse[position] & 0x60) >> 5),
+ Type = (NetworkServiceTypes)(pageResponse[position] & 0x1F),
+ Length = (ushort)((pageResponse[position + 2] << 8) + pageResponse[position + 3])
+ };
descriptor.Address = new byte[descriptor.Length];
Array.Copy(pageResponse, position + 4, descriptor.Address, 0, descriptor.Length);
@@ -1164,49 +1168,45 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_86? DecodePage_86(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0x86) return null;
+ if(pageResponse?[1] != 0x86) return null;
if(pageResponse[3] + 4 != pageResponse.Length) return null;
if(pageResponse.Length < 64) return null;
- Page_86 decoded = new Page_86();
-
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
-
- decoded.ActivateMicrocode = (byte)((pageResponse[4] & 0xC0) >> 6);
- decoded.SPT = (byte)((pageResponse[4] & 0x38) >> 3);
- decoded.GRD_CHK |= (pageResponse[4] & 0x04) == 0x04;
- decoded.APP_CHK |= (pageResponse[4] & 0x02) == 0x02;
- decoded.REF_CHK |= (pageResponse[4] & 0x01) == 0x01;
- decoded.UASK_SUP |= (pageResponse[5] & 0x20) == 0x20;
- decoded.GROUP_SUP |= (pageResponse[5] & 0x10) == 0x10;
- decoded.PRIOR_SUP |= (pageResponse[5] & 0x08) == 0x08;
- decoded.HEADSUP |= (pageResponse[5] & 0x04) == 0x04;
- decoded.ORDSUP |= (pageResponse[5] & 0x02) == 0x02;
- decoded.SIMPSUP |= (pageResponse[5] & 0x01) == 0x01;
- decoded.WU_SUP |= (pageResponse[6] & 0x08) == 0x08;
- decoded.CRD_SUP |= (pageResponse[6] & 0x04) == 0x04;
- decoded.NV_SUP |= (pageResponse[6] & 0x02) == 0x02;
- decoded.V_SUP |= (pageResponse[6] & 0x01) == 0x01;
- decoded.NO_PI_CHK |= (pageResponse[7] & 0x20) == 0x20;
- decoded.P_I_I_SUP |= (pageResponse[7] & 0x10) == 0x10;
- decoded.LUICLR |= (pageResponse[7] & 0x01) == 0x01;
- decoded.R_SUP |= (pageResponse[8] & 0x10) == 0x10;
- decoded.HSSRELEF |= (pageResponse[8] & 0x02) == 0x02;
- decoded.CBCS |= (pageResponse[8] & 0x01) == 0x01;
- decoded.Nexus = (byte)(pageResponse[9] & 0x0F);
- decoded.ExtendedTestMinutes = (ushort)((pageResponse[10] << 8) + pageResponse[11]);
- decoded.POA_SUP |= (pageResponse[12] & 0x80) == 0x80;
- decoded.HRA_SUP |= (pageResponse[12] & 0x40) == 0x40;
- decoded.VSA_SUP |= (pageResponse[12] & 0x20) == 0x20;
- decoded.MaximumSenseLength = pageResponse[13];
-
- return decoded;
+ return new Page_86
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ ActivateMicrocode = (byte)((pageResponse[4] & 0xC0) >> 6),
+ SPT = (byte)((pageResponse[4] & 0x38) >> 3),
+ GRD_CHK = (pageResponse[4] & 0x04) == 0x04,
+ APP_CHK = (pageResponse[4] & 0x02) == 0x02,
+ REF_CHK = (pageResponse[4] & 0x01) == 0x01,
+ UASK_SUP = (pageResponse[5] & 0x20) == 0x20,
+ GROUP_SUP = (pageResponse[5] & 0x10) == 0x10,
+ PRIOR_SUP = (pageResponse[5] & 0x08) == 0x08,
+ HEADSUP = (pageResponse[5] & 0x04) == 0x04,
+ ORDSUP = (pageResponse[5] & 0x02) == 0x02,
+ SIMPSUP = (pageResponse[5] & 0x01) == 0x01,
+ WU_SUP = (pageResponse[6] & 0x08) == 0x08,
+ CRD_SUP = (pageResponse[6] & 0x04) == 0x04,
+ NV_SUP = (pageResponse[6] & 0x02) == 0x02,
+ V_SUP = (pageResponse[6] & 0x01) == 0x01,
+ NO_PI_CHK = (pageResponse[7] & 0x20) == 0x20,
+ P_I_I_SUP = (pageResponse[7] & 0x10) == 0x10,
+ LUICLR = (pageResponse[7] & 0x01) == 0x01,
+ R_SUP = (pageResponse[8] & 0x10) == 0x10,
+ HSSRELEF = (pageResponse[8] & 0x02) == 0x02,
+ CBCS = (pageResponse[8] & 0x01) == 0x01,
+ Nexus = (byte)(pageResponse[9] & 0x0F),
+ ExtendedTestMinutes = (ushort)((pageResponse[10] << 8) + pageResponse[11]),
+ POA_SUP = (pageResponse[12] & 0x80) == 0x80,
+ HRA_SUP = (pageResponse[12] & 0x40) == 0x40,
+ VSA_SUP = (pageResponse[12] & 0x20) == 0x20,
+ MaximumSenseLength = pageResponse[13]
+ };
}
public static string PrettifyPage_86(byte[] pageResponse)
@@ -1254,6 +1254,7 @@ namespace DiscImageChef.Decoders.SCSI
.AppendLine();
break;
}
+
break;
case PeripheralDeviceTypes.SequentialAccess when page.SPT == 1: sb.AppendLine("Logical unit supports logical block protection");
break;
@@ -1346,25 +1347,23 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_89? DecodePage_89(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0x89) return null;
+ if(pageResponse?[1] != 0x89) return null;
if((pageResponse[2] << 8) + pageResponse[3] + 4 != pageResponse.Length) return null;
if(pageResponse.Length < 572) return null;
- Page_89 decoded = new Page_89();
-
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (ushort)((pageResponse[2] << 8) + pageResponse[3] + 4);
-
- decoded.VendorIdentification = new byte[8];
- decoded.ProductIdentification = new byte[16];
- decoded.ProductRevisionLevel = new byte[4];
- decoded.Signature = new byte[20];
- decoded.IdentifyData = new byte[512];
+ Page_89 decoded = new Page_89
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (ushort)((pageResponse[2] << 8) + pageResponse[3] + 4),
+ VendorIdentification = new byte[8],
+ ProductIdentification = new byte[16],
+ ProductRevisionLevel = new byte[4],
+ Signature = new byte[20],
+ IdentifyData = new byte[512]
+ };
Array.Copy(pageResponse, 8, decoded.VendorIdentification, 0, 8);
Array.Copy(pageResponse, 8, decoded.ProductIdentification, 0, 16);
@@ -1478,25 +1477,25 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_C0_Quantum? DecodePage_C0_Quantum(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0xC0) return null;
+ if(pageResponse?[1] != 0xC0) return null;
if(pageResponse[3] != 20) return null;
if(pageResponse.Length != 36) return null;
- Page_C0_Quantum decoded = new Page_C0_Quantum();
+ Page_C0_Quantum decoded = new Page_C0_Quantum
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ ServoFirmwareChecksum = (ushort)((pageResponse[4] << 8) + pageResponse[5]),
+ ServoEEPROMChecksum = (ushort)((pageResponse[6] << 8) + pageResponse[7]),
+ ReadWriteFirmwareChecksum =
+ (uint)((pageResponse[8] << 24) + (pageResponse[9] << 16) + (pageResponse[10] << 8) +
+ pageResponse[11]),
+ ReadWriteFirmwareBuildData = new byte[24]
+ };
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
-
- decoded.ServoFirmwareChecksum = (ushort)((pageResponse[4] << 8) + pageResponse[5]);
- decoded.ServoEEPROMChecksum = (ushort)((pageResponse[6] << 8) + pageResponse[7]);
- decoded.ReadWriteFirmwareChecksum = (uint)((pageResponse[8] << 24) + (pageResponse[9] << 16) +
- (pageResponse[10] << 8) + pageResponse[11]);
- decoded.ReadWriteFirmwareBuildData = new byte[24];
Array.Copy(pageResponse, 12, decoded.ReadWriteFirmwareBuildData, 0, 24);
return decoded;
@@ -1565,16 +1564,16 @@ namespace DiscImageChef.Decoders.SCSI
if(pageResponse.Length != 96) return null;
- Page_C0_C1_Certance decoded = new Page_C0_C1_Certance();
-
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
-
- decoded.Component = new byte[26];
- decoded.Version = new byte[19];
- decoded.Date = new byte[24];
- decoded.Variant = new byte[23];
+ Page_C0_C1_Certance decoded = new Page_C0_C1_Certance
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ Component = new byte[26],
+ Version = new byte[19],
+ Date = new byte[24],
+ Variant = new byte[23]
+ };
Array.Copy(pageResponse, 4, decoded.Component, 0, 26);
Array.Copy(pageResponse, 30, decoded.Version, 0, 19);
@@ -1644,13 +1643,14 @@ namespace DiscImageChef.Decoders.SCSI
if(pageResponse.Length != 16) return null;
- Page_C2_C3_C4_C5_C6_Certance decoded = new Page_C2_C3_C4_C5_C6_Certance();
+ Page_C2_C3_C4_C5_C6_Certance decoded = new Page_C2_C3_C4_C5_C6_Certance
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ SerialNumber = new byte[12]
+ };
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
-
- decoded.SerialNumber = new byte[12];
Array.Copy(pageResponse, 4, decoded.SerialNumber, 0, 12);
return decoded;
@@ -1789,41 +1789,38 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_DF_Certance? DecodePage_DF_Certance(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0xDF) return null;
+ if(pageResponse?[1] != 0xDF) return null;
if(pageResponse[3] != 60) return null;
if(pageResponse.Length != 64) return null;
- Page_DF_Certance decoded = new Page_DF_Certance();
-
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
-
- decoded.CmdFwd = (byte)((pageResponse[5] & 0xC0) >> 5);
- decoded.Alerts |= (pageResponse[5] & 0x20) == 0x20;
- decoded.NoRemov |= (pageResponse[5] & 0x08) == 0x08;
- decoded.UnitRsvd |= (pageResponse[5] & 0x04) == 0x04;
- decoded.Clean |= (pageResponse[5] & 0x01) == 0x01;
- decoded.Threaded |= (pageResponse[6] & 0x10) == 0x10;
- decoded.Lun1Cmd |= (pageResponse[6] & 0x08) == 0x08;
- decoded.AutoloadMode = (byte)(pageResponse[6] & 0x07);
- decoded.CartridgeType = pageResponse[8];
- decoded.CartridgeFormat = pageResponse[9];
- decoded.CartridgeCapacity = (ushort)((pageResponse[10] << 8) + pageResponse[11] + 4);
- decoded.PortATransportType = pageResponse[12];
- decoded.PortASelectionID = pageResponse[15];
- decoded.OperatingHours = (uint)((pageResponse[20] << 24) + (pageResponse[21] << 16) +
- (pageResponse[22] << 8) + pageResponse[23]);
+ Page_DF_Certance decoded = new Page_DF_Certance
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ CmdFwd = (byte)((pageResponse[5] & 0xC0) >> 5),
+ Alerts = (pageResponse[5] & 0x20) == 0x20,
+ NoRemov = (pageResponse[5] & 0x08) == 0x08,
+ UnitRsvd = (pageResponse[5] & 0x04) == 0x04,
+ Clean = (pageResponse[5] & 0x01) == 0x01,
+ Threaded = (pageResponse[6] & 0x10) == 0x10,
+ Lun1Cmd = (pageResponse[6] & 0x08) == 0x08,
+ AutoloadMode = (byte)(pageResponse[6] & 0x07),
+ CartridgeType = pageResponse[8],
+ CartridgeFormat = pageResponse[9],
+ CartridgeCapacity = (ushort)((pageResponse[10] << 8) + pageResponse[11] + 4),
+ PortATransportType = pageResponse[12],
+ PortASelectionID = pageResponse[15],
+ OperatingHours = (uint)((pageResponse[20] << 24) + (pageResponse[21] << 16) + (pageResponse[22] << 8) +
+ pageResponse[23]),
+ CartridgeSerialNumber = new byte[32]
+ };
byte[] buf = new byte[8];
Array.Copy(pageResponse, 24, buf, 0, 8);
decoded.InitiatorID = BitConverter.ToUInt64(buf.Reverse().ToArray(), 0);
-
- decoded.CartridgeSerialNumber = new byte[32];
Array.Copy(pageResponse, 32, decoded.CartridgeSerialNumber, 0, 32);
return decoded;
@@ -1984,22 +1981,22 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_C0_IBM? DecodePage_C0_IBM(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0xC0) return null;
+ if(pageResponse?[1] != 0xC0) return null;
if(pageResponse[3] != 39) return null;
if(pageResponse.Length != 43) return null;
- Page_C0_IBM decoded = new Page_C0_IBM();
+ Page_C0_IBM decoded = new Page_C0_IBM
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ CodeName = new byte[12],
+ Date = new byte[8]
+ };
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
- decoded.CodeName = new byte[12];
- decoded.Date = new byte[8];
Array.Copy(pageResponse, 4, decoded.CodeName, 0, 12);
Array.Copy(pageResponse, 23, decoded.Date, 0, 8);
@@ -2057,22 +2054,20 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_C1_IBM? DecodePage_C1_IBM(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0xC1) return null;
+ if(pageResponse?[1] != 0xC1) return null;
if(pageResponse[3] != 24) return null;
if(pageResponse.Length != 28) return null;
- Page_C1_IBM decoded = new Page_C1_IBM();
-
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
-
- decoded.ManufacturingSerial = new byte[12];
- decoded.ReportedSerial = new byte[12];
+ Page_C1_IBM decoded = new Page_C1_IBM
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ ManufacturingSerial = new byte[12],
+ ReportedSerial = new byte[12]
+ };
Array.Copy(pageResponse, 4, decoded.ManufacturingSerial, 0, 12);
Array.Copy(pageResponse, 16, decoded.ReportedSerial, 0, 12);
@@ -2132,22 +2127,20 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_B0? DecodePage_B0(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0xB0) return null;
+ if(pageResponse?[1] != 0xB0) return null;
if((pageResponse[2] << 8) + pageResponse[3] + 4 != pageResponse.Length) return null;
if(pageResponse.Length < 5) return null;
- Page_B0 decoded = new Page_B0();
-
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (ushort)((pageResponse[2] << 8) + pageResponse[3] + 4);
-
- decoded.TSMC = (pageResponse[4] & 0x02) == 0x02;
- decoded.WORM = (pageResponse[4] & 0x01) == 0x01;
+ Page_B0 decoded = new Page_B0
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (ushort)((pageResponse[2] << 8) + pageResponse[3] + 4),
+ TSMC = (pageResponse[4] & 0x02) == 0x02,
+ WORM = (pageResponse[4] & 0x01) == 0x01
+ };
return decoded;
}
@@ -2176,9 +2169,7 @@ namespace DiscImageChef.Decoders.SCSI
#region EVPD Page 0xB1: Manufacturer-assigned Serial Number page
public static string DecodePageB1(byte[] page)
{
- if(page == null) return null;
-
- if(page[1] != 0xB1) return null;
+ if(page?[1] != 0xB1) return null;
if(page.Length != page[3] + 4) return null;
@@ -2193,9 +2184,7 @@ namespace DiscImageChef.Decoders.SCSI
#region EVPD Page 0xB2: TapeAlert Supported Flags page
public static ulong DecodePageB2(byte[] page)
{
- if(page == null) return 0;
-
- if(page[1] != 0xB2) return 0;
+ if(page?[1] != 0xB2) return 0;
if(page.Length != 12) return 0;
@@ -2210,9 +2199,7 @@ namespace DiscImageChef.Decoders.SCSI
#region EVPD Page 0xB3: Automation Device Serial Number page
public static string DecodePageB3(byte[] page)
{
- if(page == null) return null;
-
- if(page[1] != 0xB3) return null;
+ if(page?[1] != 0xB3) return null;
if(page.Length != page[3] + 4) return null;
@@ -2227,9 +2214,7 @@ namespace DiscImageChef.Decoders.SCSI
#region EVPD Page 0xB4: Data Transfer Device Element Address page
public static string DecodePageB4(byte[] page)
{
- if(page == null) return null;
-
- if(page[1] != 0xB3) return null;
+ if(page?[1] != 0xB3) return null;
if(page.Length != page[3] + 4) return null;
@@ -2280,12 +2265,13 @@ namespace DiscImageChef.Decoders.SCSI
if(pageResponse.Length < 4) return null;
- Page_C0_to_C5_HP decoded = new Page_C0_to_C5_HP();
-
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
- decoded.PageCode = pageResponse[1];
+ Page_C0_to_C5_HP decoded = new Page_C0_to_C5_HP
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ PageCode = pageResponse[1]
+ };
if(pageResponse[3] == 92 && pageResponse.Length >= 96)
{
@@ -2305,24 +2291,20 @@ namespace DiscImageChef.Decoders.SCSI
if(pageResponse[4] != pageResponse[3] - 1) return null;
List array = new List();
- string fwRegExStr =
- "Firmware Rev\\s+=\\s+(?\\d+\\.\\d+)\\s+Build date\\s+=\\s+(?(\\w|\\d|\\s*.)*)\\s*$";
- string fwcRegExStr = "FW_CONF\\s+=\\s+(?0x[0-9A-Fa-f]{8})\\s*$";
- string servoRegExStr = "Servo\\s+Rev\\s+=\\s+(?\\d+\\.\\d+)\\s*$";
+ const string fwRegExStr = @"Firmware Rev\s+=\s+(?\d+\.\d+)\s+Build date\s+=\s+(?(\w|\d|\s*.)*)\s*$";
+ const string fwcRegExStr = @"FW_CONF\s+=\s+(?0x[0-9A-Fa-f]{8})\s*$";
+ const string servoRegExStr = @"Servo\s+Rev\s+=\s+(?\d+\.\d+)\s*$";
Regex fwRegEx = new Regex(fwRegExStr);
Regex fwcRegEx = new Regex(fwcRegExStr);
Regex servoRegEx = new Regex(servoRegExStr);
- Match fwMatch;
- Match fwcMatch;
- Match servoMatch;
for(int pos = 5; pos < pageResponse.Length; pos++)
if(pageResponse[pos] == 0x00)
{
string str = StringHandlers.CToString(array.ToArray());
- fwMatch = fwRegEx.Match(str);
- fwcMatch = fwcRegEx.Match(str);
- servoMatch = servoRegEx.Match(str);
+ Match fwMatch = fwRegEx.Match(str);
+ Match fwcMatch = fwcRegEx.Match(str);
+ Match servoMatch = servoRegEx.Match(str);
if(str.ToLowerInvariant().StartsWith("copyright", StringComparison.Ordinal))
decoded.Copyright = Encoding.ASCII.GetBytes(str);
@@ -2426,24 +2408,24 @@ namespace DiscImageChef.Decoders.SCSI
public static Page_C0_Seagate? DecodePage_C0_Seagate(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if(pageResponse[1] != 0xC0) return null;
+ if(pageResponse?[1] != 0xC0) return null;
if(pageResponse[3] != 12) return null;
if(pageResponse.Length != 16) return null;
- Page_C0_Seagate decoded = new Page_C0_Seagate();
+ Page_C0_Seagate decoded = new Page_C0_Seagate
+ {
+ PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5),
+ PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F),
+ PageLength = (byte)(pageResponse[3] + 4),
+ PageCode = pageResponse[1],
+ ControllerFirmware = new byte[4],
+ BootFirmware = new byte[4],
+ ServoFirmware = new byte[4]
+ };
- decoded.PeripheralQualifier = (PeripheralQualifiers)((pageResponse[0] & 0xE0) >> 5);
- decoded.PeripheralDeviceType = (PeripheralDeviceTypes)(pageResponse[0] & 0x1F);
- decoded.PageLength = (byte)(pageResponse[3] + 4);
- decoded.PageCode = pageResponse[1];
- decoded.ControllerFirmware = new byte[4];
- decoded.BootFirmware = new byte[4];
- decoded.ServoFirmware = new byte[4];
Array.Copy(pageResponse, 4, decoded.ControllerFirmware, 0, 4);
Array.Copy(pageResponse, 8, decoded.BootFirmware, 0, 4);
diff --git a/DiscImageChef.Decoders/SCSI/Enums.cs b/DiscImageChef.Decoders/SCSI/Enums.cs
index 225ae4cc7..e2b7b246b 100644
--- a/DiscImageChef.Decoders/SCSI/Enums.cs
+++ b/DiscImageChef.Decoders/SCSI/Enums.cs
@@ -30,6 +30,8 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.SCSI
{
public enum PeripheralQualifiers : byte
@@ -56,6 +58,7 @@ namespace DiscImageChef.Decoders.SCSI
VendorMask = 0x04
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum PeripheralDeviceTypes : byte
{
///
@@ -152,6 +155,7 @@ namespace DiscImageChef.Decoders.SCSI
UnknownDevice = 0x1F
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum ANSIVersions : byte
{
///
@@ -184,6 +188,7 @@ namespace DiscImageChef.Decoders.SCSI
ANSI2008Version = 0x06
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum ECMAVersions : byte
{
///
@@ -196,6 +201,7 @@ namespace DiscImageChef.Decoders.SCSI
ECMA111 = 0x01
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum ISOVersions : byte
{
///
@@ -208,6 +214,7 @@ namespace DiscImageChef.Decoders.SCSI
ISO1995Version = 0x02
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum SPIClocking : byte
{
///
@@ -228,6 +235,7 @@ namespace DiscImageChef.Decoders.SCSI
STandDT = 0x03
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum TGPSValues : byte
{
///
@@ -248,6 +256,7 @@ namespace DiscImageChef.Decoders.SCSI
Both = 0x03
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum ProtocolIdentifiers : byte
{
///
@@ -304,6 +313,7 @@ namespace DiscImageChef.Decoders.SCSI
NoProtocol = 15
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum ScsiDefinitions : byte
{
Current = 0,
diff --git a/DiscImageChef.Decoders/SCSI/Inquiry.cs b/DiscImageChef.Decoders/SCSI/Inquiry.cs
index 805a2a85a..4beb2b6d4 100644
--- a/DiscImageChef.Decoders/SCSI/Inquiry.cs
+++ b/DiscImageChef.Decoders/SCSI/Inquiry.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using DiscImageChef.Console;
@@ -48,6 +49,9 @@ namespace DiscImageChef.Decoders.SCSI
/// RFC 7144
/// ECMA-111
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Inquiry
{
#region Public methods
diff --git a/DiscImageChef.Decoders/SCSI/MMC/AACS.cs b/DiscImageChef.Decoders/SCSI/MMC/AACS.cs
index 1b93a7b7b..f5c7dfa49 100644
--- a/DiscImageChef.Decoders/SCSI/MMC/AACS.cs
+++ b/DiscImageChef.Decoders/SCSI/MMC/AACS.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI.MMC
@@ -50,6 +51,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class AACS
{
public struct AACSVolumeIdentifier
@@ -463,8 +468,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
StringBuilder sb = new StringBuilder();
if(response.MaxLBAExtents == 0)
- if(response.DataLength > 2) sb.AppendLine("Drive can store 256 LBA Extents");
- else sb.AppendLine("Drive cannot store LBA Extents");
+ sb.AppendLine(response.DataLength > 2
+ ? "Drive can store 256 LBA Extents"
+ : "Drive cannot store LBA Extents");
else sb.AppendFormat("Drive can store {0} LBA Extents", response.MaxLBAExtents).AppendLine();
for(int i = 0; i < response.Extents.Length; i++)
diff --git a/DiscImageChef.Decoders/SCSI/MMC/CPRM.cs b/DiscImageChef.Decoders/SCSI/MMC/CPRM.cs
index db291bb5b..a07b3d05d 100644
--- a/DiscImageChef.Decoders/SCSI/MMC/CPRM.cs
+++ b/DiscImageChef.Decoders/SCSI/MMC/CPRM.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI.MMC
@@ -50,6 +51,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class CPRM
{
public struct CPRMMediaKeyBlock
diff --git a/DiscImageChef.Decoders/SCSI/MMC/DiscInformation.cs b/DiscImageChef.Decoders/SCSI/MMC/DiscInformation.cs
index 2bcd1ec18..6de866fc4 100644
--- a/DiscImageChef.Decoders/SCSI/MMC/DiscInformation.cs
+++ b/DiscImageChef.Decoders/SCSI/MMC/DiscInformation.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI.MMC
@@ -50,6 +51,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class DiscInformation
{
public struct StandardDiscInformation
@@ -279,8 +284,8 @@ namespace DiscImageChef.Decoders.SCSI.MMC
if((response[2] & 0xE0) != 0) return null;
- StandardDiscInformation decoded = new StandardDiscInformation();
- decoded.DataLength = (ushort)((response[0] << 8) + response[1]);
+ StandardDiscInformation decoded =
+ new StandardDiscInformation {DataLength = (ushort)((response[0] << 8) + response[1])};
if(decoded.DataLength + 2 != response.Length) return null;
@@ -417,8 +422,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
(decoded.LastPossibleLeadOutStartLBA & 0xFF00) >> 8,
decoded.LastPossibleLeadOutStartLBA & 0xFF).AppendLine();
- if(decoded.URU) sb.AppendLine("Disc is defined for unrestricted use");
- else sb.AppendLine("Disc is defined for restricted use");
+ sb.AppendLine(decoded.URU ? "Disc is defined for unrestricted use" : "Disc is defined for restricted use");
if(decoded.DID_V) sb.AppendFormat("Disc ID: {0:X6}", decoded.DiscIdentification & 0x00FFFFFF).AppendLine();
if(decoded.DBC_V) sb.AppendFormat("Disc barcode: {0:X16}", decoded.DiscBarcode).AppendLine();
@@ -440,8 +444,8 @@ namespace DiscImageChef.Decoders.SCSI.MMC
if((response[2] & 0xE0) != 0x20) return null;
- TrackResourcesInformation decoded = new TrackResourcesInformation();
- decoded.DataLength = (ushort)((response[0] << 8) + response[1]);
+ TrackResourcesInformation decoded =
+ new TrackResourcesInformation {DataLength = (ushort)((response[0] << 8) + response[1])};
if(decoded.DataLength + 2 != response.Length) return null;
@@ -479,8 +483,8 @@ namespace DiscImageChef.Decoders.SCSI.MMC
if((response[2] & 0xE0) != 0x40) return null;
- POWResourcesInformation decoded = new POWResourcesInformation();
- decoded.DataLength = (ushort)((response[0] << 8) + response[1]);
+ POWResourcesInformation decoded =
+ new POWResourcesInformation {DataLength = (ushort)((response[0] << 8) + response[1])};
if(decoded.DataLength + 2 != response.Length) return null;
diff --git a/DiscImageChef.Decoders/SCSI/MMC/Enums.cs b/DiscImageChef.Decoders/SCSI/MMC/Enums.cs
index 28fce67f8..94c5448a0 100644
--- a/DiscImageChef.Decoders/SCSI/MMC/Enums.cs
+++ b/DiscImageChef.Decoders/SCSI/MMC/Enums.cs
@@ -30,8 +30,12 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.SCSI.MMC
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
public enum FormatLayerTypeCodes : ushort
{
CDLayer = 0x0008,
@@ -40,6 +44,8 @@ namespace DiscImageChef.Decoders.SCSI.MMC
HDDVDLayer = 0x0050
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
public enum SessionStatusCodes : byte
{
Empty = 0x00,
@@ -48,6 +54,8 @@ namespace DiscImageChef.Decoders.SCSI.MMC
Complete = 0x03
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
public enum DiscStatusCodes : byte
{
Empty = 0x00,
@@ -56,6 +64,8 @@ namespace DiscImageChef.Decoders.SCSI.MMC
Others = 0x03
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
public enum BGFormatStatusCodes : byte
{
NoFormattable = 0x00,
@@ -64,6 +74,8 @@ namespace DiscImageChef.Decoders.SCSI.MMC
FormatComplete = 0x03
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
public enum DiscTypeCodes : byte
{
///
diff --git a/DiscImageChef.Decoders/SCSI/MMC/Features.cs b/DiscImageChef.Decoders/SCSI/MMC/Features.cs
index 462e2c4d0..db3c5152c 100644
--- a/DiscImageChef.Decoders/SCSI/MMC/Features.cs
+++ b/DiscImageChef.Decoders/SCSI/MMC/Features.cs
@@ -32,6 +32,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
// ReSharper disable MemberCanBePrivate.Global
@@ -41,6 +42,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// MMC Feature enumeration
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum FeatureNumber : ushort
{
///
@@ -285,6 +287,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// MMC Profile enumeration
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum ProfileNumber : ushort
{
///
@@ -445,6 +448,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
Unconforming = 0xFFFF
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum PhysicalInterfaces : uint
{
///
@@ -489,6 +493,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
Vendor = 0xFFFF
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Profile
{
public ProfileNumber Number;
@@ -498,6 +505,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Profile List Feature (0000h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0000
{
///
@@ -521,6 +531,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Core Feature (0001h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0001
{
///
@@ -552,6 +565,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Morphing Feature (0002h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0002
{
///
@@ -580,6 +596,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Removable Medium Feature (0003h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0003
{
///
@@ -623,6 +642,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Write Protect Feature (0004h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0004
{
///
@@ -658,6 +680,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Random Readable Feature (0010h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0010
{
///
@@ -689,6 +714,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Multi-Read Feature (001Dh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_001D
{
///
@@ -708,6 +736,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// CD Read Feature (001Eh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_001E
{
///
@@ -739,6 +770,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD Read Feature (001Fh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_001F
{
///
@@ -770,6 +804,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Random Writable Feature (0020h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0020
{
///
@@ -805,6 +842,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Incremental Streaming Writable Feature (0021h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0021
{
///
@@ -844,6 +884,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Sector Erasable Feature (0022h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0022
{
///
@@ -863,6 +906,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Formattable Feature (0023h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0023
{
///
@@ -906,6 +952,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Hardware Defect Management Feature (0024h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0024
{
///
@@ -929,6 +978,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Write Once Feature (0025h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0025
{
///
@@ -960,6 +1012,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Restricted Overwrite Feature (0026h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0026
{
///
@@ -979,6 +1034,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// CD-RW CAV Write Feature (0027h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0027
{
///
@@ -998,6 +1056,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// MRW Feature (0028h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0028
{
///
@@ -1029,6 +1090,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Enhanced Defect Reporting Feature (0029h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0029
{
///
@@ -1060,6 +1124,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD+RW Feature (002Ah)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_002A
{
///
@@ -1091,6 +1158,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD+R Feature (002Bh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_002B
{
///
@@ -1114,6 +1184,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Rigid Restricted Overwrite Feature (002Ch)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_002C
{
///
@@ -1149,6 +1222,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// CD Track at Once Feature (002Dh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_002D
{
///
@@ -1196,6 +1272,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// CD Mastering (Session at Once) Feature (002Eh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_002E
{
///
@@ -1247,6 +1326,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD-R/-RW Write Feature (002Fh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_002F
{
///
@@ -1282,6 +1364,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Double Density CD Read Feature (0030h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0030
{
///
@@ -1301,6 +1386,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Double Density CD-R Write Feature (0031h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0031
{
///
@@ -1324,6 +1412,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Double Density CD-RW Write Feature (0032h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0032
{
///
@@ -1351,6 +1442,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Layer Jump Recording Feature (0033h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0033
{
///
@@ -1371,6 +1465,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Stop Long Operation Feature (0035h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0035
{
///
@@ -1390,6 +1487,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// CD-RW Media Write Support Feature (0037h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0037
{
///
@@ -1413,6 +1513,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// BD-R Pseudo-Overwrite (POW) Feature (0038h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0038
{
///
@@ -1432,6 +1535,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD+RW Dual Layer Feature (003Ah)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_003A
{
///
@@ -1463,6 +1569,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD+R Dual Layer Feature (003Bh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_003B
{
///
@@ -1494,6 +1603,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// BD Read Feature (0040h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0040
{
///
@@ -1545,6 +1657,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// BD Write Feature (0041h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0041
{
///
@@ -1588,6 +1703,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// TSR Feature (0042h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0042
{
///
@@ -1607,6 +1725,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// HD DVD Read Feature (0050h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0050
{
///
@@ -1634,6 +1755,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// HD DVD Write Feature (0051h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0051
{
///
@@ -1661,6 +1785,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Hybrid Disc Feature (0080h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0080
{
///
@@ -1684,6 +1811,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Power Management Feature (0100h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0100
{
///
@@ -1703,6 +1833,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// S.M.A.R.T. Feature (0101h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0101
{
///
@@ -1726,6 +1859,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Embedded Changer Feature (0102h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0102
{
///
@@ -1757,6 +1893,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// CD Audio External Play Feature (0103h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0103
{
///
@@ -1792,6 +1931,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Microcode Upgrade Feature (0104h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0104
{
///
@@ -1815,6 +1957,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Time-Out Feature (0105h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0105
{
///
@@ -1842,6 +1987,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD-CSS Feature (0106h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0106
{
///
@@ -1865,6 +2013,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Real Time Streaming Feature (0107h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0107
{
///
@@ -1908,6 +2059,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Drive serial number (0108h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0108
{
///
@@ -1931,6 +2085,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Media Serial Number Feature (0109h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0109
{
///
@@ -1950,6 +2107,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Disc Control Blocks Feature (010Ah)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_010A
{
///
@@ -1970,6 +2130,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD CPRM Feature (010Bh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_010B
{
///
@@ -1993,6 +2156,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// Firmware Information Feature (010Ch)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_010C
{
///
@@ -2019,6 +2185,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// AACS Feature (010Dh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_010D
{
///
@@ -2070,6 +2239,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// DVD CSS Managed Recording Feature (010Eh)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_010E
{
///
@@ -2093,6 +2265,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// SecurDisc Feature (0113h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0113
{
///
@@ -2112,6 +2287,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// OSSC Feature (0142h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0142
{
///
@@ -2144,6 +2322,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
///
/// VCPS Feature (0110h)
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct Feature_0110
{
///
@@ -2184,8 +2365,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
List listProfiles = new List();
while(offset < feature.Length)
{
- Profile prof = new Profile();
- prof.Number = (ProfileNumber)((feature[offset] << 8) + feature[offset + 1]);
+ Profile prof = new Profile {Number = (ProfileNumber)((feature[offset] << 8) + feature[offset + 1])};
prof.Current |= (feature[offset + 2] & 0x01) == 0x01;
listProfiles.Add(prof);
offset += 4;
@@ -3861,8 +4041,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
sb.AppendLine("MMC Morphing:");
- if(ftr.Async) sb.AppendLine("\tDrive supports polling and asynchronous GET EVENT STATUS NOTIFICATION");
- else sb.AppendLine("\tDrive supports only polling GET EVENT STATUS NOTIFICATION");
+ sb.AppendLine(ftr.Async
+ ? "\tDrive supports polling and asynchronous GET EVENT STATUS NOTIFICATION"
+ : "\tDrive supports only polling GET EVENT STATUS NOTIFICATION");
if(ftr.OCEvent) sb.AppendLine("\tDrive supports operational change request / notification class events");
@@ -4159,8 +4340,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
sb.AppendLine("MMC Enhanced Defect Reporting Feature:");
- if(ftr.DRTDM) sb.AppendLine("\tDrive supports DRT-DM mode");
- else sb.AppendLine("\tDrive supports Persistent-DM mode");
+ sb.AppendLine(ftr.DRTDM ? "\tDrive supports DRT-DM mode" : "\tDrive supports Persistent-DM mode");
if(ftr.DBICacheZones > 0)
sb.AppendFormat("\tDrive has {0} DBI cache zones", ftr.DBICacheZones).AppendLine();
@@ -4181,8 +4361,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
sb.Append("Drive can read and write DVD+RW");
if(ftr.Current) sb.AppendLine(" (current)");
else sb.AppendLine();
- if(ftr.CloseOnly) sb.AppendLine("\tDrive supports only the read compatibility stop");
- else sb.AppendLine("\tDrive supports both forms of background format stopping");
+ sb.AppendLine(ftr.CloseOnly
+ ? "\tDrive supports only the read compatibility stop"
+ : "\tDrive supports both forms of background format stopping");
if(ftr.QuickStart) sb.AppendLine("\tDrive can do a quick start formatting");
}
else
@@ -4226,8 +4407,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
StringBuilder sb = new StringBuilder();
sb.Append("MMC Rigid Restricted Overwrite");
- if(ftr.Current) sb.AppendLine(" (current):");
- else sb.AppendLine(":");
+ sb.AppendLine(ftr.Current ? " (current):" : ":");
if(ftr.Blank) sb.AppendLine("\tDrive supports the BLANK command");
if(ftr.Intermediate)
@@ -4423,8 +4603,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
sb.Append("Drive can read and write DVD+RW DL");
if(ftr.Current) sb.AppendLine(" (current)");
else sb.AppendLine();
- if(ftr.CloseOnly) sb.AppendLine("\tDrive supports only the read compatibility stop");
- else sb.AppendLine("\tDrive supports both forms of background format stopping");
+ sb.AppendLine(ftr.CloseOnly
+ ? "\tDrive supports only the read compatibility stop"
+ : "\tDrive supports both forms of background format stopping");
if(ftr.QuickStart) sb.AppendLine("\tDrive can do a quick start formatting");
}
else
@@ -4468,8 +4649,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
StringBuilder sb = new StringBuilder();
sb.Append("MMC BD Read");
- if(ftr.Current) sb.AppendLine(" (current):");
- else sb.AppendLine(":");
+ sb.AppendLine(ftr.Current ? " (current):" : ":");
if(ftr.OldROM) sb.AppendLine("\tDrive can read BD-ROM pre-1.0");
if(ftr.ROM) sb.AppendLine("\tDrive can read BD-ROM Ver.1");
@@ -4492,8 +4672,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
StringBuilder sb = new StringBuilder();
sb.Append("MMC BD Write");
- if(ftr.Current) sb.AppendLine(" (current):");
- else sb.AppendLine(":");
+ sb.AppendLine(ftr.Current ? " (current):" : ":");
if(ftr.OldR) sb.AppendLine("\tDrive can write BD-R pre-1.0");
if(ftr.R) sb.AppendLine("\tDrive can write BD-R Ver.1");
@@ -4712,7 +4891,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
if(ftr.DCBs == null) return sb.ToString();
- foreach(uint DCB in ftr.DCBs) sb.AppendFormat("Drive supports DCB {0:X8}h", DCB).AppendLine();
+ foreach(uint dcb in ftr.DCBs) sb.AppendFormat("Drive supports DCB {0:X8}h", dcb).AppendLine();
return sb.ToString();
}
@@ -4738,35 +4917,32 @@ namespace DiscImageChef.Decoders.SCSI.MMC
Feature_010C ftr = feature.Value;
StringBuilder sb = new StringBuilder();
- string syear, smonth, sday, shour, sminute, ssecond;
- byte[] temp;
-
- temp = new byte[4];
+ byte[] temp = new byte[4];
temp[0] = (byte)((ftr.Century & 0xFF00) >> 8);
temp[1] = (byte)(ftr.Century & 0xFF);
temp[2] = (byte)((ftr.Year & 0xFF00) >> 8);
temp[3] = (byte)(ftr.Year & 0xFF);
- syear = Encoding.ASCII.GetString(temp);
+ string syear = Encoding.ASCII.GetString(temp);
temp = new byte[2];
temp[0] = (byte)((ftr.Month & 0xFF00) >> 8);
temp[1] = (byte)(ftr.Month & 0xFF);
- smonth = Encoding.ASCII.GetString(temp);
+ string smonth = Encoding.ASCII.GetString(temp);
temp = new byte[2];
temp[0] = (byte)((ftr.Day & 0xFF00) >> 8);
temp[1] = (byte)(ftr.Day & 0xFF);
- sday = Encoding.ASCII.GetString(temp);
+ string sday = Encoding.ASCII.GetString(temp);
temp = new byte[2];
temp[0] = (byte)((ftr.Hour & 0xFF00) >> 8);
temp[1] = (byte)(ftr.Hour & 0xFF);
- shour = Encoding.ASCII.GetString(temp);
+ string shour = Encoding.ASCII.GetString(temp);
temp = new byte[2];
temp[0] = (byte)((ftr.Minute & 0xFF00) >> 8);
temp[1] = (byte)(ftr.Minute & 0xFF);
- sminute = Encoding.ASCII.GetString(temp);
+ string sminute = Encoding.ASCII.GetString(temp);
temp = new byte[2];
temp[0] = (byte)((ftr.Second & 0xFF00) >> 8);
temp[1] = (byte)(ftr.Second & 0xFF);
- ssecond = Encoding.ASCII.GetString(temp);
+ string ssecond = Encoding.ASCII.GetString(temp);
try
{
@@ -4776,7 +4952,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
sb.AppendFormat("Drive firmware is dated {0}", fwDate).AppendLine();
}
#pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body
- catch { }
+ catch
+ {
+ // ignored
+ }
#pragma warning restore RECS0022 // A catch clause that catches System.Exception and has an empty body
return sb.ToString();
@@ -4834,8 +5013,7 @@ namespace DiscImageChef.Decoders.SCSI.MMC
Feature_0110 ftr = feature.Value;
StringBuilder sb = new StringBuilder();
- if(ftr.Current) sb.AppendLine("Drive and currently inserted media support VCPS");
- else sb.AppendLine("Drive supports VCPS");
+ sb.AppendLine(ftr.Current ? "Drive and currently inserted media support VCPS" : "Drive supports VCPS");
return sb.ToString();
}
@@ -4847,8 +5025,9 @@ namespace DiscImageChef.Decoders.SCSI.MMC
Feature_0113 ftr = feature.Value;
StringBuilder sb = new StringBuilder();
- if(ftr.Current) sb.AppendLine("Drive and currently inserted media support SecurDisc");
- else sb.AppendLine("Drive supports SecurDisc");
+ sb.AppendLine(ftr.Current
+ ? "Drive and currently inserted media support SecurDisc"
+ : "Drive supports SecurDisc");
return sb.ToString();
}
@@ -5165,12 +5344,18 @@ namespace DiscImageChef.Decoders.SCSI.MMC
return Prettify_0142(Decode_0142(feature));
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct FeatureDescriptor
{
public ushort Code;
public byte[] Data;
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct SeparatedFeatures
{
public uint DataLength;
@@ -5180,17 +5365,21 @@ namespace DiscImageChef.Decoders.SCSI.MMC
public static SeparatedFeatures Separate(byte[] response)
{
- SeparatedFeatures dec = new SeparatedFeatures();
- dec.DataLength = (uint)((response[0] << 24) + (response[1] << 16) + (response[2] << 8) + response[4]);
- dec.CurrentProfile = (ushort)((response[6] << 8) + response[7]);
+ SeparatedFeatures dec = new SeparatedFeatures
+ {
+ DataLength = (uint)((response[0] << 24) + (response[1] << 16) + (response[2] << 8) + response[4]),
+ CurrentProfile = (ushort)((response[6] << 8) + response[7])
+ };
uint offset = 8;
List descLst = new List();
while(offset + 4 < response.Length)
{
- FeatureDescriptor desc = new FeatureDescriptor();
- desc.Code = (ushort)((response[offset + 0] << 8) + response[offset + 1]);
- desc.Data = new byte[response[offset + 3] + 4];
+ FeatureDescriptor desc = new FeatureDescriptor
+ {
+ Code = (ushort)((response[offset + 0] << 8) + response[offset + 1]),
+ Data = new byte[response[offset + 3] + 4]
+ };
if(desc.Data.Length + offset > response.Length) desc.Data = new byte[response.Length - offset];
Array.Copy(response, offset, desc.Data, 0, desc.Data.Length);
offset += (uint)desc.Data.Length;
diff --git a/DiscImageChef.Decoders/SCSI/MMC/Hybrid.cs b/DiscImageChef.Decoders/SCSI/MMC/Hybrid.cs
index 227001d05..633e54f2c 100644
--- a/DiscImageChef.Decoders/SCSI/MMC/Hybrid.cs
+++ b/DiscImageChef.Decoders/SCSI/MMC/Hybrid.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI.MMC
@@ -50,6 +51,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class Hybrid
{
public struct RecognizedFormatLayers
diff --git a/DiscImageChef.Decoders/SCSI/MMC/WriteProtect.cs b/DiscImageChef.Decoders/SCSI/MMC/WriteProtect.cs
index ad1362cd6..0ac4b2ff6 100644
--- a/DiscImageChef.Decoders/SCSI/MMC/WriteProtect.cs
+++ b/DiscImageChef.Decoders/SCSI/MMC/WriteProtect.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI.MMC
@@ -50,6 +51,10 @@ namespace DiscImageChef.Decoders.SCSI.MMC
/// T10/1675-D revision 4
/// T10/1836-D revision 2g
///
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class WriteProtect
{
public struct WriteProtectionStatus
diff --git a/DiscImageChef.Decoders/SCSI/Modes/00_SFF.cs b/DiscImageChef.Decoders/SCSI/Modes/00_SFF.cs
index fde4894d4..0610196fc 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/00_SFF.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/00_SFF.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x00: Drive Operation Mode page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/01.cs b/DiscImageChef.Decoders/SCSI/Modes/01.cs
index f54424c63..af79ce502 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/01.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/01.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x01: Read-write error recovery page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/01_MMC.cs b/DiscImageChef.Decoders/SCSI/Modes/01_MMC.cs
index affb08cad..8aa632ab8 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/01_MMC.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/01_MMC.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x01: Read error recovery page for MultiMedia Devices
diff --git a/DiscImageChef.Decoders/SCSI/Modes/02.cs b/DiscImageChef.Decoders/SCSI/Modes/02.cs
index 94ae2bbc4..ae0581247 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/02.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/02.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x02: Disconnect-reconnect page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/03.cs b/DiscImageChef.Decoders/SCSI/Modes/03.cs
index f88b289c1..bb241cee6 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/03.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/03.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x03: Format device page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/04.cs b/DiscImageChef.Decoders/SCSI/Modes/04.cs
index bb7edbb02..6a654b7ca 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/04.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/04.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x04: Rigid disk drive geometry page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/05.cs b/DiscImageChef.Decoders/SCSI/Modes/05.cs
index 6d0e9e1c9..f81a9d975 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/05.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/05.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x05: Flexible disk page
@@ -263,18 +267,15 @@ namespace DiscImageChef.Decoders.SCSI
break;
case 1:
sb.Append("\tPin 34 indicates drive is ready when active ");
- if((page.Pin34 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin34 & 0x08) == 0x08 ? "high" : "low");
break;
case 2:
sb.Append("\tPin 34 indicates disk has changed when active ");
- if((page.Pin34 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin34 & 0x08) == 0x08 ? "high" : "low");
break;
default:
sb.AppendFormat("\tPin 34 indicates unknown function {0} when active ", page.Pin34 & 0x07);
- if((page.Pin34 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin34 & 0x08) == 0x08 ? "high" : "low");
break;
}
@@ -285,23 +286,19 @@ namespace DiscImageChef.Decoders.SCSI
break;
case 1:
sb.Append("\tPin 4 indicates drive is in use when active ");
- if((page.Pin4 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin4 & 0x08) == 0x08 ? "high" : "low");
break;
case 2:
sb.Append("\tPin 4 indicates eject when active ");
- if((page.Pin4 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin4 & 0x08) == 0x08 ? "high" : "low");
break;
case 3:
sb.Append("\tPin 4 indicates head load when active ");
- if((page.Pin4 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin4 & 0x08) == 0x08 ? "high" : "low");
break;
default:
sb.AppendFormat("\tPin 4 indicates unknown function {0} when active ", page.Pin4 & 0x07);
- if((page.Pin4 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin4 & 0x08) == 0x08 ? "high" : "low");
break;
}
@@ -312,8 +309,7 @@ namespace DiscImageChef.Decoders.SCSI
break;
default:
sb.AppendFormat("\tPin 2 indicates unknown function {0} when active ", page.Pin2 & 0x07);
- if((page.Pin2 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin2 & 0x08) == 0x08 ? "high" : "low");
break;
}
@@ -324,13 +320,11 @@ namespace DiscImageChef.Decoders.SCSI
break;
case 1:
sb.Append("\tPin 1 indicates disk change reset when active ");
- if((page.Pin1 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin1 & 0x08) == 0x08 ? "high" : "low");
break;
default:
sb.AppendFormat("\tPin 1 indicates unknown function {0} when active ", page.Pin1 & 0x07);
- if((page.Pin1 & 0x08) == 0x08) sb.Append("high");
- else sb.Append("low");
+ sb.Append((page.Pin1 & 0x08) == 0x08 ? "high" : "low");
break;
}
diff --git a/DiscImageChef.Decoders/SCSI/Modes/06.cs b/DiscImageChef.Decoders/SCSI/Modes/06.cs
index 1dcc5c00f..51f443f8b 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/06.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/06.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x06: Optical memory page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/07.cs b/DiscImageChef.Decoders/SCSI/Modes/07.cs
index efba1ae23..cf0c172b5 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/07.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/07.cs
@@ -30,10 +30,15 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static partial class Modes
{
#region Mode Page 0x07: Verify error recovery page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/07_MMC.cs b/DiscImageChef.Decoders/SCSI/Modes/07_MMC.cs
index 502689735..48bc92958 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/07_MMC.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/07_MMC.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x07: Verify error recovery page for MultiMedia Devices
diff --git a/DiscImageChef.Decoders/SCSI/Modes/08.cs b/DiscImageChef.Decoders/SCSI/Modes/08.cs
index ae73cbd55..3141c5930 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/08.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/08.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x08: Caching page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/0A.cs b/DiscImageChef.Decoders/SCSI/Modes/0A.cs
index 20323f31e..6eec37c51 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/0A.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/0A.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x0A: Control mode page
@@ -391,9 +395,7 @@ namespace DiscImageChef.Decoders.SCSI
public static ModePage_0A_S01? DecodeModePage_0A_S01(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if((pageResponse[0] & 0x40) != 0x40) return null;
+ if((pageResponse?[0] & 0x40) != 0x40) return null;
if((pageResponse[0] & 0x3F) != 0x0A) return null;
diff --git a/DiscImageChef.Decoders/SCSI/Modes/0B.cs b/DiscImageChef.Decoders/SCSI/Modes/0B.cs
index 491e68bc2..63f6a759b 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/0B.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/0B.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x0B: Medium types supported page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/0D.cs b/DiscImageChef.Decoders/SCSI/Modes/0D.cs
index 545b374ad..3dc0fe323 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/0D.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/0D.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x0D: CD-ROM parameteres page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/0E.cs b/DiscImageChef.Decoders/SCSI/Modes/0E.cs
index d698c8ff3..0a21ad758 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/0E.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/0E.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x0E: CD-ROM audio control parameters page
@@ -147,8 +151,9 @@ namespace DiscImageChef.Decoders.SCSI
sb.AppendLine("SCSI CD-ROM audio control parameters page:");
if(page.PS) sb.AppendLine("\tParameters can be saved");
- if(page.Immed) sb.AppendLine("\tDrive will return from playback command immediately");
- else sb.AppendLine("\tDrive will return from playback command when playback ends");
+ sb.AppendLine(page.Immed
+ ? "\tDrive will return from playback command immediately"
+ : "\tDrive will return from playback command when playback ends");
if(page.SOTC) sb.AppendLine("\tDrive will stop playback on track end");
if(page.APRVal)
diff --git a/DiscImageChef.Decoders/SCSI/Modes/0F.cs b/DiscImageChef.Decoders/SCSI/Modes/0F.cs
index a86344ef2..aa1d5cbbb 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/0F.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/0F.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x0F: Data compression page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/10.cs b/DiscImageChef.Decoders/SCSI/Modes/10.cs
index b450a6287..84bbc111f 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/10.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/10.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x10: XOR control mode page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/10_SSC.cs b/DiscImageChef.Decoders/SCSI/Modes/10_SSC.cs
index 12ebb3a7d..b730188b9 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/10_SSC.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/10_SSC.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x10: Device configuration page
@@ -237,8 +241,9 @@ namespace DiscImageChef.Decoders.SCSI
if(page.DBR)
{
sb.AppendLine("\tDrive supports recovering data from buffer");
- if(page.RBO) sb.AppendLine("\tRecovered buffer data comes in LIFO order");
- else sb.AppendLine("\tRecovered buffer data comes in FIFO order");
+ sb.AppendLine(page.RBO
+ ? "\tRecovered buffer data comes in LIFO order"
+ : "\tRecovered buffer data comes in FIFO order");
}
if(page.BIS) sb.AppendLine("\tMedium supports block IDs");
if(page.RSmk) sb.AppendLine("\tDrive reports setmarks");
@@ -313,8 +318,9 @@ namespace DiscImageChef.Decoders.SCSI
if(page.PRMWP) sb.AppendLine("\tPermanent write protect is enabled");
if(page.BAML)
- if(page.BAM) sb.AppendLine("\tDrive operates using explicit address mode");
- else sb.AppendLine("\tDrive operates using implicit address mode");
+ sb.AppendLine(page.BAM
+ ? "\tDrive operates using explicit address mode"
+ : "\tDrive operates using implicit address mode");
switch(page.RewindOnReset)
{
diff --git a/DiscImageChef.Decoders/SCSI/Modes/11.cs b/DiscImageChef.Decoders/SCSI/Modes/11.cs
index 42638bccc..a918b2980 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/11.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/11.cs
@@ -31,10 +31,14 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x11: Medium partition page (1)
diff --git a/DiscImageChef.Decoders/SCSI/Modes/12_13_14.cs b/DiscImageChef.Decoders/SCSI/Modes/12_13_14.cs
index 8cc211b73..25183d810 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/12_13_14.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/12_13_14.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Pages 0x12, 0x13, 0x14: Medium partition page (2-4)
diff --git a/DiscImageChef.Decoders/SCSI/Modes/1A.cs b/DiscImageChef.Decoders/SCSI/Modes/1A.cs
index 69dd53da8..796ccfefc 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/1A.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/1A.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x1A: Power condition page
@@ -219,9 +223,7 @@ namespace DiscImageChef.Decoders.SCSI
public static ModePage_1A_S01? DecodeModePage_1A_S01(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if((pageResponse[0] & 0x40) != 0x40) return null;
+ if((pageResponse?[0] & 0x40) != 0x40) return null;
if((pageResponse[0] & 0x3F) != 0x1A) return null;
diff --git a/DiscImageChef.Decoders/SCSI/Modes/1B.cs b/DiscImageChef.Decoders/SCSI/Modes/1B.cs
index 9a7f02eb9..75f1a46ef 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/1B.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/1B.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x1B: Removable Block Access Capabilities page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/1C.cs b/DiscImageChef.Decoders/SCSI/Modes/1C.cs
index 80e934943..5ef6239be 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/1C.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/1C.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x1C: Informational exceptions control page
@@ -247,9 +251,7 @@ namespace DiscImageChef.Decoders.SCSI
public static ModePage_1C_S01? DecodeModePage_1C_S01(byte[] pageResponse)
{
- if(pageResponse == null) return null;
-
- if((pageResponse[0] & 0x40) != 0x40) return null;
+ if((pageResponse?[0] & 0x40) != 0x40) return null;
if((pageResponse[0] & 0x3F) != 0x1C) return null;
diff --git a/DiscImageChef.Decoders/SCSI/Modes/1C_SFF.cs b/DiscImageChef.Decoders/SCSI/Modes/1C_SFF.cs
index 8cee682cd..5ac84b2f5 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/1C_SFF.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/1C_SFF.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x1C: Timer & Protect page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/1D.cs b/DiscImageChef.Decoders/SCSI/Modes/1D.cs
index 72a69bba9..d2b87b753 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/1D.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/1D.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Mode Page 0x1D: Medium Configuration Mode Page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/21_Certance.cs b/DiscImageChef.Decoders/SCSI/Modes/21_Certance.cs
index e11d9316f..695d190a4 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/21_Certance.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/21_Certance.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Certance Mode Page 0x21: Drive Capabilities Control Mode page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/22_Certance.cs b/DiscImageChef.Decoders/SCSI/Modes/22_Certance.cs
index bcd7b5496..ea02cf213 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/22_Certance.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/22_Certance.cs
@@ -30,10 +30,15 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static partial class Modes
{
#region Certance Mode Page 0x22: Interface Control Mode Page
@@ -124,8 +129,9 @@ namespace DiscImageChef.Decoders.SCSI
break;
}
- if(page.StopBits) sb.AppendLine("Library interface transmits 2 stop bits per byte");
- else sb.AppendLine("Library interface transmits 1 stop bits per byte");
+ sb.AppendLine(page.StopBits
+ ? "Library interface transmits 2 stop bits per byte"
+ : "Library interface transmits 1 stop bits per byte");
switch(page.CmdFwd)
{
@@ -160,11 +166,11 @@ namespace DiscImageChef.Decoders.SCSI
.AppendLine();
sb.AppendFormat("\tDrive jumpers choose SCSI ID {0}", page.JumperedSelectionID).AppendLine();
- if(page.PortAEnabled) sb.AppendLine("\tSCSI port is enabled");
- else sb.AppendLine("\tSCSI port is disabled");
+ sb.AppendLine(page.PortAEnabled ? "\tSCSI port is enabled" : "\tSCSI port is disabled");
- if(page.PortAEnabledOnPower) sb.AppendLine("\tSCSI port will be enabled on next power up");
- else sb.AppendLine("\tSCSI port will be disabled on next power up");
+ sb.AppendLine(page.PortAEnabledOnPower
+ ? "\tSCSI port will be enabled on next power up"
+ : "\tSCSI port will be disabled on next power up");
return sb.ToString();
}
diff --git a/DiscImageChef.Decoders/SCSI/Modes/24_IBM.cs b/DiscImageChef.Decoders/SCSI/Modes/24_IBM.cs
index 683a0c4e8..f57a35a25 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/24_IBM.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/24_IBM.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region IBM Mode Page 0x24: Drive Capabilities Control Mode page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/2A.cs b/DiscImageChef.Decoders/SCSI/Modes/2A.cs
index 8ea416d50..7c32372ea 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/2A.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/2A.cs
@@ -30,11 +30,16 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static partial class Modes
{
#region Mode Page 0x2A: CD-ROM capabilities page
@@ -279,11 +284,11 @@ namespace DiscImageChef.Decoders.SCSI
for(int i = 0; i < descriptors; i++)
{
- decoded.WriteSpeedPerformanceDescriptors[i] = new ModePage_2A_WriteDescriptor();
- decoded.WriteSpeedPerformanceDescriptors[i].RotationControl =
- (byte)(pageResponse[1 + 32 + i * 4] & 0x07);
- decoded.WriteSpeedPerformanceDescriptors[i].WriteSpeed =
- (ushort)((pageResponse[2 + 32 + i * 4] << 8) + pageResponse[3 + 32 + i * 4]);
+ decoded.WriteSpeedPerformanceDescriptors[i] = new ModePage_2A_WriteDescriptor
+ {
+ RotationControl = (byte)(pageResponse[1 + 32 + i * 4] & 0x07),
+ WriteSpeed = (ushort)((pageResponse[2 + 32 + i * 4] << 8) + pageResponse[3 + 32 + i * 4])
+ };
}
return decoded;
@@ -345,14 +350,15 @@ namespace DiscImageChef.Decoders.SCSI
if(page.PreventJumper)
{
sb.AppendLine("\tDrive power ups locked");
- if(page.LockState) sb.AppendLine("\tDrive is locked, media cannot be ejected or inserted");
- else sb.AppendLine("\tDrive is not locked, media can be ejected and inserted");
+ sb.AppendLine(page.LockState
+ ? "\tDrive is locked, media cannot be ejected or inserted"
+ : "\tDrive is not locked, media can be ejected and inserted");
}
else
{
- if(page.LockState)
- sb.AppendLine("\tDrive is locked, media cannot be ejected, but if empty, can be inserted");
- else sb.AppendLine("\tDrive is not locked, media can be ejected and inserted");
+ sb.AppendLine(page.LockState
+ ? "\tDrive is locked, media cannot be ejected, but if empty, can be inserted"
+ : "\tDrive is not locked, media can be ejected and inserted");
}
if(page.Eject) sb.AppendLine("\tDrive can eject media");
@@ -369,23 +375,19 @@ namespace DiscImageChef.Decoders.SCSI
if(page.ReadCDR)
{
- if(page.WriteCDR) sb.AppendLine("\tDrive can read and write CD-R");
- else sb.AppendLine("\tDrive can read CD-R");
+ sb.AppendLine(page.WriteCDR ? "\tDrive can read and write CD-R" : "\tDrive can read CD-R");
if(page.Method2) sb.AppendLine("\tDrive supports reading CD-R packet media");
}
if(page.ReadCDRW)
- if(page.WriteCDRW) sb.AppendLine("\tDrive can read and write CD-RW");
- else sb.AppendLine("\tDrive can read CD-RW");
+ sb.AppendLine(page.WriteCDRW ? "\tDrive can read and write CD-RW" : "\tDrive can read CD-RW");
if(page.ReadDVDROM) sb.AppendLine("\tDrive can read DVD-ROM");
if(page.ReadDVDR)
- if(page.WriteDVDR) sb.AppendLine("\tDrive can read and write DVD-R");
- else sb.AppendLine("\tDrive can read DVD-R");
+ sb.AppendLine(page.WriteDVDR ? "\tDrive can read and write DVD-R" : "\tDrive can read DVD-R");
if(page.ReadDVDRAM)
- if(page.WriteDVDRAM) sb.AppendLine("\tDrive can read and write DVD-RAM");
- else sb.AppendLine("\tDrive can read DVD-RAM");
+ sb.AppendLine(page.WriteDVDRAM ? "\tDrive can read and write DVD-RAM" : "\tDrive can read DVD-RAM");
if(page.Composite) sb.AppendLine("\tDrive can deliver a composite audio and video data stream");
if(page.DigitalPort1) sb.AppendLine("\tDrive supports IEC-958 digital output on port 1");
diff --git a/DiscImageChef.Decoders/SCSI/Modes/2F_IBM.cs b/DiscImageChef.Decoders/SCSI/Modes/2F_IBM.cs
index 1d83c5efa..7116c8f0e 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/2F_IBM.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/2F_IBM.cs
@@ -30,10 +30,15 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "UnassignedField.Global")]
public static partial class Modes
{
#region IBM Mode Page 0x2F: Behaviour Configuration Mode page
@@ -66,22 +71,20 @@ namespace DiscImageChef.Decoders.SCSI
if(pageResponse.Length < 8) return null;
- IBM_ModePage_2F decoded = new IBM_ModePage_2F();
-
- decoded.PS |= (pageResponse[0] & 0x80) == 0x80;
- decoded.FenceBehaviour = pageResponse[2];
- decoded.CleanBehaviour = pageResponse[3];
- decoded.WORMEmulation = pageResponse[4];
- decoded.SenseDataBehaviour = pageResponse[5];
- decoded.CCDM |= (pageResponse[6] & 0x04) == 0x04;
- decoded.DDEOR |= (pageResponse[6] & 0x02) == 0x02;
- decoded.CLNCHK |= (pageResponse[6] & 0x01) == 0x01;
- decoded.FirmwareUpdateBehaviour = pageResponse[7];
- decoded.UOE_C = (byte)((pageResponse[8] & 0x30) >> 4);
- decoded.UOE_F = (byte)((pageResponse[8] & 0x0C) >> 2);
- decoded.UOE_F = (byte)(pageResponse[8] & 0x03);
-
- return decoded;
+ return new IBM_ModePage_2F
+ {
+ PS = (pageResponse[0] & 0x80) == 0x80,
+ FenceBehaviour = pageResponse[2],
+ CleanBehaviour = pageResponse[3],
+ WORMEmulation = pageResponse[4],
+ SenseDataBehaviour = pageResponse[5],
+ CCDM = (pageResponse[6] & 0x04) == 0x04,
+ DDEOR = (pageResponse[6] & 0x02) == 0x02,
+ CLNCHK = (pageResponse[6] & 0x01) == 0x01,
+ FirmwareUpdateBehaviour = pageResponse[7],
+ UOE_C = (byte)((pageResponse[8] & 0x30) >> 4),
+ UOE_F = (byte)((pageResponse[8] & 0x0C) >> 2)
+ };
}
public static string PrettifyIBMModePage_2F(byte[] pageResponse)
diff --git a/DiscImageChef.Decoders/SCSI/Modes/30_Apple.cs b/DiscImageChef.Decoders/SCSI/Modes/30_Apple.cs
index cd71298c8..802eb6d06 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/30_Apple.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/30_Apple.cs
@@ -31,10 +31,14 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region Apple Mode Page 0x30: Apple OEM String
diff --git a/DiscImageChef.Decoders/SCSI/Modes/3B_HP.cs b/DiscImageChef.Decoders/SCSI/Modes/3B_HP.cs
index 83a112832..1a5ffc39b 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/3B_HP.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/3B_HP.cs
@@ -31,10 +31,14 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region HP Mode Page 0x3B: Serial Number Override Mode page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/3C_HP.cs b/DiscImageChef.Decoders/SCSI/Modes/3C_HP.cs
index 2d15f9b16..5bf307ead 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/3C_HP.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/3C_HP.cs
@@ -31,10 +31,14 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region HP Mode Page 0x3C: Device Time Mode page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/3D_HP.cs b/DiscImageChef.Decoders/SCSI/Modes/3D_HP.cs
index 24291cb7b..037225792 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/3D_HP.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/3D_HP.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region HP Mode Page 0x3D: Extended Reset Mode page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/3D_IBM.cs b/DiscImageChef.Decoders/SCSI/Modes/3D_IBM.cs
index 4a722e125..a1dce0416 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/3D_IBM.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/3D_IBM.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region IBM Mode Page 0x3D: Behaviour Configuration Mode page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/3E_Fujitsu.cs b/DiscImageChef.Decoders/SCSI/Modes/3E_Fujitsu.cs
index 93cce9014..90db56528 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/3E_Fujitsu.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/3E_Fujitsu.cs
@@ -31,10 +31,15 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static partial class Modes
{
#region Fujitsu Mode Page 0x3E: Verify Control page
diff --git a/DiscImageChef.Decoders/SCSI/Modes/3E_HP.cs b/DiscImageChef.Decoders/SCSI/Modes/3E_HP.cs
index da5c7743a..3b6bad1a7 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/3E_HP.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/3E_HP.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
#region HP Mode Page 0x3E: CD-ROM Emulation/Disaster Recovery Mode page
@@ -82,8 +86,7 @@ namespace DiscImageChef.Decoders.SCSI
if(page.PS) sb.AppendLine("\tParameters can be saved");
- if(page.CDmode) sb.AppendLine("\tDrive is emulating a CD-ROM drive");
- else sb.AppendLine("\tDrive is not emulating a CD-ROM drive");
+ sb.AppendLine(page.CDmode ? "\tDrive is emulating a CD-ROM drive" : "\tDrive is not emulating a CD-ROM drive");
if(page.NonAuto) sb.AppendLine("\tDrive will not exit emulation automatically");
return sb.ToString();
diff --git a/DiscImageChef.Decoders/SCSI/Modes/Headers.cs b/DiscImageChef.Decoders/SCSI/Modes/Headers.cs
index 5f66c9fc8..aa65b94cc 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/Headers.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/Headers.cs
@@ -30,10 +30,14 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
public static string GetMediumTypeDescription(MediumTypes type)
diff --git a/DiscImageChef.Decoders/SCSI/Modes/Mode10.cs b/DiscImageChef.Decoders/SCSI/Modes/Mode10.cs
index d2d255af3..0ad5137a7 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/Mode10.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/Mode10.cs
@@ -32,10 +32,14 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
public static ModeHeader? DecodeModeHeader10(byte[] modeResponse, PeripheralDeviceTypes deviceType)
@@ -50,8 +54,7 @@ namespace DiscImageChef.Decoders.SCSI
if(modeResponse.Length < modeLength) return null;
- ModeHeader header = new ModeHeader();
- header.MediumType = (MediumTypes)modeResponse[2];
+ ModeHeader header = new ModeHeader {MediumType = (MediumTypes)modeResponse[2]};
bool longLBA = (modeResponse[4] & 0x01) == 0x01;
@@ -61,8 +64,7 @@ namespace DiscImageChef.Decoders.SCSI
header.BlockDescriptors = new BlockDescriptor[blockDescLength / 16];
for(int i = 0; i < header.BlockDescriptors.Length; i++)
{
- header.BlockDescriptors[i] = new BlockDescriptor();
- header.BlockDescriptors[i].Density = DensityType.Default;
+ header.BlockDescriptors[i] = new BlockDescriptor {Density = DensityType.Default};
byte[] temp = new byte[8];
temp[0] = modeResponse[7 + i * 16 + 8];
temp[1] = modeResponse[6 + i * 16 + 8];
@@ -134,8 +136,7 @@ namespace DiscImageChef.Decoders.SCSI
ModeHeader? hdr = DecodeModeHeader10(modeResponse, deviceType);
if(!hdr.HasValue) return null;
- DecodedMode decoded = new DecodedMode();
- decoded.Header = hdr.Value;
+ DecodedMode decoded = new DecodedMode {Header = hdr.Value};
bool longlba = (modeResponse[4] & 0x01) == 0x01;
int offset;
int blkDrLength = 0;
@@ -199,18 +200,12 @@ namespace DiscImageChef.Decoders.SCSI
return decoded;
}
- public static byte[] EncodeModeHeader10(ModeHeader header, PeripheralDeviceTypes deviceType)
- {
- return EncodeModeHeader10(header, deviceType, false);
- }
-
- public static byte[] EncodeModeHeader10(ModeHeader header, PeripheralDeviceTypes deviceType, bool longLBA)
+ public static byte[] EncodeModeHeader10(ModeHeader header, PeripheralDeviceTypes deviceType, bool longLBA = false)
{
byte[] hdr;
if(header.BlockDescriptors != null)
- if(longLBA) hdr = new byte[8 + header.BlockDescriptors.Length * 16];
- else hdr = new byte[8 + header.BlockDescriptors.Length * 8];
+ hdr = longLBA ? new byte[8 + header.BlockDescriptors.Length * 16] : new byte[8 + header.BlockDescriptors.Length * 8];
else hdr = new byte[8];
hdr[2] = (byte)header.MediumType;
diff --git a/DiscImageChef.Decoders/SCSI/Modes/Mode6.cs b/DiscImageChef.Decoders/SCSI/Modes/Mode6.cs
index f532d0370..387ed3f75 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/Mode6.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/Mode6.cs
@@ -32,10 +32,14 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Linq;
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
public static ModeHeader? DecodeModeHeader6(byte[] modeResponse, PeripheralDeviceTypes deviceType)
@@ -43,8 +47,7 @@ namespace DiscImageChef.Decoders.SCSI
if(modeResponse == null || modeResponse.Length < 4 || modeResponse.Length < modeResponse[0] + 1)
return null;
- ModeHeader header = new ModeHeader();
- header.MediumType = (MediumTypes)modeResponse[1];
+ ModeHeader header = new ModeHeader {MediumType = (MediumTypes)modeResponse[1]};
if(modeResponse[3] > 0)
{
@@ -94,8 +97,7 @@ namespace DiscImageChef.Decoders.SCSI
ModeHeader? hdr = DecodeModeHeader6(modeResponse, deviceType);
if(!hdr.HasValue) return null;
- DecodedMode decoded = new DecodedMode();
- decoded.Header = hdr.Value;
+ DecodedMode decoded = new DecodedMode {Header = hdr.Value};
int blkDrLength = 0;
if(decoded.Header.BlockDescriptors != null) blkDrLength = decoded.Header.BlockDescriptors.Length;
@@ -158,10 +160,7 @@ namespace DiscImageChef.Decoders.SCSI
public static byte[] EncodeModeHeader6(ModeHeader header, PeripheralDeviceTypes deviceType)
{
- byte[] hdr;
-
- if(header.BlockDescriptors != null) hdr = new byte[4 + header.BlockDescriptors.Length * 8];
- else hdr = new byte[4];
+ byte[] hdr = header.BlockDescriptors != null ? new byte[4 + header.BlockDescriptors.Length * 8] : new byte[4];
hdr[1] = (byte)header.MediumType;
diff --git a/DiscImageChef.Decoders/SCSI/Modes/Structs.cs b/DiscImageChef.Decoders/SCSI/Modes/Structs.cs
index dc918a3de..966055c9d 100644
--- a/DiscImageChef.Decoders/SCSI/Modes/Structs.cs
+++ b/DiscImageChef.Decoders/SCSI/Modes/Structs.cs
@@ -30,8 +30,13 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static partial class Modes
{
public struct BlockDescriptor
diff --git a/DiscImageChef.Decoders/SCSI/SSC/BlockLimits.cs b/DiscImageChef.Decoders/SCSI/SSC/BlockLimits.cs
index 2f391d71f..b712ec137 100644
--- a/DiscImageChef.Decoders/SCSI/SSC/BlockLimits.cs
+++ b/DiscImageChef.Decoders/SCSI/SSC/BlockLimits.cs
@@ -31,10 +31,14 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI.SSC
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class BlockLimits
{
public struct BlockLimitsData
@@ -55,17 +59,14 @@ namespace DiscImageChef.Decoders.SCSI.SSC
public static BlockLimitsData? Decode(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 6) return null;
- if(response.Length != 6) return null;
-
- BlockLimitsData dec = new BlockLimitsData();
-
- dec.granularity = (byte)(response[0] & 0x1F);
- dec.maxBlockLen = (uint)((response[1] << 16) + (response[2] << 8) + response[3]);
- dec.minBlockLen = (ushort)((response[4] << 8) + response[5]);
-
- return dec;
+ return new BlockLimitsData
+ {
+ granularity = (byte)(response[0] & 0x1F),
+ maxBlockLen = (uint)((response[1] << 16) + (response[2] << 8) + response[3]),
+ minBlockLen = (ushort)((response[4] << 8) + response[5])
+ };
}
public static string Prettify(BlockLimitsData? decoded)
diff --git a/DiscImageChef.Decoders/SCSI/SSC/DensitySupport.cs b/DiscImageChef.Decoders/SCSI/SSC/DensitySupport.cs
index 09b691670..ce03cd8ac 100644
--- a/DiscImageChef.Decoders/SCSI/SSC/DensitySupport.cs
+++ b/DiscImageChef.Decoders/SCSI/SSC/DensitySupport.cs
@@ -32,10 +32,15 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SCSI.SSC
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class DensitySupport
{
public struct DensitySupportHeader
@@ -99,26 +104,26 @@ namespace DiscImageChef.Decoders.SCSI.SSC
List descriptors = new List();
int offset = 4;
- byte[] tmp;
while(offset < response.Length)
{
- DensitySupportDescriptor descriptor = new DensitySupportDescriptor();
- descriptor.primaryCode = response[offset + 0];
- descriptor.secondaryCode = response[offset + 1];
- descriptor.writable |= (response[offset + 2] & 0x80) == 0x80;
- descriptor.duplicate |= (response[offset + 2] & 0x40) == 0x40;
- descriptor.defaultDensity |= (response[offset + 2] & 0x20) == 0x20;
- descriptor.reserved = (byte)((response[offset + 2] & 0x1E) >> 1);
- descriptor.lenvalid |= (response[offset + 2] & 0x01) == 0x01;
- descriptor.len = (ushort)((response[offset + 3] << 8) + response[offset + 4]);
- descriptor.bpmm =
- (uint)((response[offset + 5] << 16) + (response[offset + 6] << 8) + response[offset + 7]);
- descriptor.width = (ushort)((response[offset + 8] << 8) + response[offset + 9]);
- descriptor.tracks = (ushort)((response[offset + 10] << 8) + response[offset + 11]);
- descriptor.capacity = (uint)((response[offset + 12] << 24) + (response[offset + 13] << 16) +
- (response[offset + 14] << 8) + response[offset + 15]);
- tmp = new byte[8];
+ DensitySupportDescriptor descriptor = new DensitySupportDescriptor
+ {
+ primaryCode = response[offset + 0],
+ secondaryCode = response[offset + 1],
+ writable = (response[offset + 2] & 0x80) == 0x80,
+ duplicate = (response[offset + 2] & 0x40) == 0x40,
+ defaultDensity = (response[offset + 2] & 0x20) == 0x20,
+ reserved = (byte)((response[offset + 2] & 0x1E) >> 1),
+ lenvalid = (response[offset + 2] & 0x01) == 0x01,
+ len = (ushort)((response[offset + 3] << 8) + response[offset + 4]),
+ bpmm = (uint)((response[offset + 5] << 16) + (response[offset + 6] << 8) + response[offset + 7]),
+ width = (ushort)((response[offset + 8] << 8) + response[offset + 9]),
+ tracks = (ushort)((response[offset + 10] << 8) + response[offset + 11]),
+ capacity = (uint)((response[offset + 12] << 24) + (response[offset + 13] << 16) +
+ (response[offset + 14] << 8) + response[offset + 15])
+ };
+ byte[] tmp = new byte[8];
Array.Copy(response, offset + 16, tmp, 0, 8);
descriptor.organization = StringHandlers.CToString(tmp).Trim();
tmp = new byte[8];
@@ -134,10 +139,12 @@ namespace DiscImageChef.Decoders.SCSI.SSC
descriptors.Add(descriptor);
}
- DensitySupportHeader decoded = new DensitySupportHeader();
- decoded.length = responseLen;
- decoded.reserved = (ushort)((response[2] << 8) + response[3] + 2);
- decoded.descriptors = descriptors.ToArray();
+ DensitySupportHeader decoded = new DensitySupportHeader
+ {
+ length = responseLen,
+ reserved = (ushort)((response[2] << 8) + response[3] + 2),
+ descriptors = descriptors.ToArray()
+ };
return decoded;
}
@@ -187,14 +194,15 @@ namespace DiscImageChef.Decoders.SCSI.SSC
List descriptors = new List();
int offset = 4;
- byte[] tmp;
while(offset < response.Length)
{
- MediaTypeSupportDescriptor descriptor = new MediaTypeSupportDescriptor();
- descriptor.mediumType = response[offset + 0];
- descriptor.reserved1 = response[offset + 1];
- descriptor.len = (ushort)((response[offset + 2] << 8) + response[offset + 3]);
+ MediaTypeSupportDescriptor descriptor = new MediaTypeSupportDescriptor
+ {
+ mediumType = response[offset + 0],
+ reserved1 = response[offset + 1],
+ len = (ushort)((response[offset + 2] << 8) + response[offset + 3])
+ };
if(descriptor.len != 52) return null;
descriptor.numberOfCodes = response[offset + 4];
@@ -204,7 +212,7 @@ namespace DiscImageChef.Decoders.SCSI.SSC
descriptor.length = (ushort)((response[offset + 16] << 8) + response[offset + 17]);
descriptor.reserved1 = response[offset + 18];
descriptor.reserved1 = response[offset + 19];
- tmp = new byte[8];
+ byte[] tmp = new byte[8];
Array.Copy(response, offset + 20, tmp, 0, 8);
descriptor.organization = StringHandlers.CToString(tmp).Trim();
tmp = new byte[8];
@@ -219,10 +227,12 @@ namespace DiscImageChef.Decoders.SCSI.SSC
descriptors.Add(descriptor);
}
- MediaTypeSupportHeader decoded = new MediaTypeSupportHeader();
- decoded.length = responseLen;
- decoded.reserved = (ushort)((response[2] << 8) + response[3] + 2);
- decoded.descriptors = descriptors.ToArray();
+ MediaTypeSupportHeader decoded = new MediaTypeSupportHeader
+ {
+ length = responseLen,
+ reserved = (ushort)((response[2] << 8) + response[3] + 2),
+ descriptors = descriptors.ToArray()
+ };
return decoded;
}
diff --git a/DiscImageChef.Decoders/SCSI/Sense.cs b/DiscImageChef.Decoders/SCSI/Sense.cs
index ac0c90bc3..fe174ab05 100644
--- a/DiscImageChef.Decoders/SCSI/Sense.cs
+++ b/DiscImageChef.Decoders/SCSI/Sense.cs
@@ -32,6 +32,7 @@
using System;
using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Decoders.ATA;
@@ -48,6 +49,9 @@ namespace DiscImageChef.Decoders.SCSI
Unknown
}
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public struct StandardSense
{
///
@@ -140,6 +144,11 @@ namespace DiscImageChef.Decoders.SCSI
Completed = 0xF
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "UnassignedField.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct FixedSense
{
///
@@ -195,6 +204,9 @@ namespace DiscImageChef.Decoders.SCSI
public byte[] AdditionalSense;
}
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct DescriptorSense
{
///
@@ -216,6 +228,9 @@ namespace DiscImageChef.Decoders.SCSI
public Dictionary Descriptors;
}
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public struct AnotherProgressIndicationSenseDescriptor
{
public SenseKeys SenseKey;
@@ -224,6 +239,7 @@ namespace DiscImageChef.Decoders.SCSI
public ushort Progress;
}
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Sense
{
///
@@ -265,8 +281,7 @@ namespace DiscImageChef.Decoders.SCSI
public static FixedSense? DecodeFixed(byte[] sense)
{
- string foo;
- return DecodeFixed(sense, out foo);
+ return DecodeFixed(sense, out _);
}
public static FixedSense? DecodeFixed(byte[] sense, out string senseDescription)
@@ -276,16 +291,17 @@ namespace DiscImageChef.Decoders.SCSI
if(sense.Length < 8) return null;
- FixedSense decoded = new FixedSense();
-
- decoded.InformationValid |= (sense[0] & 0x80) == 0x80;
- decoded.SegmentNumber = sense[1];
- decoded.Filemark |= (sense[2] & 0x80) == 0x80;
- decoded.EOM |= (sense[2] & 0x40) == 0x40;
- decoded.ILI |= (sense[2] & 0x20) == 0x20;
- decoded.SenseKey = (SenseKeys)(sense[2] & 0x0F);
- decoded.Information = (uint)((sense[3] << 24) + (sense[4] << 16) + (sense[5] << 8) + sense[6]);
- decoded.AdditionalLength = sense[7];
+ FixedSense decoded = new FixedSense
+ {
+ InformationValid = (sense[0] & 0x80) == 0x80,
+ SegmentNumber = sense[1],
+ Filemark = (sense[2] & 0x80) == 0x80,
+ EOM = (sense[2] & 0x40) == 0x40,
+ ILI = (sense[2] & 0x20) == 0x20,
+ SenseKey = (SenseKeys)(sense[2] & 0x0F),
+ Information = (uint)((sense[3] << 24) + (sense[4] << 16) + (sense[5] << 8) + sense[6]),
+ AdditionalLength = sense[7]
+ };
if(sense.Length >= 12)
decoded.CommandSpecific = (uint)((sense[8] << 24) + (sense[9] << 16) + (sense[10] << 8) + sense[11]);
@@ -311,8 +327,7 @@ namespace DiscImageChef.Decoders.SCSI
public static DescriptorSense? DecodeDescriptor(byte[] sense)
{
- string foo;
- return DecodeDescriptor(sense, out foo);
+ return DecodeDescriptor(sense, out _);
}
public static DescriptorSense? DecodeDescriptor(byte[] sense, out string senseDescription)
@@ -323,13 +338,15 @@ namespace DiscImageChef.Decoders.SCSI
if(sense.Length < 8) return null;
- DescriptorSense decoded = new DescriptorSense();
+ DescriptorSense decoded = new DescriptorSense
+ {
+ SenseKey = (SenseKeys)(sense[1] & 0x0F),
+ ASC = sense[2],
+ ASCQ = sense[3],
+ Overflow = (sense[4] & 0x80) == 0x80,
+ Descriptors = new Dictionary()
+ };
- decoded.SenseKey = (SenseKeys)(sense[1] & 0x0F);
- decoded.ASC = sense[2];
- decoded.ASCQ = sense[3];
- decoded.Overflow |= (sense[4] & 0x80) == 0x80;
- decoded.Descriptors = new Dictionary();
senseDescription = GetSenseDescription(decoded.ASC, decoded.ASCQ);
int offset = 8;
@@ -402,8 +419,9 @@ namespace DiscImageChef.Decoders.SCSI
{
case SenseKeys.IllegalRequest:
{
- if((decoded.SenseKeySpecific & 0x400000) == 0x400000) sb.AppendLine("Illegal field in CDB");
- else sb.AppendLine("Illegal field in data parameters");
+ sb.AppendLine((decoded.SenseKeySpecific & 0x400000) == 0x400000
+ ? "Illegal field in CDB"
+ : "Illegal field in data parameters");
if((decoded.SenseKeySpecific & 0x200000) == 0x200000)
sb.AppendFormat("Invalid value in bit {0} in field {1} of CDB",
@@ -533,14 +551,13 @@ namespace DiscImageChef.Decoders.SCSI
{
if(descriptor.Length != 8 || descriptor[0] != 0x0A) return null;
- AnotherProgressIndicationSenseDescriptor decoded = new AnotherProgressIndicationSenseDescriptor();
-
- decoded.SenseKey = (SenseKeys)descriptor[2];
- decoded.ASC = descriptor[3];
- decoded.ASCQ = descriptor[4];
- decoded.Progress = (ushort)((descriptor[6] << 8) + descriptor[7]);
-
- return decoded;
+ return new AnotherProgressIndicationSenseDescriptor
+ {
+ SenseKey = (SenseKeys)descriptor[2],
+ ASC = descriptor[3],
+ ASCQ = descriptor[4],
+ Progress = (ushort)((descriptor[6] << 8) + descriptor[7])
+ };
}
public static void DecodeDescriptor04(byte[] descriptor)
@@ -568,19 +585,18 @@ namespace DiscImageChef.Decoders.SCSI
throw new NotImplementedException("Check OSD");
}
- public static AtaErrorRegistersLBA48 DecodeDescriptor09(byte[] descriptor)
+ public static AtaErrorRegistersLba48 DecodeDescriptor09(byte[] descriptor)
{
- AtaErrorRegistersLBA48 errorRegisters = new AtaErrorRegistersLBA48();
-
- errorRegisters.error = descriptor[3];
- errorRegisters.sectorCount = (ushort)((descriptor[4] << 8) + descriptor[5]);
- errorRegisters.lbaLow = (ushort)((descriptor[6] << 8) + descriptor[7]);
- errorRegisters.lbaMid = (ushort)((descriptor[8] << 8) + descriptor[9]);
- errorRegisters.lbaHigh = (ushort)((descriptor[10] << 8) + descriptor[11]);
- errorRegisters.deviceHead = descriptor[12];
- errorRegisters.status = descriptor[13];
-
- return errorRegisters;
+ return new AtaErrorRegistersLba48
+ {
+ Error = descriptor[3],
+ SectorCount = (ushort)((descriptor[4] << 8) + descriptor[5]),
+ LbaLow = (ushort)((descriptor[6] << 8) + descriptor[7]),
+ LbaMid = (ushort)((descriptor[8] << 8) + descriptor[9]),
+ LbaHigh = (ushort)((descriptor[10] << 8) + descriptor[11]),
+ DeviceHead = descriptor[12],
+ Status = descriptor[13]
+ };
}
public static void DecodeDescriptor0B(byte[] descriptor)
@@ -626,6 +642,7 @@ namespace DiscImageChef.Decoders.SCSI
}
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public static string GetSenseDescription(byte ASC, byte ASCQ)
{
switch(ASC)
diff --git a/DiscImageChef.Decoders/SCSI/Types.cs b/DiscImageChef.Decoders/SCSI/Types.cs
index c22ca28e9..32fcddd76 100644
--- a/DiscImageChef.Decoders/SCSI/Types.cs
+++ b/DiscImageChef.Decoders/SCSI/Types.cs
@@ -30,8 +30,11 @@
// Copyright © 2011-2018 Natalia Portillo
// ****************************************************************************/
+using System.Diagnostics.CodeAnalysis;
+
namespace DiscImageChef.Decoders.SCSI
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum MediumTypes : byte
{
Default = 0x00,
@@ -585,6 +588,7 @@ namespace DiscImageChef.Decoders.SCSI
#endregion Medium Types found in vendor documents
}
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
public enum DensityType : byte
{
Default = 0x00,
diff --git a/DiscImageChef.Decoders/SCSI/VendorString.cs b/DiscImageChef.Decoders/SCSI/VendorString.cs
index 0e5aecffc..8b063957b 100644
--- a/DiscImageChef.Decoders/SCSI/VendorString.cs
+++ b/DiscImageChef.Decoders/SCSI/VendorString.cs
@@ -34,9 +34,9 @@ namespace DiscImageChef.Decoders.SCSI
{
public static class VendorString
{
- public static string Prettify(string SCSIVendorString)
+ public static string Prettify(string scsiVendorString)
{
- switch(SCSIVendorString)
+ switch(scsiVendorString)
{
case "0B4C": return "MOOSIK Ltd.";
case "13FE": return "PHISON";
@@ -836,7 +836,7 @@ namespace DiscImageChef.Decoders.SCSI
case "ZETTA": return "Zetta Systems, Inc.";
case "ZTE": return "ZTE Corporation";
case "ZVAULT": return "Zetavault";
- default: return SCSIVendorString;
+ default: return scsiVendorString;
}
}
}
diff --git a/DiscImageChef.Decoders/SecureDigital/CID.cs b/DiscImageChef.Decoders/SecureDigital/CID.cs
index d00ba5ea4..257e441b9 100644
--- a/DiscImageChef.Decoders/SecureDigital/CID.cs
+++ b/DiscImageChef.Decoders/SecureDigital/CID.cs
@@ -31,10 +31,14 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SecureDigital
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class CID
{
public byte Manufacturer;
@@ -46,18 +50,18 @@ namespace DiscImageChef.Decoders.SecureDigital
public byte CRC;
}
- public partial class Decoders
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ public static partial class Decoders
{
public static CID DecodeCID(uint[] response)
{
- if(response == null) return null;
-
- if(response.Length != 4) return null;
+ if(response?.Length != 4) return null;
byte[] data = new byte[16];
- byte[] tmp;
- tmp = BitConverter.GetBytes(response[0]);
+ byte[] tmp = BitConverter.GetBytes(response[0]);
Array.Copy(tmp, 0, data, 0, 4);
tmp = BitConverter.GetBytes(response[1]);
Array.Copy(tmp, 0, data, 4, 4);
@@ -71,24 +75,22 @@ namespace DiscImageChef.Decoders.SecureDigital
public static CID DecodeCID(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 16) return null;
- if(response.Length != 16) return null;
-
- byte[] tmp;
-
- CID cid = new CID();
- cid.Manufacturer = response[0];
- tmp = new byte[2];
+ CID cid = new CID
+ {
+ Manufacturer = response[0],
+ ProductRevision = response[8],
+ ProductSerialNumber = BitConverter.ToUInt32(response, 9),
+ ManufacturingDate = (ushort)(((response[13] & 0x0F) << 4) + response[14]),
+ CRC = (byte)((response[15] & 0xFE) >> 1)
+ };
+ byte[] tmp = new byte[2];
Array.Copy(response, 1, tmp, 0, 2);
cid.ApplicationID = StringHandlers.CToString(tmp);
tmp = new byte[5];
Array.Copy(response, 3, tmp, 0, 5);
cid.ProductName = StringHandlers.CToString(tmp);
- cid.ProductRevision = response[8];
- cid.ProductSerialNumber = BitConverter.ToUInt32(response, 9);
- cid.ManufacturingDate = (ushort)(((response[13] & 0x0F) << 4) + response[14]);
- cid.CRC = (byte)((response[15] & 0xFE) >> 1);
return cid;
}
diff --git a/DiscImageChef.Decoders/SecureDigital/CSD.cs b/DiscImageChef.Decoders/SecureDigital/CSD.cs
index 076643bf9..e4f9e0041 100644
--- a/DiscImageChef.Decoders/SecureDigital/CSD.cs
+++ b/DiscImageChef.Decoders/SecureDigital/CSD.cs
@@ -31,10 +31,14 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SecureDigital
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public class CSD
{
public byte Structure;
@@ -68,18 +72,17 @@ namespace DiscImageChef.Decoders.SecureDigital
public byte CRC;
}
- public partial class Decoders
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ public static partial class Decoders
{
public static CSD DecodeCSD(uint[] response)
{
- if(response == null) return null;
-
- if(response.Length != 4) return null;
+ if(response?.Length != 4) return null;
byte[] data = new byte[16];
- byte[] tmp;
- tmp = BitConverter.GetBytes(response[0]);
+ byte[] tmp = BitConverter.GetBytes(response[0]);
Array.Copy(tmp, 0, data, 0, 4);
tmp = BitConverter.GetBytes(response[1]);
Array.Copy(tmp, 0, data, 4, 4);
@@ -93,22 +96,35 @@ namespace DiscImageChef.Decoders.SecureDigital
public static CSD DecodeCSD(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 16) return null;
- if(response.Length != 16) return null;
+ CSD csd = new CSD
+ {
+ Structure = (byte)((response[0] & 0xC0) >> 6),
+ TAAC = response[1],
+ NSAC = response[2],
+ Speed = response[3],
+ Classes = (ushort)((response[4] << 4) + ((response[5] & 0xF0) >> 4)),
+ ReadBlockLength = (byte)(response[5] & 0x0F),
+ ReadsPartialBlocks = (response[6] & 0x80) == 0x80,
+ WriteMisalignment = (response[6] & 0x40) == 0x40,
+ ReadMisalignment = (response[6] & 0x20) == 0x20,
+ DSRImplemented = (response[6] & 0x10) == 0x10,
+ EraseBlockEnable = (response[10] & 0x40) == 0x40,
+ EraseSectorSize = (byte)(((response[10] & 0x3F) << 1) + ((response[11] & 0x80) >> 7)),
+ WriteProtectGroupSize = (byte)(response[11] & 0x7F),
+ WriteProtectGroupEnable = (response[12] & 0x80) == 0x80,
+ WriteSpeedFactor = (byte)((response[12] & 0x1C) >> 2),
+ WriteBlockLength = (byte)(((response[12] & 0x03) << 2) + ((response[13] & 0xC0) >> 6)),
+ WritesPartialBlocks = (response[13] & 0x20) == 0x20,
+ FileFormatGroup = (response[14] & 0x80) == 0x80,
+ Copy = (response[14] & 0x40) == 0x40,
+ PermanentWriteProtect = (response[14] & 0x20) == 0x20,
+ TemporaryWriteProtect = (response[14] & 0x10) == 0x10,
+ FileFormat = (byte)((response[14] & 0x0C) >> 2),
+ CRC = (byte)((response[15] & 0xFE) >> 1)
+ };
- CSD csd = new CSD();
-
- csd.Structure = (byte)((response[0] & 0xC0) >> 6);
- csd.TAAC = response[1];
- csd.NSAC = response[2];
- csd.Speed = response[3];
- csd.Classes = (ushort)((response[4] << 4) + ((response[5] & 0xF0) >> 4));
- csd.ReadBlockLength = (byte)(response[5] & 0x0F);
- csd.ReadsPartialBlocks = (response[6] & 0x80) == 0x80;
- csd.WriteMisalignment = (response[6] & 0x40) == 0x40;
- csd.ReadMisalignment = (response[6] & 0x20) == 0x20;
- csd.DSRImplemented = (response[6] & 0x10) == 0x10;
if(csd.Structure == 0)
{
csd.Size = (ushort)(((response[6] & 0x03) << 10) + (response[7] << 2) + ((response[8] & 0xC0) >> 6));
@@ -119,19 +135,6 @@ namespace DiscImageChef.Decoders.SecureDigital
csd.SizeMultiplier = (byte)(((response[9] & 0x03) << 1) + ((response[10] & 0x80) >> 7));
}
else csd.Size = (uint)(((response[7] & 0x3F) << 16) + (response[8] << 8) + response[9]);
- csd.EraseBlockEnable = (response[10] & 0x40) == 0x40;
- csd.EraseSectorSize = (byte)(((response[10] & 0x3F) << 1) + ((response[11] & 0x80) >> 7));
- csd.WriteProtectGroupSize = (byte)(response[11] & 0x7F);
- csd.WriteProtectGroupEnable = (response[12] & 0x80) == 0x80;
- csd.WriteSpeedFactor = (byte)((response[12] & 0x1C) >> 2);
- csd.WriteBlockLength = (byte)(((response[12] & 0x03) << 2) + ((response[13] & 0xC0) >> 6));
- csd.WritesPartialBlocks = (response[13] & 0x20) == 0x20;
- csd.FileFormatGroup = (response[14] & 0x80) == 0x80;
- csd.Copy = (response[14] & 0x40) == 0x40;
- csd.PermanentWriteProtect = (response[14] & 0x20) == 0x20;
- csd.TemporaryWriteProtect = (response[14] & 0x10) == 0x10;
- csd.FileFormat = (byte)((response[14] & 0x0C) >> 2);
- csd.CRC = (byte)((response[15] & 0xFE) >> 1);
return csd;
}
diff --git a/DiscImageChef.Decoders/SecureDigital/OCR.cs b/DiscImageChef.Decoders/SecureDigital/OCR.cs
index c1f9fc086..2c387dfce 100644
--- a/DiscImageChef.Decoders/SecureDigital/OCR.cs
+++ b/DiscImageChef.Decoders/SecureDigital/OCR.cs
@@ -31,10 +31,16 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SecureDigital
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "UnassignedField.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public class OCR
{
public bool PowerUp;
@@ -53,37 +59,34 @@ namespace DiscImageChef.Decoders.SecureDigital
public bool LowPower;
}
- public partial class Decoders
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ public static partial class Decoders
{
public static OCR DecodeOCR(uint response)
{
- OCR ocr = new OCR();
-
- ocr.PowerUp = (response & 0x80000000) == 0x80000000;
- ocr.CCS = (response & 0x40000000) == 0x40000000;
- ocr.PowerUp = (response & 0x20000000) == 0x20000000;
- ocr.OneEight = (response & 0x01000000) == 0x01000000;
- ocr.ThreeFive = (response & 0x00800000) == 0x00800000;
- ocr.ThreeFour = (response & 0x00400000) == 0x00400000;
- ocr.ThreeThree = (response & 0x00200000) == 0x00200000;
- ocr.ThreeTwo = (response & 0x00100000) == 0x00100000;
- ocr.ThreeOne = (response & 0x00080000) == 0x00080000;
- ocr.ThreeZero = (response & 0x00040000) == 0x00040000;
- ocr.TwoNine = (response & 0x00020000) == 0x00020000;
- ocr.TwoEight = (response & 0x00010000) == 0x00010000;
- ocr.TwoSeven = (response & 0x00008000) == 0x00008000;
- ocr.LowPower = (response & 0x00000080) == 0x00000080;
-
- return ocr;
+ return new OCR
+ {
+ PowerUp = (response & 0x80000000) == 0x80000000,
+ CCS = (response & 0x40000000) == 0x40000000,
+ UHS = (response & 0x20000000) == 0x20000000,
+ OneEight = (response & 0x01000000) == 0x01000000,
+ ThreeFive = (response & 0x00800000) == 0x00800000,
+ ThreeFour = (response & 0x00400000) == 0x00400000,
+ ThreeThree = (response & 0x00200000) == 0x00200000,
+ ThreeTwo = (response & 0x00100000) == 0x00100000,
+ ThreeOne = (response & 0x00080000) == 0x00080000,
+ ThreeZero = (response & 0x00040000) == 0x00040000,
+ TwoNine = (response & 0x00020000) == 0x00020000,
+ TwoEight = (response & 0x00010000) == 0x00010000,
+ TwoSeven = (response & 0x00008000) == 0x00008000,
+ LowPower = (response & 0x00000080) == 0x00000080
+ };
}
public static OCR DecodeOCR(byte[] response)
{
- if(response == null) return null;
-
- if(response.Length != 4) return null;
-
- return DecodeOCR(BitConverter.ToUInt32(response, 0));
+ return response?.Length != 4 ? null : DecodeOCR(BitConverter.ToUInt32(response, 0));
}
public static string PrettifyOCR(OCR ocr)
diff --git a/DiscImageChef.Decoders/SecureDigital/SCR.cs b/DiscImageChef.Decoders/SecureDigital/SCR.cs
index 35f272413..5e9b38a3b 100644
--- a/DiscImageChef.Decoders/SecureDigital/SCR.cs
+++ b/DiscImageChef.Decoders/SecureDigital/SCR.cs
@@ -31,10 +31,15 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.SecureDigital
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public class SCR
{
public byte Structure;
@@ -50,18 +55,17 @@ namespace DiscImageChef.Decoders.SecureDigital
public byte[] ManufacturerReserved;
}
- public partial class Decoders
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ public static partial class Decoders
{
public static SCR DecodeSCR(uint[] response)
{
- if(response == null) return null;
-
- if(response.Length != 2) return null;
+ if(response?.Length != 2) return null;
byte[] data = new byte[8];
- byte[] tmp;
- tmp = BitConverter.GetBytes(response[0]);
+ byte[] tmp = BitConverter.GetBytes(response[0]);
Array.Copy(tmp, 0, data, 0, 4);
tmp = BitConverter.GetBytes(response[1]);
Array.Copy(tmp, 0, data, 4, 4);
@@ -71,22 +75,22 @@ namespace DiscImageChef.Decoders.SecureDigital
public static SCR DecodeSCR(byte[] response)
{
- if(response == null) return null;
+ if(response?.Length != 8) return null;
- if(response.Length != 8) return null;
-
- SCR scr = new SCR();
- scr.Structure = (byte)((response[0] & 0xF0) >> 4);
- scr.Spec = (byte)(response[0] & 0x0F);
- scr.DataStatusAfterErase = (response[1] & 0x80) == 0x80;
- scr.Security = (byte)((response[1] & 0x70) >> 4);
- scr.BusWidth = (byte)(response[1] & 0x0F);
- scr.Spec3 = (response[2] & 0x80) == 0x80;
- scr.ExtendedSecurity = (byte)((response[2] & 0x78) >> 3);
- scr.Spec4 = (response[2] & 0x04) == 0x04;
- scr.SpecX = (byte)(((response[2] & 0x03) << 2) + ((response[3] & 0xC0) >> 6));
- scr.CommandSupport = (byte)(response[3] & 0x0F);
- scr.ManufacturerReserved = new byte[4];
+ SCR scr = new SCR
+ {
+ Structure = (byte)((response[0] & 0xF0) >> 4),
+ Spec = (byte)(response[0] & 0x0F),
+ DataStatusAfterErase = (response[1] & 0x80) == 0x80,
+ Security = (byte)((response[1] & 0x70) >> 4),
+ BusWidth = (byte)(response[1] & 0x0F),
+ Spec3 = (response[2] & 0x80) == 0x80,
+ ExtendedSecurity = (byte)((response[2] & 0x78) >> 3),
+ Spec4 = (response[2] & 0x04) == 0x04,
+ SpecX = (byte)(((response[2] & 0x03) << 2) + ((response[3] & 0xC0) >> 6)),
+ CommandSupport = (byte)(response[3] & 0x0F),
+ ManufacturerReserved = new byte[4]
+ };
Array.Copy(response, 4, scr.ManufacturerReserved, 0, 4);
return scr;
diff --git a/DiscImageChef.Decoders/SecureDigital/VendorString.cs b/DiscImageChef.Decoders/SecureDigital/VendorString.cs
index 3938a5eb3..545e0f532 100644
--- a/DiscImageChef.Decoders/SecureDigital/VendorString.cs
+++ b/DiscImageChef.Decoders/SecureDigital/VendorString.cs
@@ -34,12 +34,12 @@ namespace DiscImageChef.Decoders.SecureDigital
{
public static class VendorString
{
- public static string Prettify(byte SDVendorID)
+ public static string Prettify(byte sdVendorId)
{
- switch(SDVendorID)
+ switch(sdVendorId)
{
case 0xAA: return "QEMU";
- default: return $"Unknown manufacturer ID 0x{SDVendorID:X2}";
+ default: return $"Unknown manufacturer ID 0x{sdVendorId:X2}";
}
}
}
diff --git a/DiscImageChef.Decoders/Sega/CD.cs b/DiscImageChef.Decoders/Sega/CD.cs
index 758914f44..fc6f75319 100644
--- a/DiscImageChef.Decoders/Sega/CD.cs
+++ b/DiscImageChef.Decoders/Sega/CD.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Text;
@@ -38,6 +39,9 @@ using DiscImageChef.Console;
namespace DiscImageChef.Decoders.Sega
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class CD
{
// TODO: Check if it is big or little endian
@@ -114,10 +118,9 @@ namespace DiscImageChef.Decoders.Sega
if(ipbin_sector.Length < 512) return null;
- IPBin ipbin;
IntPtr ptr = Marshal.AllocHGlobal(512);
Marshal.Copy(ipbin_sector, 0, ptr, 512);
- ipbin = (IPBin)Marshal.PtrToStructure(ptr, typeof(IPBin));
+ IPBin ipbin = (IPBin)Marshal.PtrToStructure(ptr, typeof(IPBin));
Marshal.FreeHGlobal(ptr);
DicConsole.DebugWriteLine("ISO9660 plugin", "segacd_ipbin.volume_name = \"{0}\"",
@@ -186,7 +189,8 @@ namespace DiscImageChef.Decoders.Sega
provider);
}
#pragma warning disable RECS0022 // A catch clause that catches System.Exception and has an empty body
- catch { }
+ catch { // ignored
+ }
#pragma warning restore RECS0022 // A catch clause that catches System.Exception and has an empty body
}
diff --git a/DiscImageChef.Decoders/Sega/Dreamcast.cs b/DiscImageChef.Decoders/Sega/Dreamcast.cs
index 646d2c193..163faa44c 100644
--- a/DiscImageChef.Decoders/Sega/Dreamcast.cs
+++ b/DiscImageChef.Decoders/Sega/Dreamcast.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Text;
@@ -38,6 +39,9 @@ using DiscImageChef.Console;
namespace DiscImageChef.Decoders.Sega
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Dreamcast
{
[StructLayout(LayoutKind.Sequential, Pack = 1)]
@@ -91,10 +95,9 @@ namespace DiscImageChef.Decoders.Sega
if(ipbin_sector.Length < 512) return null;
- IPBin ipbin;
IntPtr ptr = Marshal.AllocHGlobal(512);
Marshal.Copy(ipbin_sector, 0, ptr, 512);
- ipbin = (IPBin)Marshal.PtrToStructure(ptr, typeof(IPBin));
+ IPBin ipbin = (IPBin)Marshal.PtrToStructure(ptr, typeof(IPBin));
Marshal.FreeHGlobal(ptr);
DicConsole.DebugWriteLine("ISO9660 plugin", "dreamcast_ipbin.maker_id = \"{0}\"",
diff --git a/DiscImageChef.Decoders/Sega/Saturn.cs b/DiscImageChef.Decoders/Sega/Saturn.cs
index 220ffd290..c7f24280d 100644
--- a/DiscImageChef.Decoders/Sega/Saturn.cs
+++ b/DiscImageChef.Decoders/Sega/Saturn.cs
@@ -31,6 +31,7 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Runtime.InteropServices;
using System.Text;
@@ -38,6 +39,9 @@ using DiscImageChef.Console;
namespace DiscImageChef.Decoders.Sega
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class Saturn
{
[StructLayout(LayoutKind.Sequential, Pack = 1)]
@@ -77,10 +81,9 @@ namespace DiscImageChef.Decoders.Sega
if(ipbin_sector.Length < 512) return null;
- IPBin ipbin;
IntPtr ptr = Marshal.AllocHGlobal(512);
Marshal.Copy(ipbin_sector, 0, ptr, 512);
- ipbin = (IPBin)Marshal.PtrToStructure(ptr, typeof(IPBin));
+ IPBin ipbin = (IPBin)Marshal.PtrToStructure(ptr, typeof(IPBin));
Marshal.FreeHGlobal(ptr);
DicConsole.DebugWriteLine("ISO9660 plugin", "saturn_ipbin.maker_id = \"{0}\"",
diff --git a/DiscImageChef.Decoders/Xbox/DMI.cs b/DiscImageChef.Decoders/Xbox/DMI.cs
index a64dbb5c5..59121ed70 100644
--- a/DiscImageChef.Decoders/Xbox/DMI.cs
+++ b/DiscImageChef.Decoders/Xbox/DMI.cs
@@ -31,16 +31,20 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
namespace DiscImageChef.Decoders.Xbox
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class DMI
{
public static bool IsXbox(byte[] dmi)
{
- if(dmi == null) return false;
- if(dmi.Length != 2052) return false;
+ if(dmi?.Length != 2052) return false;
// Version is 1
if(BitConverter.ToUInt32(dmi, 4) != 1) return false;
@@ -54,15 +58,12 @@ namespace DiscImageChef.Decoders.Xbox
long timestamp = BitConverter.ToInt64(dmi, 20);
// Game cannot exist before the Xbox
- if(timestamp < 0x1BD164833DFC000) return false;
-
- return true;
+ return timestamp >= 0x1BD164833DFC000;
}
public static bool IsXbox360(byte[] dmi)
{
- if(dmi == null) return false;
- if(dmi.Length != 2052) return false;
+ if(dmi?.Length != 2052) return false;
uint signature = BitConverter.ToUInt32(dmi, 0x7EC);
@@ -155,14 +156,15 @@ namespace DiscImageChef.Decoders.Xbox
bool isXbox = IsXbox(response);
if(!isXbox) return null;
- XboxDMI dmi = new XboxDMI();
+ XboxDMI dmi = new XboxDMI
+ {
+ DataLength = (ushort)((response[0] << 8) + response[1]),
+ Reserved1 = response[2],
+ Reserved2 = response[3],
+ Version = BitConverter.ToUInt32(response, 4),
+ Timestamp = BitConverter.ToInt64(response, 20)
+ };
- dmi.DataLength = (ushort)((response[0] << 8) + response[1]);
- dmi.Reserved1 = response[2];
- dmi.Reserved2 = response[3];
-
- dmi.Version = BitConverter.ToUInt32(response, 4);
- dmi.Timestamp = BitConverter.ToInt64(response, 20);
byte[] tmp = new byte[8];
Array.Copy(response, 12, tmp, 0, 8);
dmi.CatalogNumber = StringHandlers.CToString(tmp);
@@ -175,23 +177,22 @@ namespace DiscImageChef.Decoders.Xbox
bool isX360 = IsXbox360(response);
if(!isX360) return null;
- Xbox360DMI dmi = new Xbox360DMI();
+ Xbox360DMI dmi = new Xbox360DMI
+ {
+ DataLength = (ushort)((response[0] << 8) + response[1]),
+ Reserved1 = response[2],
+ Reserved2 = response[3],
+ Version = BitConverter.ToUInt32(response, 4),
+ Timestamp = BitConverter.ToInt64(response, 20),
+ MediaID = new byte[16]
+ };
- dmi.DataLength = (ushort)((response[0] << 8) + response[1]);
- dmi.Reserved1 = response[2];
- dmi.Reserved2 = response[3];
-
- dmi.Version = BitConverter.ToUInt32(response, 4);
- dmi.Timestamp = BitConverter.ToInt64(response, 20);
- dmi.MediaID = new byte[16];
Array.Copy(response, 36, dmi.MediaID, 0, 16);
byte[] tmp = new byte[16];
Array.Copy(response, 68, tmp, 0, 16);
dmi.CatalogNumber = StringHandlers.CToString(tmp);
- if(dmi.CatalogNumber == null || dmi.CatalogNumber.Length < 13) return null;
-
- return dmi;
+ return dmi.CatalogNumber == null || dmi.CatalogNumber.Length < 13 ? (Xbox360DMI?)null : dmi;
}
public static string PrettifyXbox(XboxDMI? dmi)
diff --git a/DiscImageChef.Decoders/Xbox/SS.cs b/DiscImageChef.Decoders/Xbox/SS.cs
index 62393399d..c66a38af7 100644
--- a/DiscImageChef.Decoders/Xbox/SS.cs
+++ b/DiscImageChef.Decoders/Xbox/SS.cs
@@ -31,11 +31,16 @@
// ****************************************************************************/
using System;
+using System.Diagnostics.CodeAnalysis;
using System.Text;
using DiscImageChef.Decoders.DVD;
namespace DiscImageChef.Decoders.Xbox
{
+ [SuppressMessage("ReSharper", "InconsistentNaming")]
+ [SuppressMessage("ReSharper", "MemberCanBeInternal")]
+ [SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
+ [SuppressMessage("ReSharper", "NotAccessedField.Global")]
public static class SS
{
public struct SecuritySector
@@ -221,82 +226,92 @@ namespace DiscImageChef.Decoders.Xbox
if(response.Length < 2048) return null;
- SecuritySector ss = new SecuritySector();
+ SecuritySector ss = new SecuritySector
+ {
+ DiskCategory = (DiskCategory)((response[0] & 0xF0) >> 4),
+ PartVersion = (byte)(response[0] & 0x0F),
+ DiscSize = (DVDSize)((response[1] & 0xF0) >> 4),
+ MaximumRate = (MaximumRateField)(response[1] & 0x0F),
+ Reserved3 = (response[2] & 0x80) == 0x80,
+ Layers = (byte)((response[2] & 0x60) >> 5),
+ TrackPath = (response[2] & 0x08) == 0x08,
+ LayerType = (LayerTypeFieldMask)(response[2] & 0x07),
+ LinearDensity = (LinearDensityField)((response[3] & 0xF0) >> 4),
+ TrackDensity = (TrackDensityField)(response[3] & 0x0F),
+ DataAreaStartPSN = (uint)((response[4] << 24) + (response[5] << 16) + (response[6] << 8) + response[7]),
+ DataAreaEndPSN = (uint)((response[8] << 24) + (response[9] << 16) + (response[10] << 8) + response[11]),
+ Layer0EndPSN = (uint)((response[12] << 24) + (response[13] << 16) + (response[14] << 8) + response[15]),
+ Unknown1 = response[27],
+ Unknown2 = new byte[28],
+ Unknown3 = new byte[436],
+ Unknown4 = new byte[4],
+ Unknown5 = new byte[43],
+ ChallengeTableVersion = response[768],
+ NoChallengeEntries = response[769],
+ ChallengeEntries = new ChallengeEntry[23],
+ Unknown6 = response[1023],
+ Unknown7 = new byte[48],
+ Unknown8 = new byte[16],
+ Unknown9 = new byte[16],
+ Unknown10 = new byte[303],
+ Unknown11 = new byte[104],
+ Extents = new SecuritySectorExtent[23],
+ ExtentsCopy = new SecuritySectorExtent[23]
+ };
- // Common
- ss.DiskCategory = (DiskCategory)((response[0] & 0xF0) >> 4);
- ss.PartVersion = (byte)(response[0] & 0x0F);
- ss.DiscSize = (DVDSize)((response[1] & 0xF0) >> 4);
- ss.MaximumRate = (MaximumRateField)(response[1] & 0x0F);
- ss.Reserved3 |= (response[2] & 0x80) == 0x80;
- ss.Layers = (byte)((response[2] & 0x60) >> 5);
- ss.TrackPath |= (response[2] & 0x08) == 0x08;
- ss.LayerType = (LayerTypeFieldMask)(response[2] & 0x07);
- ss.LinearDensity = (LinearDensityField)((response[3] & 0xF0) >> 4);
- ss.TrackDensity = (TrackDensityField)(response[3] & 0x0F);
- ss.DataAreaStartPSN = (uint)((response[4] << 24) + (response[5] << 16) + (response[6] << 8) + response[7]);
- ss.DataAreaEndPSN = (uint)((response[8] << 24) + (response[9] << 16) + (response[10] << 8) + response[11]);
- ss.Layer0EndPSN = (uint)((response[12] << 24) + (response[13] << 16) + (response[14] << 8) + response[15]);
-
- ss.Unknown1 = response[27];
- ss.Unknown2 = new byte[28];
Array.Copy(response, 256, ss.Unknown2, 0, 28);
- ss.Unknown3 = new byte[436];
Array.Copy(response, 284, ss.Unknown3, 0, 436);
- ss.Unknown4 = new byte[4];
Array.Copy(response, 720, ss.Unknown4, 0, 4);
- ss.Unknown5 = new byte[43];
Array.Copy(response, 724, ss.Unknown5, 0, 43);
- ss.ChallengeTableVersion = response[768];
- ss.NoChallengeEntries = response[769];
- ss.ChallengeEntries = new ChallengeEntry[23];
+
for(int i = 0; i < 23; i++)
{
- ss.ChallengeEntries[i] = new ChallengeEntry();
- ss.ChallengeEntries[i].Level = response[770 + i * 11 + 0];
- ss.ChallengeEntries[i].ChallengeId = response[770 + i * 11 + 1];
- ss.ChallengeEntries[i].ChallengeValue =
- (uint)((response[770 + i * 11 + 2] << 24) + (response[770 + i * 11 + 3] << 16) +
- (response[770 + i * 11 + 4] << 8) + response[770 + i * 11 + 5]);
- ss.ChallengeEntries[i].ResponseModifier = response[770 + i * 11 + 6];
- ss.ChallengeEntries[i].ResponseValue =
- (uint)((response[770 + i * 11 + 7] << 24) + (response[770 + i * 11 + 8] << 16) +
- (response[770 + i * 11 + 9] << 8) + response[770 + i * 11 + 10]);
+ ss.ChallengeEntries[i] = new ChallengeEntry
+ {
+ Level = response[770 + i * 11 + 0],
+ ChallengeId = response[770 + i * 11 + 1],
+ ChallengeValue =
+ (uint)((response[770 + i * 11 + 2] << 24) + (response[770 + i * 11 + 3] << 16) +
+ (response[770 + i * 11 + 4] << 8) + response[770 + i * 11 + 5]),
+ ResponseModifier = response[770 + i * 11 + 6],
+ ResponseValue = (uint)((response[770 + i * 11 + 7] << 24) + (response[770 + i * 11 + 8] << 16) +
+ (response[770 + i * 11 + 9] << 8) + response[770 + i * 11 + 10])
+ };
}
- ss.Unknown6 = response[1023];
- ss.Unknown7 = new byte[48];
Array.Copy(response, 1052, ss.Unknown7, 0, 48);
- ss.Unknown8 = new byte[16];
Array.Copy(response, 1120, ss.Unknown8, 0, 16);
- ss.Unknown9 = new byte[16];
Array.Copy(response, 1180, ss.Unknown9, 0, 16);
- ss.Unknown10 = new byte[303];
Array.Copy(response, 1208, ss.Unknown10, 0, 303);
- ss.Unknown11 = new byte[104];
Array.Copy(response, 1528, ss.Unknown11, 0, 104);
- ss.Extents = new SecuritySectorExtent[23];
for(int i = 0; i < 23; i++)
{
- ss.Extents[i] = new SecuritySectorExtent();
- ss.Extents[i].Unknown = (uint)((response[1633 + i * 9 + 0] << 16) + (response[1633 + i * 9 + 1] << 8) +
- response[1633 + i * 9 + 2]);
- ss.Extents[i].StartPSN = (uint)((response[1633 + i * 9 + 3] << 16) + (response[1633 + i * 9 + 4] << 8) +
- response[1633 + i * 9 + 5]);
- ss.Extents[i].EndPSN = (uint)((response[1633 + i * 9 + 6] << 16) + (response[1633 + i * 9 + 7] << 8) +
- response[1633 + i * 9 + 8]);
+ ss.Extents[i] = new SecuritySectorExtent
+ {
+ Unknown =
+ (uint)((response[1633 + i * 9 + 0] << 16) + (response[1633 + i * 9 + 1] << 8) +
+ response[1633 + i * 9 + 2]),
+ StartPSN =
+ (uint)((response[1633 + i * 9 + 3] << 16) + (response[1633 + i * 9 + 4] << 8) +
+ response[1633 + i * 9 + 5]),
+ EndPSN = (uint)((response[1633 + i * 9 + 6] << 16) + (response[1633 + i * 9 + 7] << 8) +
+ response[1633 + i * 9 + 8])
+ };
}
- ss.ExtentsCopy = new SecuritySectorExtent[23];
for(int i = 0; i < 23; i++)
{
- ss.ExtentsCopy[i] = new SecuritySectorExtent();
- ss.ExtentsCopy[i].Unknown = (uint)((response[1840 + i * 9 + 0] << 16) +
- (response[1840 + i * 9 + 1] << 8) + response[1840 + i * 9 + 2]);
- ss.ExtentsCopy[i].StartPSN = (uint)((response[1840 + i * 9 + 3] << 16) +
- (response[1840 + i * 9 + 4] << 8) + response[1840 + i * 9 + 5]);
- ss.ExtentsCopy[i].EndPSN = (uint)((response[1840 + i * 9 + 6] << 16) +
- (response[1840 + i * 9 + 7] << 8) + response[1840 + i * 9 + 8]);
+ ss.ExtentsCopy[i] = new SecuritySectorExtent
+ {
+ Unknown =
+ (uint)((response[1840 + i * 9 + 0] << 16) + (response[1840 + i * 9 + 1] << 8) +
+ response[1840 + i * 9 + 2]),
+ StartPSN =
+ (uint)((response[1840 + i * 9 + 3] << 16) + (response[1840 + i * 9 + 4] << 8) +
+ response[1840 + i * 9 + 5]),
+ EndPSN = (uint)((response[1840 + i * 9 + 6] << 16) + (response[1840 + i * 9 + 7] << 8) +
+ response[1840 + i * 9 + 8])
+ };
}
return ss;
@@ -323,7 +338,7 @@ namespace DiscImageChef.Decoders.Xbox
break;
}
- string categorySentence = "Disc is a {0} {1} version {2}";
+ const string categorySentence = "Disc is a {0} {1} version {2}";
switch(decoded.DiskCategory)
{
diff --git a/DiscImageChef.Devices/Command.cs b/DiscImageChef.Devices/Command.cs
index 3ab18d7ac..dbce05644 100644
--- a/DiscImageChef.Devices/Command.cs
+++ b/DiscImageChef.Devices/Command.cs
@@ -158,7 +158,7 @@ namespace DiscImageChef.Devices
}
}
- internal static int SendAtaCommand(object fd, AtaRegistersCHS registers, out AtaErrorRegistersCHS errorRegisters,
+ internal static int SendAtaCommand(object fd, AtaRegistersChs registers, out AtaErrorRegistersChs errorRegisters,
AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer,
uint timeout, bool transferBlocks, out double duration, out bool sense)
{
@@ -168,8 +168,8 @@ namespace DiscImageChef.Devices
timeout, transferBlocks, out duration, out sense);
}
- internal static int SendAtaCommand(PlatformID ptId, object fd, AtaRegistersCHS registers,
- out AtaErrorRegistersCHS errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(PlatformID ptId, object fd, AtaRegistersChs registers,
+ out AtaErrorRegistersChs errorRegisters, AtaProtocol protocol,
AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout,
bool transferBlocks, out double duration, out bool sense)
{
@@ -205,8 +205,8 @@ namespace DiscImageChef.Devices
}
}
- internal static int SendAtaCommand(object fd, AtaRegistersLBA28 registers,
- out AtaErrorRegistersLBA28 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(object fd, AtaRegistersLba28 registers,
+ out AtaErrorRegistersLba28 errorRegisters, AtaProtocol protocol,
AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout,
bool transferBlocks, out double duration, out bool sense)
{
@@ -216,8 +216,8 @@ namespace DiscImageChef.Devices
timeout, transferBlocks, out duration, out sense);
}
- internal static int SendAtaCommand(PlatformID ptId, object fd, AtaRegistersLBA28 registers,
- out AtaErrorRegistersLBA28 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(PlatformID ptId, object fd, AtaRegistersLba28 registers,
+ out AtaErrorRegistersLba28 errorRegisters, AtaProtocol protocol,
AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout,
bool transferBlocks, out double duration, out bool sense)
{
@@ -253,8 +253,8 @@ namespace DiscImageChef.Devices
}
}
- internal static int SendAtaCommand(object fd, AtaRegistersLBA48 registers,
- out AtaErrorRegistersLBA48 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(object fd, AtaRegistersLba48 registers,
+ out AtaErrorRegistersLba48 errorRegisters, AtaProtocol protocol,
AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout,
bool transferBlocks, out double duration, out bool sense)
{
@@ -264,8 +264,8 @@ namespace DiscImageChef.Devices
timeout, transferBlocks, out duration, out sense);
}
- internal static int SendAtaCommand(PlatformID ptId, object fd, AtaRegistersLBA48 registers,
- out AtaErrorRegistersLBA48 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(PlatformID ptId, object fd, AtaRegistersLba48 registers,
+ out AtaErrorRegistersLba48 errorRegisters, AtaProtocol protocol,
AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout,
bool transferBlocks, out double duration, out bool sense)
{
diff --git a/DiscImageChef.Devices/Device/AtaCommands/Ata28.cs b/DiscImageChef.Devices/Device/AtaCommands/Ata28.cs
index af8c12a7f..cd385d79c 100644
--- a/DiscImageChef.Devices/Device/AtaCommands/Ata28.cs
+++ b/DiscImageChef.Devices/Device/AtaCommands/Ata28.cs
@@ -37,14 +37,14 @@ namespace DiscImageChef.Devices
{
public partial class Device
{
- public bool ReadBuffer(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, uint timeout,
+ public bool ReadBuffer(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, uint timeout,
out double duration)
{
buffer = new byte[512];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.ReadBuffer;
+ registers.Command = (byte)AtaCommands.ReadBuffer;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -56,14 +56,14 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadBufferDma(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, uint timeout,
+ public bool ReadBufferDma(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, uint timeout,
out double duration)
{
buffer = new byte[512];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.ReadBufferDma;
+ registers.Command = (byte)AtaCommands.ReadBufferDma;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.Dma, AtaTransferRegister.NoTransfer,
ref buffer, timeout, false, out duration, out sense);
@@ -74,28 +74,28 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadDma(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, uint lba, byte count,
+ public bool ReadDma(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, uint lba, byte count,
uint timeout, out double duration)
{
return ReadDma(out buffer, out statusRegisters, true, lba, count, timeout, out duration);
}
- public bool ReadDma(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, bool retry, uint lba,
+ public bool ReadDma(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, bool retry, uint lba,
byte count, uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 256];
else buffer = new byte[512 * count];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- if(retry) registers.command = (byte)AtaCommands.ReadDmaRetry;
- else registers.command = (byte)AtaCommands.ReadDma;
- registers.sectorCount = count;
- registers.deviceHead = (byte)((lba & 0xF000000) / 0x1000000);
- registers.lbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
- registers.lbaMid = (byte)((lba & 0xFF00) / 0x100);
- registers.lbaLow = (byte)((lba & 0xFF) / 0x1);
- registers.deviceHead += 0x40;
+ if(retry) registers.Command = (byte)AtaCommands.ReadDmaRetry;
+ else registers.Command = (byte)AtaCommands.ReadDma;
+ registers.SectorCount = count;
+ registers.DeviceHead = (byte)((lba & 0xF000000) / 0x1000000);
+ registers.LbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
+ registers.LbaMid = (byte)((lba & 0xFF00) / 0x100);
+ registers.LbaLow = (byte)((lba & 0xFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.Dma, AtaTransferRegister.SectorCount,
ref buffer, timeout, true, out duration, out sense);
@@ -106,21 +106,21 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadMultiple(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, uint lba, byte count,
+ public bool ReadMultiple(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, uint lba, byte count,
uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 256];
else buffer = new byte[512 * count];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.ReadMultiple;
- registers.sectorCount = count;
- registers.deviceHead = (byte)((lba & 0xF000000) / 0x1000000);
- registers.lbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
- registers.lbaMid = (byte)((lba & 0xFF00) / 0x100);
- registers.lbaLow = (byte)((lba & 0xFF) / 0x1);
- registers.deviceHead += 0x40;
+ registers.Command = (byte)AtaCommands.ReadMultiple;
+ registers.SectorCount = count;
+ registers.DeviceHead = (byte)((lba & 0xF000000) / 0x1000000);
+ registers.LbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
+ registers.LbaMid = (byte)((lba & 0xFF00) / 0x100);
+ registers.LbaLow = (byte)((lba & 0xFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
@@ -132,29 +132,29 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadNativeMaxAddress(out uint lba, out AtaErrorRegistersLBA28 statusRegisters, uint timeout,
+ public bool ReadNativeMaxAddress(out uint lba, out AtaErrorRegistersLba28 statusRegisters, uint timeout,
out double duration)
{
lba = 0;
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.ReadNativeMaxAddress;
- registers.deviceHead += 0x40;
+ registers.Command = (byte)AtaCommands.ReadNativeMaxAddress;
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
out sense);
Error = LastError != 0;
- if((statusRegisters.status & 0x23) == 0)
+ if((statusRegisters.Status & 0x23) == 0)
{
- lba += (uint)(statusRegisters.deviceHead & 0xF);
+ lba += (uint)(statusRegisters.DeviceHead & 0xF);
lba *= 0x1000000;
- lba += (uint)(statusRegisters.lbaHigh << 16);
- lba += (uint)(statusRegisters.lbaMid << 8);
- lba += statusRegisters.lbaLow;
+ lba += (uint)(statusRegisters.LbaHigh << 16);
+ lba += (uint)(statusRegisters.LbaMid << 8);
+ lba += statusRegisters.LbaLow;
}
DicConsole.DebugWriteLine("ATA Device", "READ NATIVE MAX ADDRESS took {0} ms.", duration);
@@ -162,28 +162,28 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool Read(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, uint lba, byte count,
+ public bool Read(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, uint lba, byte count,
uint timeout, out double duration)
{
return Read(out buffer, out statusRegisters, true, lba, count, timeout, out duration);
}
- public bool Read(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, bool retry, uint lba,
+ public bool Read(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, bool retry, uint lba,
byte count, uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 256];
else buffer = new byte[512 * count];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- if(retry) registers.command = (byte)AtaCommands.ReadRetry;
- else registers.command = (byte)AtaCommands.Read;
- registers.sectorCount = count;
- registers.deviceHead = (byte)((lba & 0xF000000) / 0x1000000);
- registers.lbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
- registers.lbaMid = (byte)((lba & 0xFF00) / 0x100);
- registers.lbaLow = (byte)((lba & 0xFF) / 0x1);
- registers.deviceHead += 0x40;
+ if(retry) registers.Command = (byte)AtaCommands.ReadRetry;
+ else registers.Command = (byte)AtaCommands.Read;
+ registers.SectorCount = count;
+ registers.DeviceHead = (byte)((lba & 0xF000000) / 0x1000000);
+ registers.LbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
+ registers.LbaMid = (byte)((lba & 0xFF00) / 0x100);
+ registers.LbaLow = (byte)((lba & 0xFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
@@ -195,27 +195,27 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadLong(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, uint lba, uint blockSize,
+ public bool ReadLong(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, uint lba, uint blockSize,
uint timeout, out double duration)
{
return ReadLong(out buffer, out statusRegisters, true, lba, blockSize, timeout, out duration);
}
- public bool ReadLong(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, bool retry, uint lba,
+ public bool ReadLong(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, bool retry, uint lba,
uint blockSize, uint timeout, out double duration)
{
buffer = new byte[blockSize];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- if(retry) registers.command = (byte)AtaCommands.ReadLongRetry;
- else registers.command = (byte)AtaCommands.ReadLong;
- registers.sectorCount = 1;
- registers.deviceHead = (byte)((lba & 0xF000000) / 0x1000000);
- registers.lbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
- registers.lbaMid = (byte)((lba & 0xFF00) / 0x100);
- registers.lbaLow = (byte)((lba & 0xFF) / 0x1);
- registers.deviceHead += 0x40;
+ if(retry) registers.Command = (byte)AtaCommands.ReadLongRetry;
+ else registers.Command = (byte)AtaCommands.ReadLong;
+ registers.SectorCount = 1;
+ registers.DeviceHead = (byte)((lba & 0xF000000) / 0x1000000);
+ registers.LbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
+ registers.LbaMid = (byte)((lba & 0xFF00) / 0x100);
+ registers.LbaLow = (byte)((lba & 0xFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
@@ -227,18 +227,18 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool Seek(out AtaErrorRegistersLBA28 statusRegisters, uint lba, uint timeout, out double duration)
+ public bool Seek(out AtaErrorRegistersLba28 statusRegisters, uint lba, uint timeout, out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Seek;
- registers.deviceHead = (byte)((lba & 0xF000000) / 0x1000000);
- registers.lbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
- registers.lbaMid = (byte)((lba & 0xFF00) / 0x100);
- registers.lbaLow = (byte)((lba & 0xFF) / 0x1);
- registers.deviceHead += 0x40;
+ registers.Command = (byte)AtaCommands.Seek;
+ registers.DeviceHead = (byte)((lba & 0xF000000) / 0x1000000);
+ registers.LbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
+ registers.LbaMid = (byte)((lba & 0xFF00) / 0x100);
+ registers.LbaLow = (byte)((lba & 0xFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
diff --git a/DiscImageChef.Devices/Device/AtaCommands/Ata48.cs b/DiscImageChef.Devices/Device/AtaCommands/Ata48.cs
index ea0287e78..953118e32 100644
--- a/DiscImageChef.Devices/Device/AtaCommands/Ata48.cs
+++ b/DiscImageChef.Devices/Device/AtaCommands/Ata48.cs
@@ -37,28 +37,28 @@ namespace DiscImageChef.Devices
{
public partial class Device
{
- public bool GetNativeMaxAddressExt(out ulong lba, out AtaErrorRegistersLBA48 statusRegisters, uint timeout,
+ public bool GetNativeMaxAddressExt(out ulong lba, out AtaErrorRegistersLba48 statusRegisters, uint timeout,
out double duration)
{
lba = 0;
- AtaRegistersLBA48 registers = new AtaRegistersLBA48();
+ AtaRegistersLba48 registers = new AtaRegistersLba48();
bool sense;
byte[] buffer = new byte[0];
- registers.command = (byte)AtaCommands.NativeMaxAddress;
- registers.feature = 0x0000;
+ registers.Command = (byte)AtaCommands.NativeMaxAddress;
+ registers.Feature = 0x0000;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
out sense);
Error = LastError != 0;
- if((statusRegisters.status & 0x23) == 0)
+ if((statusRegisters.Status & 0x23) == 0)
{
- lba = statusRegisters.lbaHigh;
+ lba = statusRegisters.LbaHigh;
lba *= 0x100000000;
- lba += (ulong)(statusRegisters.lbaMid << 16);
- lba += statusRegisters.lbaLow;
+ lba += (ulong)(statusRegisters.LbaMid << 16);
+ lba += statusRegisters.LbaLow;
}
DicConsole.DebugWriteLine("ATA Device", "GET NATIVE MAX ADDRESS EXT took {0} ms.", duration);
@@ -66,20 +66,20 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadDma(out byte[] buffer, out AtaErrorRegistersLBA48 statusRegisters, ulong lba, ushort count,
+ public bool ReadDma(out byte[] buffer, out AtaErrorRegistersLba48 statusRegisters, ulong lba, ushort count,
uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 65536];
else buffer = new byte[512 * count];
- AtaRegistersLBA48 registers = new AtaRegistersLBA48();
+ AtaRegistersLba48 registers = new AtaRegistersLba48();
bool sense;
- registers.command = (byte)AtaCommands.ReadDmaExt;
- registers.sectorCount = count;
- registers.lbaHigh = (ushort)((lba & 0xFFFF00000000) / 0x100000000);
- registers.lbaMid = (ushort)((lba & 0xFFFF0000) / 0x10000);
- registers.lbaLow = (ushort)((lba & 0xFFFF) / 0x1);
- registers.deviceHead += 0x40;
+ registers.Command = (byte)AtaCommands.ReadDmaExt;
+ registers.SectorCount = count;
+ registers.LbaHigh = (ushort)((lba & 0xFFFF00000000) / 0x100000000);
+ registers.LbaMid = (ushort)((lba & 0xFFFF0000) / 0x10000);
+ registers.LbaLow = (ushort)((lba & 0xFFFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.Dma, AtaTransferRegister.SectorCount,
ref buffer, timeout, true, out duration, out sense);
@@ -90,18 +90,18 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadLog(out byte[] buffer, out AtaErrorRegistersLBA48 statusRegisters, byte logAddress,
+ public bool ReadLog(out byte[] buffer, out AtaErrorRegistersLba48 statusRegisters, byte logAddress,
ushort pageNumber, ushort count, uint timeout, out double duration)
{
buffer = new byte[512 * count];
- AtaRegistersLBA48 registers = new AtaRegistersLBA48();
+ AtaRegistersLba48 registers = new AtaRegistersLba48();
bool sense;
- registers.command = (byte)AtaCommands.ReadLogExt;
- registers.sectorCount = count;
- registers.lbaLow = (ushort)((pageNumber & 0xFF) * 0x100);
- registers.lbaLow += logAddress;
- registers.lbaHigh = (ushort)((pageNumber & 0xFF00) / 0x100);
+ registers.Command = (byte)AtaCommands.ReadLogExt;
+ registers.SectorCount = count;
+ registers.LbaLow = (ushort)((pageNumber & 0xFF) * 0x100);
+ registers.LbaLow += logAddress;
+ registers.LbaHigh = (ushort)((pageNumber & 0xFF00) / 0x100);
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
@@ -113,18 +113,18 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadLogDma(out byte[] buffer, out AtaErrorRegistersLBA48 statusRegisters, byte logAddress,
+ public bool ReadLogDma(out byte[] buffer, out AtaErrorRegistersLba48 statusRegisters, byte logAddress,
ushort pageNumber, ushort count, uint timeout, out double duration)
{
buffer = new byte[512 * count];
- AtaRegistersLBA48 registers = new AtaRegistersLBA48();
+ AtaRegistersLba48 registers = new AtaRegistersLba48();
bool sense;
- registers.command = (byte)AtaCommands.ReadLogDmaExt;
- registers.sectorCount = count;
- registers.lbaLow = (ushort)((pageNumber & 0xFF) * 0x100);
- registers.lbaLow += logAddress;
- registers.lbaHigh = (ushort)((pageNumber & 0xFF00) / 0x100);
+ registers.Command = (byte)AtaCommands.ReadLogDmaExt;
+ registers.SectorCount = count;
+ registers.LbaLow = (ushort)((pageNumber & 0xFF) * 0x100);
+ registers.LbaLow += logAddress;
+ registers.LbaHigh = (ushort)((pageNumber & 0xFF00) / 0x100);
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.Dma, AtaTransferRegister.SectorCount,
ref buffer, timeout, true, out duration, out sense);
@@ -135,20 +135,20 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadMultiple(out byte[] buffer, out AtaErrorRegistersLBA48 statusRegisters, ulong lba, ushort count,
+ public bool ReadMultiple(out byte[] buffer, out AtaErrorRegistersLba48 statusRegisters, ulong lba, ushort count,
uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 65536];
else buffer = new byte[512 * count];
- AtaRegistersLBA48 registers = new AtaRegistersLBA48();
+ AtaRegistersLba48 registers = new AtaRegistersLba48();
bool sense;
- registers.command = (byte)AtaCommands.ReadMultipleExt;
- registers.sectorCount = count;
- registers.lbaHigh = (ushort)((lba & 0xFFFF00000000) / 0x100000000);
- registers.lbaMid = (ushort)((lba & 0xFFFF0000) / 0x10000);
- registers.lbaLow = (ushort)((lba & 0xFFFF) / 0x1);
- registers.deviceHead += 0x40;
+ registers.Command = (byte)AtaCommands.ReadMultipleExt;
+ registers.SectorCount = count;
+ registers.LbaHigh = (ushort)((lba & 0xFFFF00000000) / 0x100000000);
+ registers.LbaMid = (ushort)((lba & 0xFFFF0000) / 0x10000);
+ registers.LbaLow = (ushort)((lba & 0xFFFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
@@ -160,28 +160,28 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadNativeMaxAddress(out ulong lba, out AtaErrorRegistersLBA48 statusRegisters, uint timeout,
+ public bool ReadNativeMaxAddress(out ulong lba, out AtaErrorRegistersLba48 statusRegisters, uint timeout,
out double duration)
{
lba = 0;
byte[] buffer = new byte[0];
- AtaRegistersLBA48 registers = new AtaRegistersLBA48();
+ AtaRegistersLba48 registers = new AtaRegistersLba48();
bool sense;
- registers.command = (byte)AtaCommands.ReadNativeMaxAddressExt;
- registers.deviceHead += 0x40;
+ registers.Command = (byte)AtaCommands.ReadNativeMaxAddressExt;
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
out sense);
Error = LastError != 0;
- if((statusRegisters.status & 0x23) == 0)
+ if((statusRegisters.Status & 0x23) == 0)
{
- lba = statusRegisters.lbaHigh;
+ lba = statusRegisters.LbaHigh;
lba *= 0x100000000;
- lba += (ulong)(statusRegisters.lbaMid << 16);
- lba += statusRegisters.lbaLow;
+ lba += (ulong)(statusRegisters.LbaMid << 16);
+ lba += statusRegisters.LbaLow;
}
DicConsole.DebugWriteLine("ATA Device", "READ NATIVE MAX ADDRESS EXT took {0} ms.", duration);
@@ -189,20 +189,20 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool Read(out byte[] buffer, out AtaErrorRegistersLBA48 statusRegisters, ulong lba, ushort count,
+ public bool Read(out byte[] buffer, out AtaErrorRegistersLba48 statusRegisters, ulong lba, ushort count,
uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 65536];
else buffer = new byte[512 * count];
- AtaRegistersLBA48 registers = new AtaRegistersLBA48();
+ AtaRegistersLba48 registers = new AtaRegistersLba48();
bool sense;
- registers.command = (byte)AtaCommands.ReadExt;
- registers.sectorCount = count;
- registers.lbaHigh = (ushort)((lba & 0xFFFF00000000) / 0x100000000);
- registers.lbaMid = (ushort)((lba & 0xFFFF0000) / 0x10000);
- registers.lbaLow = (ushort)((lba & 0xFFFF) / 0x1);
- registers.deviceHead += 0x40;
+ registers.Command = (byte)AtaCommands.ReadExt;
+ registers.SectorCount = count;
+ registers.LbaHigh = (ushort)((lba & 0xFFFF00000000) / 0x100000000);
+ registers.LbaMid = (ushort)((lba & 0xFFFF0000) / 0x10000);
+ registers.LbaLow = (ushort)((lba & 0xFFFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
diff --git a/DiscImageChef.Devices/Device/AtaCommands/AtaCHS.cs b/DiscImageChef.Devices/Device/AtaCommands/AtaCHS.cs
index d01e00cf5..d9d27454e 100644
--- a/DiscImageChef.Devices/Device/AtaCommands/AtaCHS.cs
+++ b/DiscImageChef.Devices/Device/AtaCommands/AtaCHS.cs
@@ -43,7 +43,7 @@ namespace DiscImageChef.Devices
/// true if the command failed and contains the error registers.
/// Buffer.
/// Status registers.
- public bool AtaIdentify(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters)
+ public bool AtaIdentify(out byte[] buffer, out AtaErrorRegistersChs statusRegisters)
{
return AtaIdentify(out buffer, out statusRegisters, Timeout);
}
@@ -55,7 +55,7 @@ namespace DiscImageChef.Devices
/// Buffer.
/// Status registers.
/// Duration.
- public bool AtaIdentify(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, out double duration)
+ public bool AtaIdentify(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, out double duration)
{
return AtaIdentify(out buffer, out statusRegisters, Timeout, out duration);
}
@@ -67,7 +67,7 @@ namespace DiscImageChef.Devices
/// Buffer.
/// Status registers.
/// Timeout.
- public bool AtaIdentify(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, uint timeout)
+ public bool AtaIdentify(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, uint timeout)
{
double duration;
return AtaIdentify(out buffer, out statusRegisters, timeout, out duration);
@@ -81,14 +81,14 @@ namespace DiscImageChef.Devices
/// Status registers.
/// Timeout.
/// Duration.
- public bool AtaIdentify(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, uint timeout,
+ public bool AtaIdentify(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, uint timeout,
out double duration)
{
buffer = new byte[512];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- registers.command = (byte)AtaCommands.IdentifyDevice;
+ registers.Command = (byte)AtaCommands.IdentifyDevice;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -100,27 +100,27 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadDma(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, ushort cylinder, byte head,
+ public bool ReadDma(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, ushort cylinder, byte head,
byte sector, byte count, uint timeout, out double duration)
{
return ReadDma(out buffer, out statusRegisters, true, cylinder, head, sector, count, timeout, out duration);
}
- public bool ReadDma(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, bool retry, ushort cylinder,
+ public bool ReadDma(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, bool retry, ushort cylinder,
byte head, byte sector, byte count, uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 256];
else buffer = new byte[512 * count];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- if(retry) registers.command = (byte)AtaCommands.ReadDmaRetry;
- else registers.command = (byte)AtaCommands.ReadDma;
- registers.sectorCount = count;
- registers.cylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
- registers.cylinderLow = (byte)((cylinder & 0xFF) / 0x1);
- registers.deviceHead = (byte)(head & 0x0F);
- registers.sector = sector;
+ if(retry) registers.Command = (byte)AtaCommands.ReadDmaRetry;
+ else registers.Command = (byte)AtaCommands.ReadDma;
+ registers.SectorCount = count;
+ registers.CylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
+ registers.CylinderLow = (byte)((cylinder & 0xFF) / 0x1);
+ registers.DeviceHead = (byte)(head & 0x0F);
+ registers.Sector = sector;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.Dma, AtaTransferRegister.SectorCount,
ref buffer, timeout, true, out duration, out sense);
@@ -131,20 +131,20 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadMultiple(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, ushort cylinder,
+ public bool ReadMultiple(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, ushort cylinder,
byte head, byte sector, byte count, uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 256];
else buffer = new byte[512 * count];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- registers.command = (byte)AtaCommands.ReadMultiple;
- registers.sectorCount = count;
- registers.cylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
- registers.cylinderLow = (byte)((cylinder & 0xFF) / 0x1);
- registers.deviceHead = (byte)(head & 0x0F);
- registers.sector = sector;
+ registers.Command = (byte)AtaCommands.ReadMultiple;
+ registers.SectorCount = count;
+ registers.CylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
+ registers.CylinderLow = (byte)((cylinder & 0xFF) / 0x1);
+ registers.DeviceHead = (byte)(head & 0x0F);
+ registers.Sector = sector;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
@@ -156,27 +156,27 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool Read(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, ushort cylinder, byte head,
+ public bool Read(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, ushort cylinder, byte head,
byte sector, byte count, uint timeout, out double duration)
{
return Read(out buffer, out statusRegisters, true, cylinder, head, sector, count, timeout, out duration);
}
- public bool Read(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, bool retry, ushort cylinder,
+ public bool Read(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, bool retry, ushort cylinder,
byte head, byte sector, byte count, uint timeout, out double duration)
{
if(count == 0) buffer = new byte[512 * 256];
else buffer = new byte[512 * count];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- if(retry) registers.command = (byte)AtaCommands.ReadRetry;
- else registers.command = (byte)AtaCommands.Read;
- registers.sectorCount = count;
- registers.cylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
- registers.cylinderLow = (byte)((cylinder & 0xFF) / 0x1);
- registers.deviceHead = (byte)(head & 0x0F);
- registers.sector = sector;
+ if(retry) registers.Command = (byte)AtaCommands.ReadRetry;
+ else registers.Command = (byte)AtaCommands.Read;
+ registers.SectorCount = count;
+ registers.CylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
+ registers.CylinderLow = (byte)((cylinder & 0xFF) / 0x1);
+ registers.DeviceHead = (byte)(head & 0x0F);
+ registers.Sector = sector;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
@@ -188,27 +188,27 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool ReadLong(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, ushort cylinder, byte head,
+ public bool ReadLong(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, ushort cylinder, byte head,
byte sector, uint blockSize, uint timeout, out double duration)
{
return ReadLong(out buffer, out statusRegisters, true, cylinder, head, sector, blockSize, timeout,
out duration);
}
- public bool ReadLong(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, bool retry, ushort cylinder,
+ public bool ReadLong(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, bool retry, ushort cylinder,
byte head, byte sector, uint blockSize, uint timeout, out double duration)
{
buffer = new byte[blockSize];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- if(retry) registers.command = (byte)AtaCommands.ReadLongRetry;
- else registers.command = (byte)AtaCommands.ReadLong;
- registers.sectorCount = 1;
- registers.cylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
- registers.cylinderLow = (byte)((cylinder & 0xFF) / 0x1);
- registers.deviceHead = (byte)(head & 0x0F);
- registers.sector = sector;
+ if(retry) registers.Command = (byte)AtaCommands.ReadLongRetry;
+ else registers.Command = (byte)AtaCommands.ReadLong;
+ registers.SectorCount = 1;
+ registers.CylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
+ registers.CylinderLow = (byte)((cylinder & 0xFF) / 0x1);
+ registers.DeviceHead = (byte)(head & 0x0F);
+ registers.Sector = sector;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.SectorCount, ref buffer, timeout, true, out duration,
@@ -220,18 +220,18 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool Seek(out AtaErrorRegistersCHS statusRegisters, ushort cylinder, byte head, byte sector,
+ public bool Seek(out AtaErrorRegistersChs statusRegisters, ushort cylinder, byte head, byte sector,
uint timeout, out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- registers.command = (byte)AtaCommands.Seek;
- registers.cylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
- registers.cylinderLow = (byte)((cylinder & 0xFF) / 0x1);
- registers.deviceHead = (byte)(head & 0x0F);
- registers.sector = sector;
+ registers.Command = (byte)AtaCommands.Seek;
+ registers.CylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
+ registers.CylinderLow = (byte)((cylinder & 0xFF) / 0x1);
+ registers.DeviceHead = (byte)(head & 0x0F);
+ registers.Sector = sector;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, true, out duration,
diff --git a/DiscImageChef.Devices/Device/AtaCommands/Atapi.cs b/DiscImageChef.Devices/Device/AtaCommands/Atapi.cs
index 463b70569..7a32b0f14 100644
--- a/DiscImageChef.Devices/Device/AtaCommands/Atapi.cs
+++ b/DiscImageChef.Devices/Device/AtaCommands/Atapi.cs
@@ -43,7 +43,7 @@ namespace DiscImageChef.Devices
/// true if the command failed and contains the error registers.
/// Buffer.
/// Status registers.
- public bool AtapiIdentify(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters)
+ public bool AtapiIdentify(out byte[] buffer, out AtaErrorRegistersChs statusRegisters)
{
return AtapiIdentify(out buffer, out statusRegisters, Timeout);
}
@@ -55,7 +55,7 @@ namespace DiscImageChef.Devices
/// Buffer.
/// Status registers.
/// Duration.
- public bool AtapiIdentify(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, out double duration)
+ public bool AtapiIdentify(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, out double duration)
{
return AtapiIdentify(out buffer, out statusRegisters, Timeout, out duration);
}
@@ -67,7 +67,7 @@ namespace DiscImageChef.Devices
/// Buffer.
/// Status registers.
/// Timeout.
- public bool AtapiIdentify(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, uint timeout)
+ public bool AtapiIdentify(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, uint timeout)
{
double duration;
return AtapiIdentify(out buffer, out statusRegisters, timeout, out duration);
@@ -81,14 +81,14 @@ namespace DiscImageChef.Devices
/// Status registers.
/// Timeout.
/// Duration.
- public bool AtapiIdentify(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, uint timeout,
+ public bool AtapiIdentify(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, uint timeout,
out double duration)
{
buffer = new byte[512];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- registers.command = (byte)AtaCommands.IdentifyPacketDevice;
+ registers.Command = (byte)AtaCommands.IdentifyPacketDevice;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
diff --git a/DiscImageChef.Devices/Device/AtaCommands/Cfa.cs b/DiscImageChef.Devices/Device/AtaCommands/Cfa.cs
index bf0b5ca33..e35295d56 100644
--- a/DiscImageChef.Devices/Device/AtaCommands/Cfa.cs
+++ b/DiscImageChef.Devices/Device/AtaCommands/Cfa.cs
@@ -37,19 +37,19 @@ namespace DiscImageChef.Devices
{
public partial class Device
{
- public bool TranslateSector(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, uint lba,
+ public bool TranslateSector(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, uint lba,
uint timeout, out double duration)
{
buffer = new byte[512];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.TranslateSector;
- registers.deviceHead = (byte)((lba & 0xF000000) / 0x1000000);
- registers.lbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
- registers.lbaMid = (byte)((lba & 0xFF00) / 0x100);
- registers.lbaLow = (byte)((lba & 0xFF) / 0x1);
- registers.deviceHead += 0x40;
+ registers.Command = (byte)AtaCommands.TranslateSector;
+ registers.DeviceHead = (byte)((lba & 0xF000000) / 0x1000000);
+ registers.LbaHigh = (byte)((lba & 0xFF0000) / 0x10000);
+ registers.LbaMid = (byte)((lba & 0xFF00) / 0x100);
+ registers.LbaLow = (byte)((lba & 0xFF) / 0x1);
+ registers.DeviceHead += 0x40;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -61,18 +61,18 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool TranslateSector(out byte[] buffer, out AtaErrorRegistersCHS statusRegisters, ushort cylinder,
+ public bool TranslateSector(out byte[] buffer, out AtaErrorRegistersChs statusRegisters, ushort cylinder,
byte head, byte sector, uint timeout, out double duration)
{
buffer = new byte[512];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- registers.command = (byte)AtaCommands.TranslateSector;
- registers.cylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
- registers.cylinderLow = (byte)((cylinder & 0xFF) / 0x1);
- registers.sector = sector;
- registers.deviceHead = (byte)(head & 0x0F);
+ registers.Command = (byte)AtaCommands.TranslateSector;
+ registers.CylinderHigh = (byte)((cylinder & 0xFF00) / 0x100);
+ registers.CylinderLow = (byte)((cylinder & 0xFF) / 0x1);
+ registers.Sector = sector;
+ registers.DeviceHead = (byte)(head & 0x0F);
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -84,21 +84,21 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool RequestExtendedErrorCode(out byte errorCode, out AtaErrorRegistersLBA28 statusRegisters,
+ public bool RequestExtendedErrorCode(out byte errorCode, out AtaErrorRegistersLba28 statusRegisters,
uint timeout, out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.RequestSense;
+ registers.Command = (byte)AtaCommands.RequestSense;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
out sense);
Error = LastError != 0;
- errorCode = statusRegisters.error;
+ errorCode = statusRegisters.Error;
DicConsole.DebugWriteLine("ATA Device", "CFA REQUEST EXTENDED ERROR CODE took {0} ms.", duration);
diff --git a/DiscImageChef.Devices/Device/AtaCommands/MCPT.cs b/DiscImageChef.Devices/Device/AtaCommands/MCPT.cs
index ebc0c803d..4e9f4ae2b 100644
--- a/DiscImageChef.Devices/Device/AtaCommands/MCPT.cs
+++ b/DiscImageChef.Devices/Device/AtaCommands/MCPT.cs
@@ -37,27 +37,27 @@ namespace DiscImageChef.Devices
{
public partial class Device
{
- public bool EnableMediaCardPassThrough(out AtaErrorRegistersCHS statusRegisters, uint timeout,
+ public bool EnableMediaCardPassThrough(out AtaErrorRegistersChs statusRegisters, uint timeout,
out double duration)
{
return CheckMediaCardType(1, out statusRegisters, timeout, out duration);
}
- public bool DisableMediaCardPassThrough(out AtaErrorRegistersCHS statusRegisters, uint timeout,
+ public bool DisableMediaCardPassThrough(out AtaErrorRegistersChs statusRegisters, uint timeout,
out double duration)
{
return CheckMediaCardType(0, out statusRegisters, timeout, out duration);
}
- public bool CheckMediaCardType(byte feature, out AtaErrorRegistersCHS statusRegisters, uint timeout,
+ public bool CheckMediaCardType(byte feature, out AtaErrorRegistersChs statusRegisters, uint timeout,
out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersCHS registers = new AtaRegistersCHS();
+ AtaRegistersChs registers = new AtaRegistersChs();
bool sense;
- registers.command = (byte)AtaCommands.CheckMediaCardType;
- registers.feature = feature;
+ registers.Command = (byte)AtaCommands.CheckMediaCardType;
+ registers.Feature = feature;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
diff --git a/DiscImageChef.Devices/Device/AtaCommands/Smart.cs b/DiscImageChef.Devices/Device/AtaCommands/Smart.cs
index 9fcd6b0f0..22775b64b 100644
--- a/DiscImageChef.Devices/Device/AtaCommands/Smart.cs
+++ b/DiscImageChef.Devices/Device/AtaCommands/Smart.cs
@@ -37,16 +37,16 @@ namespace DiscImageChef.Devices
{
public partial class Device
{
- public bool SmartDisable(out AtaErrorRegistersLBA28 statusRegisters, uint timeout, out double duration)
+ public bool SmartDisable(out AtaErrorRegistersLba28 statusRegisters, uint timeout, out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Smart;
- registers.feature = (byte)AtaSmartSubCommands.Disable;
- registers.lbaHigh = 0xC2;
- registers.lbaMid = 0x4F;
+ registers.Command = (byte)AtaCommands.Smart;
+ registers.Feature = (byte)AtaSmartSubCommands.Disable;
+ registers.LbaHigh = 0xC2;
+ registers.LbaMid = 0x4F;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -58,18 +58,18 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool SmartEnableAttributeAutosave(out AtaErrorRegistersLBA28 statusRegisters, uint timeout,
+ public bool SmartEnableAttributeAutosave(out AtaErrorRegistersLba28 statusRegisters, uint timeout,
out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Smart;
- registers.feature = (byte)AtaSmartSubCommands.EnableDisableAttributeAutosave;
- registers.lbaHigh = 0xC2;
- registers.lbaMid = 0x4F;
- registers.sectorCount = 0xF1;
+ registers.Command = (byte)AtaCommands.Smart;
+ registers.Feature = (byte)AtaSmartSubCommands.EnableDisableAttributeAutosave;
+ registers.LbaHigh = 0xC2;
+ registers.LbaMid = 0x4F;
+ registers.SectorCount = 0xF1;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -81,17 +81,17 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool SmartDisableAttributeAutosave(out AtaErrorRegistersLBA28 statusRegisters, uint timeout,
+ public bool SmartDisableAttributeAutosave(out AtaErrorRegistersLba28 statusRegisters, uint timeout,
out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Smart;
- registers.feature = (byte)AtaSmartSubCommands.EnableDisableAttributeAutosave;
- registers.lbaHigh = 0xC2;
- registers.lbaMid = 0x4F;
+ registers.Command = (byte)AtaCommands.Smart;
+ registers.Feature = (byte)AtaSmartSubCommands.EnableDisableAttributeAutosave;
+ registers.LbaHigh = 0xC2;
+ registers.LbaMid = 0x4F;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -103,16 +103,16 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool SmartEnable(out AtaErrorRegistersLBA28 statusRegisters, uint timeout, out double duration)
+ public bool SmartEnable(out AtaErrorRegistersLba28 statusRegisters, uint timeout, out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Smart;
- registers.feature = (byte)AtaSmartSubCommands.Enable;
- registers.lbaHigh = 0xC2;
- registers.lbaMid = 0x4F;
+ registers.Command = (byte)AtaCommands.Smart;
+ registers.Feature = (byte)AtaSmartSubCommands.Enable;
+ registers.LbaHigh = 0xC2;
+ registers.LbaMid = 0x4F;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -124,18 +124,18 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool SmartExecuteOffLineImmediate(out AtaErrorRegistersLBA28 statusRegisters, byte subcommand,
+ public bool SmartExecuteOffLineImmediate(out AtaErrorRegistersLba28 statusRegisters, byte subcommand,
uint timeout, out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Smart;
- registers.feature = (byte)AtaSmartSubCommands.ExecuteOfflineImmediate;
- registers.lbaHigh = 0xC2;
- registers.lbaMid = 0x4F;
- registers.lbaLow = subcommand;
+ registers.Command = (byte)AtaCommands.Smart;
+ registers.Feature = (byte)AtaSmartSubCommands.ExecuteOfflineImmediate;
+ registers.LbaHigh = 0xC2;
+ registers.LbaMid = 0x4F;
+ registers.LbaLow = subcommand;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -147,17 +147,17 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool SmartReadData(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, uint timeout,
+ public bool SmartReadData(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, uint timeout,
out double duration)
{
buffer = new byte[512];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Smart;
- registers.feature = (byte)AtaSmartSubCommands.ReadData;
- registers.lbaHigh = 0xC2;
- registers.lbaMid = 0x4F;
+ registers.Command = (byte)AtaCommands.Smart;
+ registers.Feature = (byte)AtaSmartSubCommands.ReadData;
+ registers.LbaHigh = 0xC2;
+ registers.LbaMid = 0x4F;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -169,18 +169,18 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool SmartReadLog(out byte[] buffer, out AtaErrorRegistersLBA28 statusRegisters, byte logAddress,
+ public bool SmartReadLog(out byte[] buffer, out AtaErrorRegistersLba28 statusRegisters, byte logAddress,
uint timeout, out double duration)
{
buffer = new byte[512];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Smart;
- registers.feature = (byte)AtaSmartSubCommands.ReadLog;
- registers.lbaHigh = 0xC2;
- registers.lbaMid = 0x4F;
- registers.lbaLow = logAddress;
+ registers.Command = (byte)AtaCommands.Smart;
+ registers.Feature = (byte)AtaSmartSubCommands.ReadLog;
+ registers.LbaHigh = 0xC2;
+ registers.LbaMid = 0x4F;
+ registers.LbaLow = logAddress;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.PioIn,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
@@ -192,16 +192,16 @@ namespace DiscImageChef.Devices
return sense;
}
- public bool SmartReturnStatus(out AtaErrorRegistersLBA28 statusRegisters, uint timeout, out double duration)
+ public bool SmartReturnStatus(out AtaErrorRegistersLba28 statusRegisters, uint timeout, out double duration)
{
byte[] buffer = new byte[0];
- AtaRegistersLBA28 registers = new AtaRegistersLBA28();
+ AtaRegistersLba28 registers = new AtaRegistersLba28();
bool sense;
- registers.command = (byte)AtaCommands.Smart;
- registers.feature = (byte)AtaSmartSubCommands.ReturnStatus;
- registers.lbaHigh = 0xC2;
- registers.lbaMid = 0x4F;
+ registers.Command = (byte)AtaCommands.Smart;
+ registers.Feature = (byte)AtaSmartSubCommands.ReturnStatus;
+ registers.LbaHigh = 0xC2;
+ registers.LbaMid = 0x4F;
LastError = SendAtaCommand(registers, out statusRegisters, AtaProtocol.NonData,
AtaTransferRegister.NoTransfer, ref buffer, timeout, false, out duration,
diff --git a/DiscImageChef.Devices/Device/Commands.cs b/DiscImageChef.Devices/Device/Commands.cs
index 699703038..b969d2485 100644
--- a/DiscImageChef.Devices/Device/Commands.cs
+++ b/DiscImageChef.Devices/Device/Commands.cs
@@ -68,7 +68,7 @@ namespace DiscImageChef.Devices
/// If set to true, transfer is indicated in blocks, otherwise, it is indicated in bytes.
/// Time it took to execute the command in milliseconds
/// True if ATA/ATAPI command returned non-OK status
- public int SendAtaCommand(AtaRegistersCHS registers, out AtaErrorRegistersCHS errorRegisters,
+ public int SendAtaCommand(AtaRegistersChs registers, out AtaErrorRegistersChs errorRegisters,
AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer,
uint timeout, bool transferBlocks, out double duration, out bool sense)
{
@@ -89,7 +89,7 @@ namespace DiscImageChef.Devices
/// If set to true, transfer is indicated in blocks, otherwise, it is indicated in bytes.
/// Time it took to execute the command in milliseconds
/// True if ATA/ATAPI command returned non-OK status
- public int SendAtaCommand(AtaRegistersLBA28 registers, out AtaErrorRegistersLBA28 errorRegisters,
+ public int SendAtaCommand(AtaRegistersLba28 registers, out AtaErrorRegistersLba28 errorRegisters,
AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer,
uint timeout, bool transferBlocks, out double duration, out bool sense)
{
@@ -110,7 +110,7 @@ namespace DiscImageChef.Devices
/// If set to true, transfer is indicated in blocks, otherwise, it is indicated in bytes.
/// Time it took to execute the command in milliseconds
/// True if ATA/ATAPI command returned non-OK status
- public int SendAtaCommand(AtaRegistersLBA48 registers, out AtaErrorRegistersLBA48 errorRegisters,
+ public int SendAtaCommand(AtaRegistersLba48 registers, out AtaErrorRegistersLba48 errorRegisters,
AtaProtocol protocol, AtaTransferRegister transferRegister, ref byte[] buffer,
uint timeout, bool transferBlocks, out double duration, out bool sense)
{
diff --git a/DiscImageChef.Devices/Device/Constructor.cs b/DiscImageChef.Devices/Device/Constructor.cs
index c5ec5ccbd..6d0e5db96 100644
--- a/DiscImageChef.Devices/Device/Constructor.cs
+++ b/DiscImageChef.Devices/Device/Constructor.cs
@@ -125,7 +125,7 @@ namespace DiscImageChef.Devices
Type = DeviceType.Unknown;
ScsiType = PeripheralDeviceTypes.UnknownDevice;
- AtaErrorRegistersCHS errorRegisters;
+ AtaErrorRegistersChs errorRegisters;
byte[] ataBuf;
byte[] senseBuf;
diff --git a/DiscImageChef.Devices/FreeBSD/Command.cs b/DiscImageChef.Devices/FreeBSD/Command.cs
index bf25a69e8..36d291808 100644
--- a/DiscImageChef.Devices/FreeBSD/Command.cs
+++ b/DiscImageChef.Devices/FreeBSD/Command.cs
@@ -271,13 +271,13 @@ namespace DiscImageChef.Devices.FreeBSD
}
}
- internal static int SendAtaCommand(IntPtr dev, AtaRegistersCHS registers,
- out AtaErrorRegistersCHS errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(IntPtr dev, AtaRegistersChs registers,
+ out AtaErrorRegistersChs errorRegisters, AtaProtocol protocol,
ref byte[] buffer, uint timeout, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersCHS();
+ errorRegisters = new AtaErrorRegistersChs();
if(buffer == null) return -1;
@@ -307,13 +307,13 @@ namespace DiscImageChef.Devices.FreeBSD
break;
}
- ataio.cmd.command = registers.command;
- ataio.cmd.lba_high = registers.cylinderHigh;
- ataio.cmd.lba_mid = registers.cylinderLow;
- ataio.cmd.device = (byte)(0x40 | registers.deviceHead);
- ataio.cmd.features = registers.feature;
- ataio.cmd.sector_count = registers.sectorCount;
- ataio.cmd.lba_low = registers.sector;
+ ataio.cmd.command = registers.Command;
+ ataio.cmd.lba_high = registers.CylinderHigh;
+ ataio.cmd.lba_mid = registers.CylinderLow;
+ ataio.cmd.device = (byte)(0x40 | registers.DeviceHead);
+ ataio.cmd.features = registers.Feature;
+ ataio.cmd.sector_count = registers.SectorCount;
+ ataio.cmd.lba_low = registers.Sector;
Marshal.Copy(buffer, 0, ataio.data_ptr, buffer.Length);
Marshal.StructureToPtr(ataio, ccbPtr, false);
@@ -336,13 +336,13 @@ namespace DiscImageChef.Devices.FreeBSD
if((ataio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamAtaStatusError) sense = true;
- errorRegisters.cylinderHigh = ataio.res.lba_high;
- errorRegisters.cylinderLow = ataio.res.lba_mid;
- errorRegisters.deviceHead = ataio.res.device;
- errorRegisters.error = ataio.res.error;
- errorRegisters.sector = ataio.res.lba_low;
- errorRegisters.sectorCount = ataio.res.sector_count;
- errorRegisters.status = ataio.res.status;
+ errorRegisters.CylinderHigh = ataio.res.lba_high;
+ errorRegisters.CylinderLow = ataio.res.lba_mid;
+ errorRegisters.DeviceHead = ataio.res.device;
+ errorRegisters.Error = ataio.res.error;
+ errorRegisters.Sector = ataio.res.lba_low;
+ errorRegisters.SectorCount = ataio.res.sector_count;
+ errorRegisters.Status = ataio.res.status;
buffer = new byte[ataio.dxfer_len];
@@ -352,18 +352,18 @@ namespace DiscImageChef.Devices.FreeBSD
Marshal.FreeHGlobal(ataio.data_ptr);
cam_freeccb(ccbPtr);
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0 || error != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0 || error != 0;
return error;
}
- internal static int SendAtaCommand(IntPtr dev, AtaRegistersLBA28 registers,
- out AtaErrorRegistersLBA28 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(IntPtr dev, AtaRegistersLba28 registers,
+ out AtaErrorRegistersLba28 errorRegisters, AtaProtocol protocol,
ref byte[] buffer, uint timeout, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersLBA28();
+ errorRegisters = new AtaErrorRegistersLba28();
if(buffer == null) return -1;
@@ -393,13 +393,13 @@ namespace DiscImageChef.Devices.FreeBSD
break;
}
- ataio.cmd.command = registers.command;
- ataio.cmd.lba_high = registers.lbaHigh;
- ataio.cmd.lba_mid = registers.lbaMid;
- ataio.cmd.device = (byte)(0x40 | registers.deviceHead);
- ataio.cmd.features = registers.feature;
- ataio.cmd.sector_count = registers.sectorCount;
- ataio.cmd.lba_low = registers.lbaLow;
+ ataio.cmd.command = registers.Command;
+ ataio.cmd.lba_high = registers.LbaHigh;
+ ataio.cmd.lba_mid = registers.LbaMid;
+ ataio.cmd.device = (byte)(0x40 | registers.DeviceHead);
+ ataio.cmd.features = registers.Feature;
+ ataio.cmd.sector_count = registers.SectorCount;
+ ataio.cmd.lba_low = registers.LbaLow;
Marshal.Copy(buffer, 0, ataio.data_ptr, buffer.Length);
Marshal.StructureToPtr(ataio, ccbPtr, false);
@@ -422,13 +422,13 @@ namespace DiscImageChef.Devices.FreeBSD
if((ataio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamAtaStatusError) sense = true;
- errorRegisters.lbaHigh = ataio.res.lba_high;
- errorRegisters.lbaMid = ataio.res.lba_mid;
- errorRegisters.deviceHead = ataio.res.device;
- errorRegisters.error = ataio.res.error;
- errorRegisters.lbaLow = ataio.res.lba_low;
- errorRegisters.sectorCount = ataio.res.sector_count;
- errorRegisters.status = ataio.res.status;
+ errorRegisters.LbaHigh = ataio.res.lba_high;
+ errorRegisters.LbaMid = ataio.res.lba_mid;
+ errorRegisters.DeviceHead = ataio.res.device;
+ errorRegisters.Error = ataio.res.error;
+ errorRegisters.LbaLow = ataio.res.lba_low;
+ errorRegisters.SectorCount = ataio.res.sector_count;
+ errorRegisters.Status = ataio.res.status;
buffer = new byte[ataio.dxfer_len];
@@ -438,18 +438,18 @@ namespace DiscImageChef.Devices.FreeBSD
Marshal.FreeHGlobal(ataio.data_ptr);
cam_freeccb(ccbPtr);
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0 || error != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0 || error != 0;
return error;
}
- internal static int SendAtaCommand(IntPtr dev, AtaRegistersLBA48 registers,
- out AtaErrorRegistersLBA48 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(IntPtr dev, AtaRegistersLba48 registers,
+ out AtaErrorRegistersLba48 errorRegisters, AtaProtocol protocol,
ref byte[] buffer, uint timeout, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersLBA48();
+ errorRegisters = new AtaErrorRegistersLba48();
// 48-bit ATA CAM commands can crash FreeBSD < 9.2-RELEASE
if(Environment.Version.Major == 9 && Environment.Version.Minor < 2 ||
@@ -483,18 +483,18 @@ namespace DiscImageChef.Devices.FreeBSD
break;
}
- ataio.cmd.lba_high_exp = (byte)((registers.lbaHigh & 0xFF00) >> 8);
- ataio.cmd.lba_mid_exp = (byte)((registers.lbaMid & 0xFF00) >> 8);
- ataio.cmd.features_exp = (byte)((registers.feature & 0xFF00) >> 8);
- ataio.cmd.sector_count_exp = (byte)((registers.sectorCount & 0xFF00) >> 8);
- ataio.cmd.lba_low_exp = (byte)((registers.lbaLow & 0xFF00) >> 8);
- ataio.cmd.lba_high = (byte)(registers.lbaHigh & 0xFF);
- ataio.cmd.lba_mid = (byte)(registers.lbaMid & 0xFF);
- ataio.cmd.features = (byte)(registers.feature & 0xFF);
- ataio.cmd.sector_count = (byte)(registers.sectorCount & 0xFF);
- ataio.cmd.lba_low = (byte)(registers.lbaLow & 0xFF);
- ataio.cmd.command = registers.command;
- ataio.cmd.device = (byte)(0x40 | registers.deviceHead);
+ ataio.cmd.lba_high_exp = (byte)((registers.LbaHigh & 0xFF00) >> 8);
+ ataio.cmd.lba_mid_exp = (byte)((registers.LbaMid & 0xFF00) >> 8);
+ ataio.cmd.features_exp = (byte)((registers.Feature & 0xFF00) >> 8);
+ ataio.cmd.sector_count_exp = (byte)((registers.SectorCount & 0xFF00) >> 8);
+ ataio.cmd.lba_low_exp = (byte)((registers.LbaLow & 0xFF00) >> 8);
+ ataio.cmd.lba_high = (byte)(registers.LbaHigh & 0xFF);
+ ataio.cmd.lba_mid = (byte)(registers.LbaMid & 0xFF);
+ ataio.cmd.features = (byte)(registers.Feature & 0xFF);
+ ataio.cmd.sector_count = (byte)(registers.SectorCount & 0xFF);
+ ataio.cmd.lba_low = (byte)(registers.LbaLow & 0xFF);
+ ataio.cmd.command = registers.Command;
+ ataio.cmd.device = (byte)(0x40 | registers.DeviceHead);
Marshal.Copy(buffer, 0, ataio.data_ptr, buffer.Length);
Marshal.StructureToPtr(ataio, ccbPtr, false);
@@ -517,13 +517,13 @@ namespace DiscImageChef.Devices.FreeBSD
if((ataio.ccb_h.status & CamStatus.CamStatusMask) == CamStatus.CamAtaStatusError) sense = true;
- errorRegisters.sectorCount = (ushort)((ataio.res.sector_count_exp << 8) + ataio.res.sector_count);
- errorRegisters.lbaLow = (ushort)((ataio.res.lba_low_exp << 8) + ataio.res.lba_low);
- errorRegisters.lbaMid = (ushort)((ataio.res.lba_mid_exp << 8) + ataio.res.lba_mid);
- errorRegisters.lbaHigh = (ushort)((ataio.res.lba_high_exp << 8) + ataio.res.lba_high);
- errorRegisters.deviceHead = ataio.res.device;
- errorRegisters.error = ataio.res.error;
- errorRegisters.status = ataio.res.status;
+ errorRegisters.SectorCount = (ushort)((ataio.res.sector_count_exp << 8) + ataio.res.sector_count);
+ errorRegisters.LbaLow = (ushort)((ataio.res.lba_low_exp << 8) + ataio.res.lba_low);
+ errorRegisters.LbaMid = (ushort)((ataio.res.lba_mid_exp << 8) + ataio.res.lba_mid);
+ errorRegisters.LbaHigh = (ushort)((ataio.res.lba_high_exp << 8) + ataio.res.lba_high);
+ errorRegisters.DeviceHead = ataio.res.device;
+ errorRegisters.Error = ataio.res.error;
+ errorRegisters.Status = ataio.res.status;
buffer = new byte[ataio.dxfer_len];
@@ -533,7 +533,7 @@ namespace DiscImageChef.Devices.FreeBSD
Marshal.FreeHGlobal(ataio.data_ptr);
cam_freeccb(ccbPtr);
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0 || error != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0 || error != 0;
return error;
}
diff --git a/DiscImageChef.Devices/Linux/Command.cs b/DiscImageChef.Devices/Linux/Command.cs
index 95b8020bc..a0f249f01 100644
--- a/DiscImageChef.Devices/Linux/Command.cs
+++ b/DiscImageChef.Devices/Linux/Command.cs
@@ -120,14 +120,14 @@ namespace DiscImageChef.Devices.Linux
}
}
- internal static int SendAtaCommand(int fd, AtaRegistersCHS registers, out AtaErrorRegistersCHS errorRegisters,
+ internal static int SendAtaCommand(int fd, AtaRegistersChs registers, out AtaErrorRegistersChs errorRegisters,
AtaProtocol protocol, AtaTransferRegister transferRegister,
ref byte[] buffer, uint timeout, bool transferBlocks, out double duration,
out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersCHS();
+ errorRegisters = new AtaErrorRegistersChs();
if(buffer == null) return -1;
@@ -154,13 +154,13 @@ namespace DiscImageChef.Devices.Linux
//cdb[2] |= 0x20;
- cdb[4] = registers.feature;
- cdb[6] = registers.sectorCount;
- cdb[8] = registers.sector;
- cdb[10] = registers.cylinderLow;
- cdb[12] = registers.cylinderHigh;
- cdb[13] = registers.deviceHead;
- cdb[14] = registers.command;
+ cdb[4] = registers.Feature;
+ cdb[6] = registers.SectorCount;
+ cdb[8] = registers.Sector;
+ cdb[10] = registers.CylinderLow;
+ cdb[12] = registers.CylinderHigh;
+ cdb[13] = registers.DeviceHead;
+ cdb[14] = registers.Command;
byte[] senseBuffer;
int error = SendScsiCommand(fd, cdb, ref buffer, out senseBuffer, timeout,
@@ -168,28 +168,28 @@ namespace DiscImageChef.Devices.Linux
if(senseBuffer.Length < 22 || senseBuffer[8] != 0x09 && senseBuffer[9] != 0x0C) return error;
- errorRegisters.error = senseBuffer[11];
+ errorRegisters.Error = senseBuffer[11];
- errorRegisters.sectorCount = senseBuffer[13];
- errorRegisters.sector = senseBuffer[15];
- errorRegisters.cylinderLow = senseBuffer[17];
- errorRegisters.cylinderHigh = senseBuffer[19];
- errorRegisters.deviceHead = senseBuffer[20];
- errorRegisters.status = senseBuffer[21];
+ errorRegisters.SectorCount = senseBuffer[13];
+ errorRegisters.Sector = senseBuffer[15];
+ errorRegisters.CylinderLow = senseBuffer[17];
+ errorRegisters.CylinderHigh = senseBuffer[19];
+ errorRegisters.DeviceHead = senseBuffer[20];
+ errorRegisters.Status = senseBuffer[21];
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0;
return error;
}
- internal static int SendAtaCommand(int fd, AtaRegistersLBA28 registers,
- out AtaErrorRegistersLBA28 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(int fd, AtaRegistersLba28 registers,
+ out AtaErrorRegistersLba28 errorRegisters, AtaProtocol protocol,
AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout,
bool transferBlocks, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersLBA28();
+ errorRegisters = new AtaErrorRegistersLba28();
if(buffer == null) return -1;
@@ -216,13 +216,13 @@ namespace DiscImageChef.Devices.Linux
cdb[2] |= 0x20;
- cdb[4] = registers.feature;
- cdb[6] = registers.sectorCount;
- cdb[8] = registers.lbaLow;
- cdb[10] = registers.lbaMid;
- cdb[12] = registers.lbaHigh;
- cdb[13] = registers.deviceHead;
- cdb[14] = registers.command;
+ cdb[4] = registers.Feature;
+ cdb[6] = registers.SectorCount;
+ cdb[8] = registers.LbaLow;
+ cdb[10] = registers.LbaMid;
+ cdb[12] = registers.LbaHigh;
+ cdb[13] = registers.DeviceHead;
+ cdb[14] = registers.Command;
byte[] senseBuffer;
int error = SendScsiCommand(fd, cdb, ref buffer, out senseBuffer, timeout,
@@ -230,28 +230,28 @@ namespace DiscImageChef.Devices.Linux
if(senseBuffer.Length < 22 || senseBuffer[8] != 0x09 && senseBuffer[9] != 0x0C) return error;
- errorRegisters.error = senseBuffer[11];
+ errorRegisters.Error = senseBuffer[11];
- errorRegisters.sectorCount = senseBuffer[13];
- errorRegisters.lbaLow = senseBuffer[15];
- errorRegisters.lbaMid = senseBuffer[17];
- errorRegisters.lbaHigh = senseBuffer[19];
- errorRegisters.deviceHead = senseBuffer[20];
- errorRegisters.status = senseBuffer[21];
+ errorRegisters.SectorCount = senseBuffer[13];
+ errorRegisters.LbaLow = senseBuffer[15];
+ errorRegisters.LbaMid = senseBuffer[17];
+ errorRegisters.LbaHigh = senseBuffer[19];
+ errorRegisters.DeviceHead = senseBuffer[20];
+ errorRegisters.Status = senseBuffer[21];
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0;
return error;
}
- internal static int SendAtaCommand(int fd, AtaRegistersLBA48 registers,
- out AtaErrorRegistersLBA48 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(int fd, AtaRegistersLba48 registers,
+ out AtaErrorRegistersLba48 errorRegisters, AtaProtocol protocol,
AtaTransferRegister transferRegister, ref byte[] buffer, uint timeout,
bool transferBlocks, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersLBA48();
+ errorRegisters = new AtaErrorRegistersLba48();
if(buffer == null) return -1;
@@ -279,18 +279,18 @@ namespace DiscImageChef.Devices.Linux
cdb[2] |= 0x20;
- cdb[3] = (byte)((registers.feature & 0xFF00) >> 8);
- cdb[4] = (byte)(registers.feature & 0xFF);
- cdb[5] = (byte)((registers.sectorCount & 0xFF00) >> 8);
- cdb[6] = (byte)(registers.sectorCount & 0xFF);
- cdb[7] = (byte)((registers.lbaLow & 0xFF00) >> 8);
- cdb[8] = (byte)(registers.lbaLow & 0xFF);
- cdb[9] = (byte)((registers.lbaMid & 0xFF00) >> 8);
- cdb[10] = (byte)(registers.lbaMid & 0xFF);
- cdb[11] = (byte)((registers.lbaHigh & 0xFF00) >> 8);
- cdb[12] = (byte)(registers.lbaHigh & 0xFF);
- cdb[13] = registers.deviceHead;
- cdb[14] = registers.command;
+ cdb[3] = (byte)((registers.Feature & 0xFF00) >> 8);
+ cdb[4] = (byte)(registers.Feature & 0xFF);
+ cdb[5] = (byte)((registers.SectorCount & 0xFF00) >> 8);
+ cdb[6] = (byte)(registers.SectorCount & 0xFF);
+ cdb[7] = (byte)((registers.LbaLow & 0xFF00) >> 8);
+ cdb[8] = (byte)(registers.LbaLow & 0xFF);
+ cdb[9] = (byte)((registers.LbaMid & 0xFF00) >> 8);
+ cdb[10] = (byte)(registers.LbaMid & 0xFF);
+ cdb[11] = (byte)((registers.LbaHigh & 0xFF00) >> 8);
+ cdb[12] = (byte)(registers.LbaHigh & 0xFF);
+ cdb[13] = registers.DeviceHead;
+ cdb[14] = registers.Command;
byte[] senseBuffer;
int error = SendScsiCommand(fd, cdb, ref buffer, out senseBuffer, timeout,
@@ -298,16 +298,16 @@ namespace DiscImageChef.Devices.Linux
if(senseBuffer.Length < 22 || senseBuffer[8] != 0x09 && senseBuffer[9] != 0x0C) return error;
- errorRegisters.error = senseBuffer[11];
+ errorRegisters.Error = senseBuffer[11];
- errorRegisters.sectorCount = (ushort)((senseBuffer[12] << 8) + senseBuffer[13]);
- errorRegisters.lbaLow = (ushort)((senseBuffer[14] << 8) + senseBuffer[15]);
- errorRegisters.lbaMid = (ushort)((senseBuffer[16] << 8) + senseBuffer[17]);
- errorRegisters.lbaHigh = (ushort)((senseBuffer[18] << 8) + senseBuffer[19]);
- errorRegisters.deviceHead = senseBuffer[20];
- errorRegisters.status = senseBuffer[21];
+ errorRegisters.SectorCount = (ushort)((senseBuffer[12] << 8) + senseBuffer[13]);
+ errorRegisters.LbaLow = (ushort)((senseBuffer[14] << 8) + senseBuffer[15]);
+ errorRegisters.LbaMid = (ushort)((senseBuffer[16] << 8) + senseBuffer[17]);
+ errorRegisters.LbaHigh = (ushort)((senseBuffer[18] << 8) + senseBuffer[19]);
+ errorRegisters.DeviceHead = senseBuffer[20];
+ errorRegisters.Status = senseBuffer[21];
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0;
sense |= error != 0;
diff --git a/DiscImageChef.Devices/Windows/Command.cs b/DiscImageChef.Devices/Windows/Command.cs
index 59e96541d..8cf064c6a 100644
--- a/DiscImageChef.Devices/Windows/Command.cs
+++ b/DiscImageChef.Devices/Windows/Command.cs
@@ -104,13 +104,13 @@ namespace DiscImageChef.Devices.Windows
return error;
}
- internal static int SendAtaCommand(SafeFileHandle fd, AtaRegistersCHS registers,
- out AtaErrorRegistersCHS errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(SafeFileHandle fd, AtaRegistersChs registers,
+ out AtaErrorRegistersChs errorRegisters, AtaProtocol protocol,
ref byte[] buffer, uint timeout, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersCHS();
+ errorRegisters = new AtaErrorRegistersChs();
if(buffer == null) return -1;
@@ -127,13 +127,13 @@ namespace DiscImageChef.Devices.Windows
PreviousTaskFile = new AtaTaskFile(),
CurrentTaskFile = new AtaTaskFile
{
- Command = registers.command,
- CylinderHigh = registers.cylinderHigh,
- CylinderLow = registers.cylinderLow,
- DeviceHead = registers.deviceHead,
- Features = registers.feature,
- SectorCount = registers.sectorCount,
- SectorNumber = registers.sector
+ Command = registers.Command,
+ CylinderHigh = registers.CylinderHigh,
+ CylinderLow = registers.CylinderLow,
+ DeviceHead = registers.DeviceHead,
+ Features = registers.Feature,
+ SectorCount = registers.SectorCount,
+ SectorNumber = registers.Sector
}
},
dataBuffer = new byte[64 * 512]
@@ -180,27 +180,27 @@ namespace DiscImageChef.Devices.Windows
duration = (end - start).TotalMilliseconds;
- errorRegisters.command = aptdBuf.aptd.CurrentTaskFile.Command;
- errorRegisters.cylinderHigh = aptdBuf.aptd.CurrentTaskFile.CylinderHigh;
- errorRegisters.cylinderLow = aptdBuf.aptd.CurrentTaskFile.CylinderLow;
- errorRegisters.deviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead;
- errorRegisters.error = aptdBuf.aptd.CurrentTaskFile.Error;
- errorRegisters.sector = aptdBuf.aptd.CurrentTaskFile.SectorNumber;
- errorRegisters.sectorCount = aptdBuf.aptd.CurrentTaskFile.SectorCount;
- errorRegisters.status = aptdBuf.aptd.CurrentTaskFile.Status;
+ errorRegisters.Command = aptdBuf.aptd.CurrentTaskFile.Command;
+ errorRegisters.CylinderHigh = aptdBuf.aptd.CurrentTaskFile.CylinderHigh;
+ errorRegisters.CylinderLow = aptdBuf.aptd.CurrentTaskFile.CylinderLow;
+ errorRegisters.DeviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead;
+ errorRegisters.Error = aptdBuf.aptd.CurrentTaskFile.Error;
+ errorRegisters.Sector = aptdBuf.aptd.CurrentTaskFile.SectorNumber;
+ errorRegisters.SectorCount = aptdBuf.aptd.CurrentTaskFile.SectorCount;
+ errorRegisters.Status = aptdBuf.aptd.CurrentTaskFile.Status;
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0;
return error;
}
- internal static int SendAtaCommand(SafeFileHandle fd, AtaRegistersLBA28 registers,
- out AtaErrorRegistersLBA28 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(SafeFileHandle fd, AtaRegistersLba28 registers,
+ out AtaErrorRegistersLba28 errorRegisters, AtaProtocol protocol,
ref byte[] buffer, uint timeout, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersLBA28();
+ errorRegisters = new AtaErrorRegistersLba28();
if(buffer == null) return -1;
@@ -217,13 +217,13 @@ namespace DiscImageChef.Devices.Windows
PreviousTaskFile = new AtaTaskFile(),
CurrentTaskFile = new AtaTaskFile
{
- Command = registers.command,
- CylinderHigh = registers.lbaHigh,
- CylinderLow = registers.lbaMid,
- DeviceHead = registers.deviceHead,
- Features = registers.feature,
- SectorCount = registers.sectorCount,
- SectorNumber = registers.lbaLow
+ Command = registers.Command,
+ CylinderHigh = registers.LbaHigh,
+ CylinderLow = registers.LbaMid,
+ DeviceHead = registers.DeviceHead,
+ Features = registers.Feature,
+ SectorCount = registers.SectorCount,
+ SectorNumber = registers.LbaLow
}
},
dataBuffer = new byte[64 * 512]
@@ -270,27 +270,27 @@ namespace DiscImageChef.Devices.Windows
duration = (end - start).TotalMilliseconds;
- errorRegisters.command = aptdBuf.aptd.CurrentTaskFile.Command;
- errorRegisters.lbaHigh = aptdBuf.aptd.CurrentTaskFile.CylinderHigh;
- errorRegisters.lbaMid = aptdBuf.aptd.CurrentTaskFile.CylinderLow;
- errorRegisters.deviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead;
- errorRegisters.error = aptdBuf.aptd.CurrentTaskFile.Error;
- errorRegisters.lbaLow = aptdBuf.aptd.CurrentTaskFile.SectorNumber;
- errorRegisters.sectorCount = aptdBuf.aptd.CurrentTaskFile.SectorCount;
- errorRegisters.status = aptdBuf.aptd.CurrentTaskFile.Status;
+ errorRegisters.Command = aptdBuf.aptd.CurrentTaskFile.Command;
+ errorRegisters.LbaHigh = aptdBuf.aptd.CurrentTaskFile.CylinderHigh;
+ errorRegisters.LbaMid = aptdBuf.aptd.CurrentTaskFile.CylinderLow;
+ errorRegisters.DeviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead;
+ errorRegisters.Error = aptdBuf.aptd.CurrentTaskFile.Error;
+ errorRegisters.LbaLow = aptdBuf.aptd.CurrentTaskFile.SectorNumber;
+ errorRegisters.SectorCount = aptdBuf.aptd.CurrentTaskFile.SectorCount;
+ errorRegisters.Status = aptdBuf.aptd.CurrentTaskFile.Status;
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0;
return error;
}
- internal static int SendAtaCommand(SafeFileHandle fd, AtaRegistersLBA48 registers,
- out AtaErrorRegistersLBA48 errorRegisters, AtaProtocol protocol,
+ internal static int SendAtaCommand(SafeFileHandle fd, AtaRegistersLba48 registers,
+ out AtaErrorRegistersLba48 errorRegisters, AtaProtocol protocol,
ref byte[] buffer, uint timeout, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersLBA48();
+ errorRegisters = new AtaErrorRegistersLba48();
if(buffer == null) return -1;
@@ -307,21 +307,21 @@ namespace DiscImageChef.Devices.Windows
PreviousTaskFile =
new AtaTaskFile
{
- CylinderHigh = (byte)((registers.lbaHigh & 0xFF00) >> 8),
- CylinderLow = (byte)((registers.lbaMid & 0xFF00) >> 8),
- Features = (byte)((registers.feature & 0xFF00) >> 8),
- SectorCount = (byte)((registers.sectorCount & 0xFF00) >> 8),
- SectorNumber = (byte)((registers.lbaLow & 0xFF00) >> 8)
+ CylinderHigh = (byte)((registers.LbaHigh & 0xFF00) >> 8),
+ CylinderLow = (byte)((registers.LbaMid & 0xFF00) >> 8),
+ Features = (byte)((registers.Feature & 0xFF00) >> 8),
+ SectorCount = (byte)((registers.SectorCount & 0xFF00) >> 8),
+ SectorNumber = (byte)((registers.LbaLow & 0xFF00) >> 8)
},
CurrentTaskFile = new AtaTaskFile
{
- Command = registers.command,
- CylinderHigh = (byte)(registers.lbaHigh & 0xFF),
- CylinderLow = (byte)(registers.lbaMid & 0xFF),
- DeviceHead = registers.deviceHead,
- Features = (byte)(registers.feature & 0xFF),
- SectorCount = (byte)(registers.sectorCount & 0xFF),
- SectorNumber = (byte)(registers.lbaLow & 0xFF)
+ Command = registers.Command,
+ CylinderHigh = (byte)(registers.LbaHigh & 0xFF),
+ CylinderLow = (byte)(registers.LbaMid & 0xFF),
+ DeviceHead = registers.DeviceHead,
+ Features = (byte)(registers.Feature & 0xFF),
+ SectorCount = (byte)(registers.SectorCount & 0xFF),
+ SectorNumber = (byte)(registers.LbaLow & 0xFF)
}
},
dataBuffer = new byte[64 * 512]
@@ -368,31 +368,31 @@ namespace DiscImageChef.Devices.Windows
duration = (end - start).TotalMilliseconds;
- errorRegisters.sectorCount = (ushort)((aptdBuf.aptd.PreviousTaskFile.SectorCount << 8) +
+ errorRegisters.SectorCount = (ushort)((aptdBuf.aptd.PreviousTaskFile.SectorCount << 8) +
aptdBuf.aptd.CurrentTaskFile.SectorCount);
- errorRegisters.lbaLow = (ushort)((aptdBuf.aptd.PreviousTaskFile.SectorNumber << 8) +
+ errorRegisters.LbaLow = (ushort)((aptdBuf.aptd.PreviousTaskFile.SectorNumber << 8) +
aptdBuf.aptd.CurrentTaskFile.SectorNumber);
- errorRegisters.lbaMid = (ushort)((aptdBuf.aptd.PreviousTaskFile.CylinderLow << 8) +
+ errorRegisters.LbaMid = (ushort)((aptdBuf.aptd.PreviousTaskFile.CylinderLow << 8) +
aptdBuf.aptd.CurrentTaskFile.CylinderLow);
- errorRegisters.lbaHigh = (ushort)((aptdBuf.aptd.PreviousTaskFile.CylinderHigh << 8) +
+ errorRegisters.LbaHigh = (ushort)((aptdBuf.aptd.PreviousTaskFile.CylinderHigh << 8) +
aptdBuf.aptd.CurrentTaskFile.CylinderHigh);
- errorRegisters.command = aptdBuf.aptd.CurrentTaskFile.Command;
- errorRegisters.deviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead;
- errorRegisters.error = aptdBuf.aptd.CurrentTaskFile.Error;
- errorRegisters.status = aptdBuf.aptd.CurrentTaskFile.Status;
+ errorRegisters.Command = aptdBuf.aptd.CurrentTaskFile.Command;
+ errorRegisters.DeviceHead = aptdBuf.aptd.CurrentTaskFile.DeviceHead;
+ errorRegisters.Error = aptdBuf.aptd.CurrentTaskFile.Error;
+ errorRegisters.Status = aptdBuf.aptd.CurrentTaskFile.Status;
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0;
return error;
}
- internal static int SendIdeCommand(SafeFileHandle fd, AtaRegistersCHS registers,
- out AtaErrorRegistersCHS errorRegisters, AtaProtocol protocol,
+ internal static int SendIdeCommand(SafeFileHandle fd, AtaRegistersChs registers,
+ out AtaErrorRegistersChs errorRegisters, AtaProtocol protocol,
ref byte[] buffer, uint timeout, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersCHS();
+ errorRegisters = new AtaErrorRegistersChs();
if(buffer == null || buffer.Length > 512) return -1;
@@ -400,13 +400,13 @@ namespace DiscImageChef.Devices.Windows
{
CurrentTaskFile = new AtaTaskFile
{
- Command = registers.command,
- CylinderHigh = registers.cylinderHigh,
- CylinderLow = registers.cylinderLow,
- DeviceHead = registers.deviceHead,
- Features = registers.feature,
- SectorCount = registers.sectorCount,
- SectorNumber = registers.sector
+ Command = registers.Command,
+ CylinderHigh = registers.CylinderHigh,
+ CylinderLow = registers.CylinderLow,
+ DeviceHead = registers.DeviceHead,
+ Features = registers.Feature,
+ SectorCount = registers.SectorCount,
+ SectorNumber = registers.Sector
},
DataBufferSize = 512,
DataBuffer = new byte[512]
@@ -430,27 +430,27 @@ namespace DiscImageChef.Devices.Windows
duration = (end - start).TotalMilliseconds;
- errorRegisters.command = iptd.CurrentTaskFile.Command;
- errorRegisters.cylinderHigh = iptd.CurrentTaskFile.CylinderHigh;
- errorRegisters.cylinderLow = iptd.CurrentTaskFile.CylinderLow;
- errorRegisters.deviceHead = iptd.CurrentTaskFile.DeviceHead;
- errorRegisters.error = iptd.CurrentTaskFile.Error;
- errorRegisters.sector = iptd.CurrentTaskFile.SectorNumber;
- errorRegisters.sectorCount = iptd.CurrentTaskFile.SectorCount;
- errorRegisters.status = iptd.CurrentTaskFile.Status;
+ errorRegisters.Command = iptd.CurrentTaskFile.Command;
+ errorRegisters.CylinderHigh = iptd.CurrentTaskFile.CylinderHigh;
+ errorRegisters.CylinderLow = iptd.CurrentTaskFile.CylinderLow;
+ errorRegisters.DeviceHead = iptd.CurrentTaskFile.DeviceHead;
+ errorRegisters.Error = iptd.CurrentTaskFile.Error;
+ errorRegisters.Sector = iptd.CurrentTaskFile.SectorNumber;
+ errorRegisters.SectorCount = iptd.CurrentTaskFile.SectorCount;
+ errorRegisters.Status = iptd.CurrentTaskFile.Status;
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0;
return error;
}
- internal static int SendIdeCommand(SafeFileHandle fd, AtaRegistersLBA28 registers,
- out AtaErrorRegistersLBA28 errorRegisters, AtaProtocol protocol,
+ internal static int SendIdeCommand(SafeFileHandle fd, AtaRegistersLba28 registers,
+ out AtaErrorRegistersLba28 errorRegisters, AtaProtocol protocol,
ref byte[] buffer, uint timeout, out double duration, out bool sense)
{
duration = 0;
sense = false;
- errorRegisters = new AtaErrorRegistersLBA28();
+ errorRegisters = new AtaErrorRegistersLba28();
if(buffer == null) return -1;
@@ -460,13 +460,13 @@ namespace DiscImageChef.Devices.Windows
{
CurrentTaskFile = new AtaTaskFile
{
- Command = registers.command,
- CylinderHigh = registers.lbaHigh,
- CylinderLow = registers.lbaMid,
- DeviceHead = registers.deviceHead,
- Features = registers.feature,
- SectorCount = registers.sectorCount,
- SectorNumber = registers.lbaLow
+ Command = registers.Command,
+ CylinderHigh = registers.LbaHigh,
+ CylinderLow = registers.LbaMid,
+ DeviceHead = registers.DeviceHead,
+ Features = registers.Feature,
+ SectorCount = registers.SectorCount,
+ SectorNumber = registers.LbaLow
},
DataBufferSize = 512,
DataBuffer = new byte[512]
@@ -490,16 +490,16 @@ namespace DiscImageChef.Devices.Windows
duration = (end - start).TotalMilliseconds;
- errorRegisters.command = iptd.CurrentTaskFile.Command;
- errorRegisters.lbaHigh = iptd.CurrentTaskFile.CylinderHigh;
- errorRegisters.lbaMid = iptd.CurrentTaskFile.CylinderLow;
- errorRegisters.deviceHead = iptd.CurrentTaskFile.DeviceHead;
- errorRegisters.error = iptd.CurrentTaskFile.Error;
- errorRegisters.lbaLow = iptd.CurrentTaskFile.SectorNumber;
- errorRegisters.sectorCount = iptd.CurrentTaskFile.SectorCount;
- errorRegisters.status = iptd.CurrentTaskFile.Status;
+ errorRegisters.Command = iptd.CurrentTaskFile.Command;
+ errorRegisters.LbaHigh = iptd.CurrentTaskFile.CylinderHigh;
+ errorRegisters.LbaMid = iptd.CurrentTaskFile.CylinderLow;
+ errorRegisters.DeviceHead = iptd.CurrentTaskFile.DeviceHead;
+ errorRegisters.Error = iptd.CurrentTaskFile.Error;
+ errorRegisters.LbaLow = iptd.CurrentTaskFile.SectorNumber;
+ errorRegisters.SectorCount = iptd.CurrentTaskFile.SectorCount;
+ errorRegisters.Status = iptd.CurrentTaskFile.Status;
- sense = errorRegisters.error != 0 || (errorRegisters.status & 0xA5) != 0;
+ sense = errorRegisters.Error != 0 || (errorRegisters.Status & 0xA5) != 0;
return error;
}
diff --git a/DiscImageChef.DiscImages/CloneCD.cs b/DiscImageChef.DiscImages/CloneCD.cs
index 4844d20db..529967369 100644
--- a/DiscImageChef.DiscImages/CloneCD.cs
+++ b/DiscImageChef.DiscImages/CloneCD.cs
@@ -554,8 +554,8 @@ namespace DiscImageChef.DiscImages
currentTrack.TrackSession = descriptor.SessionNumber;
// Need to check exact data type later
- if((TOC_CONTROL)(descriptor.CONTROL & 0x0D) == TOC_CONTROL.DataTrack ||
- (TOC_CONTROL)(descriptor.CONTROL & 0x0D) == TOC_CONTROL.DataTrackIncremental)
+ if((TocControl)(descriptor.CONTROL & 0x0D) == TocControl.DataTrack ||
+ (TocControl)(descriptor.CONTROL & 0x0D) == TocControl.DataTrackIncremental)
currentTrack.TrackType = TrackType.Data;
else currentTrack.TrackType = TrackType.Audio;
diff --git a/DiscImageChef.Filesystems/LisaFS/Dir.cs b/DiscImageChef.Filesystems/LisaFS/Dir.cs
index c6ca08e06..33568a0ac 100644
--- a/DiscImageChef.Filesystems/LisaFS/Dir.cs
+++ b/DiscImageChef.Filesystems/LisaFS/Dir.cs
@@ -171,7 +171,7 @@ namespace DiscImageChef.Filesystems.LisaFS
LisaTag.PriamTag catTag;
DecodeTag(device.ReadSectorTag(i, SectorTagType.AppleSectorTag), out catTag);
- if(catTag.fileID != FILEID_CATALOG || catTag.relPage != 0) continue;
+ if(catTag.FileId != FILEID_CATALOG || catTag.RelPage != 0) continue;
firstCatalogBlock = device.ReadSectors(i, 4);
break;
@@ -190,7 +190,7 @@ namespace DiscImageChef.Filesystems.LisaFS
DecodeTag(device.ReadSectorTag(prevCatalogPointer + mddf.mddf_block + volumePrefix, SectorTagType.AppleSectorTag),
out prevTag);
- if(prevTag.fileID != FILEID_CATALOG) return Errno.InvalidArgument;
+ if(prevTag.FileId != FILEID_CATALOG) return Errno.InvalidArgument;
firstCatalogBlock = device.ReadSectors(prevCatalogPointer + mddf.mddf_block + volumePrefix, 4);
prevCatalogPointer = BigEndianBitConverter.ToUInt32(firstCatalogBlock, 0x7F6);
@@ -209,7 +209,7 @@ namespace DiscImageChef.Filesystems.LisaFS
DecodeTag(device.ReadSectorTag(nextCatalogPointer + mddf.mddf_block + volumePrefix, SectorTagType.AppleSectorTag),
out nextTag);
- if(nextTag.fileID != FILEID_CATALOG) return Errno.InvalidArgument;
+ if(nextTag.FileId != FILEID_CATALOG) return Errno.InvalidArgument;
byte[] nextCatalogBlock = device.ReadSectors(nextCatalogPointer + mddf.mddf_block + volumePrefix, 4);
nextCatalogPointer = BigEndianBitConverter.ToUInt32(nextCatalogBlock, 0x7FA);
diff --git a/DiscImageChef.Filesystems/LisaFS/Extent.cs b/DiscImageChef.Filesystems/LisaFS/Extent.cs
index db441acb6..2d41844fd 100644
--- a/DiscImageChef.Filesystems/LisaFS/Extent.cs
+++ b/DiscImageChef.Filesystems/LisaFS/Extent.cs
@@ -85,7 +85,7 @@ namespace DiscImageChef.Filesystems.LisaFS
for(ulong i = 0; i < device.ImageInfo.Sectors; i++)
{
DecodeTag(device.ReadSectorTag(i, SectorTagType.AppleSectorTag), out extTag);
- if(extTag.fileID != fileId * -1) continue;
+ if(extTag.FileId != fileId * -1) continue;
ptr = i;
found = true;
@@ -98,7 +98,7 @@ namespace DiscImageChef.Filesystems.LisaFS
// Checks that the sector tag indicates its the Extents File we are searching for
DecodeTag(device.ReadSectorTag(ptr, SectorTagType.AppleSectorTag), out extTag);
- if(extTag.fileID != (short)(-1 * fileId)) return Errno.NoSuchFile;
+ if(extTag.FileId != (short)(-1 * fileId)) return Errno.NoSuchFile;
byte[] sector;
diff --git a/DiscImageChef.Filesystems/LisaFS/File.cs b/DiscImageChef.Filesystems/LisaFS/File.cs
index 1cf787adb..d292b51d0 100644
--- a/DiscImageChef.Filesystems/LisaFS/File.cs
+++ b/DiscImageChef.Filesystems/LisaFS/File.cs
@@ -195,7 +195,7 @@ namespace DiscImageChef.Filesystems.LisaFS
{
DecodeTag(device.ReadSectorTag(i, SectorTagType.AppleSectorTag), out sysTag);
- if(sysTag.fileID == fileId) count++;
+ if(sysTag.FileId == fileId) count++;
}
if(count == 0) return Errno.NoSuchFile;
@@ -208,7 +208,7 @@ namespace DiscImageChef.Filesystems.LisaFS
{
DecodeTag(device.ReadSectorTag(i, SectorTagType.AppleSectorTag), out sysTag);
- if(sysTag.fileID != fileId) continue;
+ if(sysTag.FileId != fileId) continue;
byte[] sector;
@@ -216,9 +216,9 @@ namespace DiscImageChef.Filesystems.LisaFS
else sector = device.ReadSectorTag(i, SectorTagType.AppleSectorTag);
// Relative block for $Loader starts at $Boot block
- if(sysTag.fileID == FILEID_LOADER_SIGNED) sysTag.relPage--;
+ if(sysTag.FileId == FILEID_LOADER_SIGNED) sysTag.RelPage--;
- Array.Copy(sector, 0, buf, sector.Length * sysTag.relPage, sector.Length);
+ Array.Copy(sector, 0, buf, sector.Length * sysTag.RelPage, sector.Length);
}
if(!tags) systemFileCache.Add(fileId, buf);
diff --git a/DiscImageChef.Filesystems/LisaFS/Info.cs b/DiscImageChef.Filesystems/LisaFS/Info.cs
index 1172db66d..c4de61fc9 100644
--- a/DiscImageChef.Filesystems/LisaFS/Info.cs
+++ b/DiscImageChef.Filesystems/LisaFS/Info.cs
@@ -64,11 +64,11 @@ namespace DiscImageChef.Filesystems.LisaFS
LisaTag.PriamTag searchTag;
DecodeTag(imagePlugin.ReadSectorTag((ulong)i, SectorTagType.AppleSectorTag), out searchTag);
- DicConsole.DebugWriteLine("LisaFS plugin", "Sector {0}, file ID 0x{1:X4}", i, searchTag.fileID);
+ DicConsole.DebugWriteLine("LisaFS plugin", "Sector {0}, file ID 0x{1:X4}", i, searchTag.FileId);
- if(before_mddf == -1 && searchTag.fileID == FILEID_LOADER_SIGNED) before_mddf = i - 1;
+ if(before_mddf == -1 && searchTag.FileId == FILEID_LOADER_SIGNED) before_mddf = i - 1;
- if(searchTag.fileID != FILEID_MDDF) continue;
+ if(searchTag.FileId != FILEID_MDDF) continue;
byte[] sector = imagePlugin.ReadSector((ulong)i);
MDDF info_mddf = new MDDF();
@@ -142,11 +142,11 @@ namespace DiscImageChef.Filesystems.LisaFS
LisaTag.PriamTag searchTag;
DecodeTag(imagePlugin.ReadSectorTag((ulong)i, SectorTagType.AppleSectorTag), out searchTag);
- DicConsole.DebugWriteLine("LisaFS plugin", "Sector {0}, file ID 0x{1:X4}", i, searchTag.fileID);
+ DicConsole.DebugWriteLine("LisaFS plugin", "Sector {0}, file ID 0x{1:X4}", i, searchTag.FileId);
- if(before_mddf == -1 && searchTag.fileID == FILEID_LOADER_SIGNED) before_mddf = i - 1;
+ if(before_mddf == -1 && searchTag.FileId == FILEID_LOADER_SIGNED) before_mddf = i - 1;
- if(searchTag.fileID != FILEID_MDDF) continue;
+ if(searchTag.FileId != FILEID_MDDF) continue;
byte[] sector = imagePlugin.ReadSector((ulong)i);
MDDF info_mddf = new MDDF();
diff --git a/DiscImageChef.Filesystems/LisaFS/Super.cs b/DiscImageChef.Filesystems/LisaFS/Super.cs
index 9fe734dcb..b5608e281 100644
--- a/DiscImageChef.Filesystems/LisaFS/Super.cs
+++ b/DiscImageChef.Filesystems/LisaFS/Super.cs
@@ -85,12 +85,12 @@ namespace DiscImageChef.Filesystems.LisaFS
LisaTag.PriamTag searchTag;
DecodeTag(device.ReadSectorTag(i, SectorTagType.AppleSectorTag), out searchTag);
- DicConsole.DebugWriteLine("LisaFS plugin", "Sector {0}, file ID 0x{1:X4}", i, searchTag.fileID);
+ DicConsole.DebugWriteLine("LisaFS plugin", "Sector {0}, file ID 0x{1:X4}", i, searchTag.FileId);
- if(volumePrefix == device.ImageInfo.Sectors && searchTag.fileID == FILEID_LOADER_SIGNED)
+ if(volumePrefix == device.ImageInfo.Sectors && searchTag.FileId == FILEID_LOADER_SIGNED)
volumePrefix = i - 1;
- if(searchTag.fileID != FILEID_MDDF) continue;
+ if(searchTag.FileId != FILEID_MDDF) continue;
devTagSize = device.ReadSectorTag(i, SectorTagType.AppleSectorTag).Length;
diff --git a/DiscImageChef.Tests.Devices/ATA/Ata28.cs b/DiscImageChef.Tests.Devices/ATA/Ata28.cs
index e756e57fb..5840e5588 100644
--- a/DiscImageChef.Tests.Devices/ATA/Ata28.cs
+++ b/DiscImageChef.Tests.Devices/ATA/Ata28.cs
@@ -113,7 +113,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.ReadBuffer(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout,
+ bool sense = dev.ReadBuffer(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, dev.Timeout,
out double duration);
menu:
@@ -178,7 +178,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.ReadBufferDma(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout,
+ bool sense = dev.ReadBufferDma(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, dev.Timeout,
out double duration);
menu:
@@ -307,7 +307,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadDma(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, retries, lba, count,
+ bool sense = dev.ReadDma(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, retries, lba, count,
dev.Timeout, out double duration);
menu:
@@ -429,7 +429,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadLong(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, retries, lba,
+ bool sense = dev.ReadLong(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, retries, lba,
blockSize, dev.Timeout, out double duration);
menu:
@@ -560,7 +560,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadMultiple(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, lba, count,
+ bool sense = dev.ReadMultiple(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, lba, count,
dev.Timeout, out double duration);
menu:
@@ -627,7 +627,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.ReadNativeMaxAddress(out uint lba, out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout,
+ bool sense = dev.ReadNativeMaxAddress(out uint lba, out AtaErrorRegistersLba28 errorRegisters, dev.Timeout,
out double duration);
menu:
@@ -744,7 +744,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.Read(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, retries, lba, count,
+ bool sense = dev.Read(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, retries, lba, count,
dev.Timeout, out double duration);
menu:
@@ -864,7 +864,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.Seek(out AtaErrorRegistersLBA28 errorRegisters, lba, dev.Timeout, out double duration);
+ bool sense = dev.Seek(out AtaErrorRegistersLba28 errorRegisters, lba, dev.Timeout, out double duration);
menu:
DicConsole.WriteLine("Device: {0}", devPath);
diff --git a/DiscImageChef.Tests.Devices/ATA/Ata48.cs b/DiscImageChef.Tests.Devices/ATA/Ata48.cs
index 218c1826d..c3467e515 100644
--- a/DiscImageChef.Tests.Devices/ATA/Ata48.cs
+++ b/DiscImageChef.Tests.Devices/ATA/Ata48.cs
@@ -97,7 +97,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.GetNativeMaxAddressExt(out ulong lba, out AtaErrorRegistersLBA48 errorRegisters,
+ bool sense = dev.GetNativeMaxAddressExt(out ulong lba, out AtaErrorRegistersLba48 errorRegisters,
dev.Timeout, out double duration);
menu:
@@ -214,7 +214,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadDma(out byte[] buffer, out AtaErrorRegistersLBA48 errorRegisters, lba, count,
+ bool sense = dev.ReadDma(out byte[] buffer, out AtaErrorRegistersLba48 errorRegisters, lba, count,
dev.Timeout, out double duration);
menu:
@@ -350,7 +350,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadLog(out byte[] buffer, out AtaErrorRegistersLBA48 errorRegisters, address, page, count,
+ bool sense = dev.ReadLog(out byte[] buffer, out AtaErrorRegistersLba48 errorRegisters, address, page, count,
dev.Timeout, out double duration);
menu:
@@ -486,7 +486,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadLogDma(out byte[] buffer, out AtaErrorRegistersLBA48 errorRegisters, address, page,
+ bool sense = dev.ReadLogDma(out byte[] buffer, out AtaErrorRegistersLba48 errorRegisters, address, page,
count, dev.Timeout, out double duration);
menu:
@@ -617,7 +617,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadMultiple(out byte[] buffer, out AtaErrorRegistersLBA48 errorRegisters, lba, count,
+ bool sense = dev.ReadMultiple(out byte[] buffer, out AtaErrorRegistersLba48 errorRegisters, lba, count,
dev.Timeout, out double duration);
menu:
@@ -684,7 +684,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.ReadNativeMaxAddress(out ulong lba, out AtaErrorRegistersLBA48 errorRegisters, dev.Timeout,
+ bool sense = dev.ReadNativeMaxAddress(out ulong lba, out AtaErrorRegistersLba48 errorRegisters, dev.Timeout,
out double duration);
menu:
@@ -801,7 +801,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.Read(out byte[] buffer, out AtaErrorRegistersLBA48 errorRegisters, lba, count, dev.Timeout,
+ bool sense = dev.Read(out byte[] buffer, out AtaErrorRegistersLba48 errorRegisters, lba, count, dev.Timeout,
out double duration);
menu:
diff --git a/DiscImageChef.Tests.Devices/ATA/AtaCHS.cs b/DiscImageChef.Tests.Devices/ATA/AtaCHS.cs
index 934dd803d..0ca84e7b9 100644
--- a/DiscImageChef.Tests.Devices/ATA/AtaCHS.cs
+++ b/DiscImageChef.Tests.Devices/ATA/AtaCHS.cs
@@ -105,7 +105,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.AtaIdentify(out byte[] buffer, out AtaErrorRegistersCHS errorRegisters,
+ bool sense = dev.AtaIdentify(out byte[] buffer, out AtaErrorRegistersChs errorRegisters,
out double duration);
menu:
@@ -267,7 +267,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadDma(out byte[] buffer, out AtaErrorRegistersCHS errorRegisters, retries, cylinder,
+ bool sense = dev.ReadDma(out byte[] buffer, out AtaErrorRegistersChs errorRegisters, retries, cylinder,
head, sector, count, dev.Timeout, out double duration);
menu:
@@ -420,7 +420,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadLong(out byte[] buffer, out AtaErrorRegistersCHS errorRegisters, retries, cylinder,
+ bool sense = dev.ReadLong(out byte[] buffer, out AtaErrorRegistersChs errorRegisters, retries, cylinder,
head, sector, blockSize, dev.Timeout, out double duration);
menu:
@@ -573,7 +573,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.ReadMultiple(out byte[] buffer, out AtaErrorRegistersCHS errorRegisters, cylinder, head,
+ bool sense = dev.ReadMultiple(out byte[] buffer, out AtaErrorRegistersChs errorRegisters, cylinder, head,
sector, count, dev.Timeout, out double duration);
menu:
@@ -726,7 +726,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.Read(out byte[] buffer, out AtaErrorRegistersCHS errorRegisters, retries, cylinder, head,
+ bool sense = dev.Read(out byte[] buffer, out AtaErrorRegistersChs errorRegisters, retries, cylinder, head,
sector, count, dev.Timeout, out double duration);
menu:
@@ -867,7 +867,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.Seek(out AtaErrorRegistersCHS errorRegisters, cylinder, head, sector, dev.Timeout,
+ bool sense = dev.Seek(out AtaErrorRegistersChs errorRegisters, cylinder, head, sector, dev.Timeout,
out double duration);
menu:
diff --git a/DiscImageChef.Tests.Devices/ATA/Atapi.cs b/DiscImageChef.Tests.Devices/ATA/Atapi.cs
index e6812fb40..74e67fda4 100644
--- a/DiscImageChef.Tests.Devices/ATA/Atapi.cs
+++ b/DiscImageChef.Tests.Devices/ATA/Atapi.cs
@@ -73,7 +73,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.AtapiIdentify(out byte[] buffer, out AtaErrorRegistersCHS errorRegisters,
+ bool sense = dev.AtapiIdentify(out byte[] buffer, out AtaErrorRegistersChs errorRegisters,
out double duration);
menu:
diff --git a/DiscImageChef.Tests.Devices/ATA/Cfa.cs b/DiscImageChef.Tests.Devices/ATA/Cfa.cs
index 62b530eea..e38b7ef0d 100644
--- a/DiscImageChef.Tests.Devices/ATA/Cfa.cs
+++ b/DiscImageChef.Tests.Devices/ATA/Cfa.cs
@@ -81,7 +81,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.RequestExtendedErrorCode(out byte errorCode, out AtaErrorRegistersLBA28 errorRegisters,
+ bool sense = dev.RequestExtendedErrorCode(out byte errorCode, out AtaErrorRegistersLba28 errorRegisters,
dev.Timeout, out double duration);
menu:
@@ -208,7 +208,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.TranslateSector(out byte[] buffer, out AtaErrorRegistersCHS errorRegisters, cylinder, head,
+ bool sense = dev.TranslateSector(out byte[] buffer, out AtaErrorRegistersChs errorRegisters, cylinder, head,
sector, dev.Timeout, out double duration);
menu:
@@ -328,7 +328,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.TranslateSector(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, lba,
+ bool sense = dev.TranslateSector(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, lba,
dev.Timeout, out double duration);
menu:
diff --git a/DiscImageChef.Tests.Devices/ATA/MCPT.cs b/DiscImageChef.Tests.Devices/ATA/MCPT.cs
index 80e8b3785..44cea8cc8 100644
--- a/DiscImageChef.Tests.Devices/ATA/MCPT.cs
+++ b/DiscImageChef.Tests.Devices/ATA/MCPT.cs
@@ -118,7 +118,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.CheckMediaCardType(feature, out AtaErrorRegistersCHS errorRegisters, dev.Timeout,
+ bool sense = dev.CheckMediaCardType(feature, out AtaErrorRegistersChs errorRegisters, dev.Timeout,
out double duration);
menu:
diff --git a/DiscImageChef.Tests.Devices/ATA/Smart.cs b/DiscImageChef.Tests.Devices/ATA/Smart.cs
index 198001f1a..b71793011 100644
--- a/DiscImageChef.Tests.Devices/ATA/Smart.cs
+++ b/DiscImageChef.Tests.Devices/ATA/Smart.cs
@@ -102,7 +102,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
bool sense =
- dev.SmartDisableAttributeAutosave(out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout,
+ dev.SmartDisableAttributeAutosave(out AtaErrorRegistersLba28 errorRegisters, dev.Timeout,
out double duration);
menu:
@@ -145,7 +145,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.SmartDisable(out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout, out double duration);
+ bool sense = dev.SmartDisable(out AtaErrorRegistersLba28 errorRegisters, dev.Timeout, out double duration);
menu:
DicConsole.WriteLine("Device: {0}", devPath);
@@ -188,7 +188,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
bool sense =
- dev.SmartEnableAttributeAutosave(out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout,
+ dev.SmartEnableAttributeAutosave(out AtaErrorRegistersLba28 errorRegisters, dev.Timeout,
out double duration);
menu:
@@ -231,7 +231,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.SmartEnable(out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout, out double duration);
+ bool sense = dev.SmartEnable(out AtaErrorRegistersLba28 errorRegisters, dev.Timeout, out double duration);
menu:
DicConsole.WriteLine("Device: {0}", devPath);
@@ -318,7 +318,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.SmartExecuteOffLineImmediate(out AtaErrorRegistersLBA28 errorRegisters, subcommand,
+ bool sense = dev.SmartExecuteOffLineImmediate(out AtaErrorRegistersLba28 errorRegisters, subcommand,
dev.Timeout, out double duration);
menu:
@@ -363,7 +363,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.SmartReadData(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout,
+ bool sense = dev.SmartReadData(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, dev.Timeout,
out double duration);
menu:
@@ -473,7 +473,7 @@ namespace DiscImageChef.Tests.Devices.ATA
start:
System.Console.Clear();
- bool sense = dev.SmartReadLog(out byte[] buffer, out AtaErrorRegistersLBA28 errorRegisters, address,
+ bool sense = dev.SmartReadLog(out byte[] buffer, out AtaErrorRegistersLba28 errorRegisters, address,
dev.Timeout, out double duration);
menu:
@@ -540,7 +540,7 @@ namespace DiscImageChef.Tests.Devices.ATA
{
start:
System.Console.Clear();
- bool sense = dev.SmartReturnStatus(out AtaErrorRegistersLBA28 errorRegisters, dev.Timeout,
+ bool sense = dev.SmartReturnStatus(out AtaErrorRegistersLba28 errorRegisters, dev.Timeout,
out double duration);
menu:
diff --git a/DiscImageChef.Tests.Devices/DecodeATARegisters.cs b/DiscImageChef.Tests.Devices/DecodeATARegisters.cs
index 7ab65db01..f9b702d1b 100644
--- a/DiscImageChef.Tests.Devices/DecodeATARegisters.cs
+++ b/DiscImageChef.Tests.Devices/DecodeATARegisters.cs
@@ -66,52 +66,52 @@ namespace DiscImageChef.Tests.Devices
return ret;
}
- public static string DecodeATARegisters(AtaErrorRegistersCHS registers)
+ public static string DecodeATARegisters(AtaErrorRegistersChs registers)
{
StringBuilder sb = new StringBuilder();
- sb.AppendFormat("Status: {0}", DecodeATAStatus(registers.status)).AppendLine();
- sb.AppendFormat("Error: {0}", DecodeATAStatus(registers.error)).AppendLine();
- sb.AppendFormat("Device: {0}", (registers.deviceHead >> 4) & 0x01).AppendLine();
- sb.AppendFormat("Cylinder: {0}", registers.cylinderHigh << (8 + registers.cylinderLow)).AppendLine();
- sb.AppendFormat("Head: {0}", registers.deviceHead & 0xF).AppendLine();
- sb.AppendFormat("Sector: {0}", registers.sector).AppendLine();
- sb.AppendFormat("Count: {0}", registers.sectorCount).AppendLine();
- sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.deviceHead & 0x40)).AppendLine();
- sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.deviceHead & 0x80)).AppendLine();
- sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.deviceHead & 0x20)).AppendLine();
+ sb.AppendFormat("Status: {0}", DecodeATAStatus(registers.Status)).AppendLine();
+ sb.AppendFormat("Error: {0}", DecodeATAStatus(registers.Error)).AppendLine();
+ sb.AppendFormat("Device: {0}", (registers.DeviceHead >> 4) & 0x01).AppendLine();
+ sb.AppendFormat("Cylinder: {0}", registers.CylinderHigh << (8 + registers.CylinderLow)).AppendLine();
+ sb.AppendFormat("Head: {0}", registers.DeviceHead & 0xF).AppendLine();
+ sb.AppendFormat("Sector: {0}", registers.Sector).AppendLine();
+ sb.AppendFormat("Count: {0}", registers.SectorCount).AppendLine();
+ sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
+ sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
+ sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
return sb.ToString();
}
- public static string DecodeATARegisters(AtaErrorRegistersLBA28 registers)
+ public static string DecodeATARegisters(AtaErrorRegistersLba28 registers)
{
StringBuilder sb = new StringBuilder();
- sb.AppendFormat("Status: {0}", DecodeATAStatus(registers.status)).AppendLine();
- sb.AppendFormat("Error: {0}", DecodeATAStatus(registers.error)).AppendLine();
- sb.AppendFormat("Device: {0}", (registers.deviceHead >> 4) & 0x01).AppendLine();
+ sb.AppendFormat("Status: {0}", DecodeATAStatus(registers.Status)).AppendLine();
+ sb.AppendFormat("Error: {0}", DecodeATAStatus(registers.Error)).AppendLine();
+ sb.AppendFormat("Device: {0}", (registers.DeviceHead >> 4) & 0x01).AppendLine();
sb.AppendFormat("LBA: {0}",
- ((registers.deviceHead & 0xF) << 24) + (registers.lbaHigh << 16) + (registers.lbaMid << 8) +
- registers.lbaLow);
- sb.AppendFormat("Count: {0}", registers.sectorCount).AppendLine();
- sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.deviceHead & 0x40)).AppendLine();
- sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.deviceHead & 0x80)).AppendLine();
- sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.deviceHead & 0x20)).AppendLine();
+ ((registers.DeviceHead & 0xF) << 24) + (registers.LbaHigh << 16) + (registers.LbaMid << 8) +
+ registers.LbaLow);
+ sb.AppendFormat("Count: {0}", registers.SectorCount).AppendLine();
+ sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
+ sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
+ sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
return sb.ToString();
}
- public static string DecodeATARegisters(AtaErrorRegistersLBA48 registers)
+ public static string DecodeATARegisters(AtaErrorRegistersLba48 registers)
{
StringBuilder sb = new StringBuilder();
- sb.AppendFormat("Status: {0}", DecodeATAStatus(registers.status)).AppendLine();
- sb.AppendFormat("Error: {0}", DecodeATAStatus(registers.error)).AppendLine();
- sb.AppendFormat("Device: {0}", (registers.deviceHead >> 4) & 0x01).AppendLine();
+ sb.AppendFormat("Status: {0}", DecodeATAStatus(registers.Status)).AppendLine();
+ sb.AppendFormat("Error: {0}", DecodeATAStatus(registers.Error)).AppendLine();
+ sb.AppendFormat("Device: {0}", (registers.DeviceHead >> 4) & 0x01).AppendLine();
sb.AppendFormat("LBA: {0}",
- (ulong)(registers.deviceHead & 0xF) * 0x100000000000 +
- registers.lbaHigh * (ulong)0x100000000L + (ulong)(registers.lbaMid << 16) +
- registers.lbaLow);
- sb.AppendFormat("Count: {0}", registers.sectorCount).AppendLine();
- sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.deviceHead & 0x40)).AppendLine();
- sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.deviceHead & 0x80)).AppendLine();
- sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.deviceHead & 0x20)).AppendLine();
+ (ulong)(registers.DeviceHead & 0xF) * 0x100000000000 +
+ registers.LbaHigh * (ulong)0x100000000L + (ulong)(registers.LbaMid << 16) +
+ registers.LbaLow);
+ sb.AppendFormat("Count: {0}", registers.SectorCount).AppendLine();
+ sb.AppendFormat("LBA?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x40)).AppendLine();
+ sb.AppendFormat("Bit 7 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x80)).AppendLine();
+ sb.AppendFormat("Bit 5 set?: {0}", Convert.ToBoolean(registers.DeviceHead & 0x20)).AppendLine();
return sb.ToString();
}
}
diff --git a/DiscImageChef/Commands/DeviceInfo.cs b/DiscImageChef/Commands/DeviceInfo.cs
index 75b439221..701664622 100644
--- a/DiscImageChef/Commands/DeviceInfo.cs
+++ b/DiscImageChef/Commands/DeviceInfo.cs
@@ -161,22 +161,22 @@ namespace DiscImageChef.Commands
{
case DeviceType.ATA:
{
- bool sense = dev.AtaIdentify(out byte[] ataBuf, out AtaErrorRegistersCHS errorRegisters);
+ bool sense = dev.AtaIdentify(out byte[] ataBuf, out AtaErrorRegistersChs errorRegisters);
if(sense)
{
- DicConsole.DebugWriteLine("Device-Info command", "STATUS = 0x{0:X2}", errorRegisters.status);
- DicConsole.DebugWriteLine("Device-Info command", "ERROR = 0x{0:X2}", errorRegisters.error);
+ DicConsole.DebugWriteLine("Device-Info command", "STATUS = 0x{0:X2}", errorRegisters.Status);
+ DicConsole.DebugWriteLine("Device-Info command", "ERROR = 0x{0:X2}", errorRegisters.Error);
DicConsole.DebugWriteLine("Device-Info command", "NSECTOR = 0x{0:X2}",
- errorRegisters.sectorCount);
- DicConsole.DebugWriteLine("Device-Info command", "SECTOR = 0x{0:X2}", errorRegisters.sector);
+ errorRegisters.SectorCount);
+ DicConsole.DebugWriteLine("Device-Info command", "SECTOR = 0x{0:X2}", errorRegisters.Sector);
DicConsole.DebugWriteLine("Device-Info command", "CYLHIGH = 0x{0:X2}",
- errorRegisters.cylinderHigh);
+ errorRegisters.CylinderHigh);
DicConsole.DebugWriteLine("Device-Info command", "CYLLOW = 0x{0:X2}",
- errorRegisters.cylinderLow);
+ errorRegisters.CylinderLow);
DicConsole.DebugWriteLine("Device-Info command", "DEVICE = 0x{0:X2}",
- errorRegisters.deviceHead);
- DicConsole.DebugWriteLine("Device-Info command", "COMMAND = 0x{0:X2}", errorRegisters.command);
+ errorRegisters.DeviceHead);
+ DicConsole.DebugWriteLine("Device-Info command", "COMMAND = 0x{0:X2}", errorRegisters.Command);
DicConsole.DebugWriteLine("Device-Info command", "Error code = {0}", dev.LastError);
break;
}
@@ -188,10 +188,10 @@ namespace DiscImageChef.Commands
dev.EnableMediaCardPassThrough(out errorRegisters, dev.Timeout, out _);
- if(errorRegisters.sector == 0xAA && errorRegisters.sectorCount == 0x55)
+ if(errorRegisters.Sector == 0xAA && errorRegisters.SectorCount == 0x55)
{
DicConsole.WriteLine("Device supports the Media Card Pass Through Command Set");
- switch(errorRegisters.deviceHead & 0x7)
+ switch(errorRegisters.DeviceHead & 0x7)
{
case 0:
DicConsole.WriteLine("Device reports incorrect media card type");
@@ -210,15 +210,15 @@ namespace DiscImageChef.Commands
break;
default:
DicConsole.WriteLine("Device contains unknown media card type {0}",
- errorRegisters.deviceHead & 0x07);
+ errorRegisters.DeviceHead & 0x07);
break;
}
- if((errorRegisters.deviceHead & 0x08) == 0x08)
+ if((errorRegisters.DeviceHead & 0x08) == 0x08)
DicConsole.WriteLine("Media card is write protected");
ushort specificData =
- (ushort)(errorRegisters.cylinderHigh * 0x100 + errorRegisters.cylinderLow);
+ (ushort)(errorRegisters.CylinderHigh * 0x100 + errorRegisters.CylinderLow);
if(specificData != 0) DicConsole.WriteLine("Card specific data: 0x{0:X4}", specificData);
}
@@ -226,22 +226,22 @@ namespace DiscImageChef.Commands
}
case DeviceType.ATAPI:
{
- bool sense = dev.AtapiIdentify(out byte[] ataBuf, out AtaErrorRegistersCHS errorRegisters);
+ bool sense = dev.AtapiIdentify(out byte[] ataBuf, out AtaErrorRegistersChs errorRegisters);
if(sense)
{
- DicConsole.DebugWriteLine("Device-Info command", "STATUS = 0x{0:X2}", errorRegisters.status);
- DicConsole.DebugWriteLine("Device-Info command", "ERROR = 0x{0:X2}", errorRegisters.error);
+ DicConsole.DebugWriteLine("Device-Info command", "STATUS = 0x{0:X2}", errorRegisters.Status);
+ DicConsole.DebugWriteLine("Device-Info command", "ERROR = 0x{0:X2}", errorRegisters.Error);
DicConsole.DebugWriteLine("Device-Info command", "NSECTOR = 0x{0:X2}",
- errorRegisters.sectorCount);
- DicConsole.DebugWriteLine("Device-Info command", "SECTOR = 0x{0:X2}", errorRegisters.sector);
+ errorRegisters.SectorCount);
+ DicConsole.DebugWriteLine("Device-Info command", "SECTOR = 0x{0:X2}", errorRegisters.Sector);
DicConsole.DebugWriteLine("Device-Info command", "CYLHIGH = 0x{0:X2}",
- errorRegisters.cylinderHigh);
+ errorRegisters.CylinderHigh);
DicConsole.DebugWriteLine("Device-Info command", "CYLLOW = 0x{0:X2}",
- errorRegisters.cylinderLow);
+ errorRegisters.CylinderLow);
DicConsole.DebugWriteLine("Device-Info command", "DEVICE = 0x{0:X2}",
- errorRegisters.deviceHead);
- DicConsole.DebugWriteLine("Device-Info command", "COMMAND = 0x{0:X2}", errorRegisters.command);
+ errorRegisters.DeviceHead);
+ DicConsole.DebugWriteLine("Device-Info command", "COMMAND = 0x{0:X2}", errorRegisters.Command);
DicConsole.DebugWriteLine("Device-Info command", "Error code = {0}", dev.LastError);
break;
}
diff --git a/DiscImageChef/Commands/MediaInfo.cs b/DiscImageChef/Commands/MediaInfo.cs
index ed399036b..eafe87efe 100644
--- a/DiscImageChef/Commands/MediaInfo.cs
+++ b/DiscImageChef/Commands/MediaInfo.cs
@@ -1127,15 +1127,15 @@ namespace DiscImageChef.Commands
foreach(TOC.CDTOCTrackDataDescriptor track in toc.Value.TrackDescriptors)
{
if(track.TrackNumber == 1 &&
- ((TOC_CONTROL)(track.CONTROL & 0x0D) ==
- TOC_CONTROL.DataTrack ||
- (TOC_CONTROL)(track.CONTROL & 0x0D) ==
- TOC_CONTROL.DataTrackIncremental)) allFirstSessionTracksAreAudio &= firstTrackLastSession != 1;
+ ((TocControl)(track.CONTROL & 0x0D) ==
+ TocControl.DataTrack ||
+ (TocControl)(track.CONTROL & 0x0D) ==
+ TocControl.DataTrackIncremental)) allFirstSessionTracksAreAudio &= firstTrackLastSession != 1;
- if((TOC_CONTROL)(track.CONTROL & 0x0D) ==
- TOC_CONTROL.DataTrack ||
- (TOC_CONTROL)(track.CONTROL & 0x0D) ==
- TOC_CONTROL.DataTrackIncremental)
+ if((TocControl)(track.CONTROL & 0x0D) ==
+ TocControl.DataTrack ||
+ (TocControl)(track.CONTROL & 0x0D) ==
+ TocControl.DataTrackIncremental)
{
hasDataTrack = true;
allFirstSessionTracksAreAudio &= track.TrackNumber >= firstTrackLastSession;