diff --git a/DiscImageChef.Decoders/ChangeLog b/DiscImageChef.Decoders/ChangeLog index 64888db0..cbfbdae3 100644 --- a/DiscImageChef.Decoders/ChangeLog +++ b/DiscImageChef.Decoders/ChangeLog @@ -1,3 +1,8 @@ +2015-10-17 Natalia Portillo + + * SCSI.cs: + Added info from SCSI-2 specification. + 2015-10-17 Natalia Portillo * ATA.cs: diff --git a/DiscImageChef.Decoders/SCSI.cs b/DiscImageChef.Decoders/SCSI.cs index 6a66b6b3..c2204975 100644 --- a/DiscImageChef.Decoders/SCSI.cs +++ b/DiscImageChef.Decoders/SCSI.cs @@ -42,6 +42,7 @@ namespace DiscImageChef.Decoders { /// /// Information from the following standards: + /// T9/375-D revision 10l /// T10/995-D revision 10 /// T10/1236-D revision 20 /// T10/1416-D revision 23 @@ -169,9 +170,9 @@ namespace DiscImageChef.Decoders /// SCSIANSINoVersion = 0x00, /// - /// Device complies with an obsolete ANSI standard + /// Device complies with ANSI X3.131:1986 /// - SCSIANSIObsolete = 0x01, + SCSIANSI1986Version = 0x01, /// /// Device complies with ANSI X3.131:1994 /// @@ -2511,7 +2512,7 @@ namespace DiscImageChef.Decoders if (SCSIInquiryResponse.Length >= 2) { decoded.RMB = Convert.ToBoolean((SCSIInquiryResponse[1] & 0x80)); - decoded.Reserved1 = (byte)(SCSIInquiryResponse[1] & 0x7F); + decoded.DeviceTypeModifier = (byte)(SCSIInquiryResponse[1] & 0x7F); } if (SCSIInquiryResponse.Length >= 3) { @@ -2558,7 +2559,7 @@ namespace DiscImageChef.Decoders decoded.Linked = Convert.ToBoolean((SCSIInquiryResponse[7] & 0x08)); decoded.TranDis = Convert.ToBoolean((SCSIInquiryResponse[7] & 0x04)); decoded.CmdQue = Convert.ToBoolean((SCSIInquiryResponse[7] & 0x02)); - decoded.VS2 = Convert.ToBoolean((SCSIInquiryResponse[7] & 0x01)); + decoded.SftRe = Convert.ToBoolean((SCSIInquiryResponse[7] & 0x01)); } if (SCSIInquiryResponse.Length >= 16) { @@ -2723,8 +2724,8 @@ namespace DiscImageChef.Decoders case SCSIANSIVersions.SCSIANSINoVersion: sb.AppendLine("Device does not claim to comply with any SCSI ANSI standard"); break; - case SCSIANSIVersions.SCSIANSIObsolete: - sb.AppendLine("Device claims to comply with an obsolete SCSI ANSI standard"); + case SCSIANSIVersions.SCSIANSI1986Version: + sb.AppendLine("Device claims to comply with ANSI X3.131:1986"); break; case SCSIANSIVersions.SCSIANSI1994Version: sb.AppendLine("Device claims to comply with ANSI X3.131:1994"); @@ -2819,12 +2820,12 @@ namespace DiscImageChef.Decoders sb.AppendLine("Device supports TCQ queue"); if (response.IUS) sb.AppendLine("Device supports information unit transfers"); + if (response.SftRe) + sb.AppendLine("Device implements RESET as a soft reset"); //if (MainClass.isDebug) { if (response.VS1) sb.AppendLine("Vendor specific bit 5 on byte 6 of INQUIRY response is set"); - if (response.VS2) - sb.AppendLine("Vendor specific bit 0 on byte 7 of INQUIRY response is set"); } switch ((SCSITGPSValues)response.TPGS) @@ -4294,7 +4295,7 @@ namespace DiscImageChef.Decoders //if (MainClass.isDebug) { - sb.AppendFormat("DEBUG (SCSIInquiry Decoder): Reserved byte 1, bits 6 to 0 = 0x{0:X2}", response.Reserved1).AppendLine(); + sb.AppendFormat("DEBUG (SCSIInquiry Decoder): Vendor's device type modifier = 0x{0:X2}", response.DeviceTypeModifier).AppendLine(); sb.AppendFormat("DEBUG (SCSIInquiry Decoder): Reserved byte 5, bits 2 to 1 = 0x{0:X2}", response.Reserved2).AppendLine(); sb.AppendFormat("DEBUG (SCSIInquiry Decoder): Reserved byte 56, bits 7 to 4 = 0x{0:X2}", response.Reserved3).AppendLine(); sb.AppendFormat("DEBUG (SCSIInquiry Decoder): Reserved byte 57 = 0x{0:X2}", response.Reserved4).AppendLine(); @@ -4356,10 +4357,10 @@ namespace DiscImageChef.Decoders /// public bool RMB; /// - /// Reserved + /// SCSI-1 vendor-specific qualification codes /// Byte 1, bits 6 to 0 /// - public byte Reserved1; + public byte DeviceTypeModifier; /// /// ISO/IEC SCSI Standard Version /// Byte 2, bits 7 to 6, mask = 0xC0, >> 6 @@ -4511,10 +4512,10 @@ namespace DiscImageChef.Decoders /// public bool CmdQue; /// - /// Vendor-specific + /// Indicates that the devices responds to RESET with soft reset /// Byte 7, bit 0 /// - public bool VS2; + public bool SftRe; /// /// Vendor identification /// Bytes 8 to 15