Added information from SSC-1

This commit is contained in:
2015-10-31 02:34:45 +00:00
parent 607c267496
commit 713dfa5f01
2 changed files with 37 additions and 1 deletions

View File

@@ -1,3 +1,8 @@
2015-10-31 Natalia Portillo <claunia@claunia.com>
* SCSI/Modes.cs:
Added information from SSC-1
2015-10-31 Natalia Portillo <claunia@claunia.com> 2015-10-31 Natalia Portillo <claunia@claunia.com>
* SCSI/Modes.cs: * SCSI/Modes.cs:

View File

@@ -2875,7 +2875,7 @@ namespace DiscImageChef.Decoders.SCSI
/// <summary> /// <summary>
/// Device configuration page /// Device configuration page
/// Page code 0x10 /// Page code 0x10
/// 16 bytes in SCSI-2 /// 16 bytes in SCSI-2, SSC-1
/// </summary> /// </summary>
public struct ModePage_10_SSC public struct ModePage_10_SSC
{ {
@@ -2963,6 +2963,23 @@ namespace DiscImageChef.Decoders.SCSI
/// Selected data compression algorithm /// Selected data compression algorithm
/// </summary> /// </summary>
public byte SelectedCompression; public byte SelectedCompression;
/// <summary>
/// Soft write protect
/// </summary>
public bool SWP;
/// <summary>
/// Associated write protect
/// </summary>
public bool ASOCWP;
/// <summary>
/// Persistent write protect
/// </summary>
public bool PERSWP;
/// <summary>
/// Permanent write protect
/// </summary>
public bool PRMWP;
} }
public static ModePage_10_SSC? DecodeModePage_10_SSC(byte[] pageResponse) public static ModePage_10_SSC? DecodeModePage_10_SSC(byte[] pageResponse)
@@ -3004,6 +3021,11 @@ namespace DiscImageChef.Decoders.SCSI
decoded.BufferSizeEarlyWarning = (uint)((pageResponse[11] << 16) + (pageResponse[12] << 8) + pageResponse[13]); decoded.BufferSizeEarlyWarning = (uint)((pageResponse[11] << 16) + (pageResponse[12] << 8) + pageResponse[13]);
decoded.SelectedCompression = pageResponse[14]; decoded.SelectedCompression = pageResponse[14];
decoded.SWP |= (pageResponse[10] & 0x04) == 0x04;
decoded.ASOCWP |= (pageResponse[15] & 0x04) == 0x04;
decoded.PERSWP |= (pageResponse[15] & 0x02) == 0x02;
decoded.PRMWP |= (pageResponse[15] & 0x01) == 0x01;
return decoded; return decoded;
} }
@@ -3109,6 +3131,15 @@ namespace DiscImageChef.Decoders.SCSI
break; break;
} }
if (page.SWP)
sb.AppendLine("\tSoftware write protect is enabled");
if (page.ASOCWP)
sb.AppendLine("\tAssociated write protect is enabled");
if (page.PERSWP)
sb.AppendLine("\tPersistent write protect is enabled");
if (page.PRMWP)
sb.AppendLine("\tPermanent write protect is enabled");
return sb.ToString(); return sb.ToString();
} }
#endregion Mode Page 0x10: Device configuration page #endregion Mode Page 0x10: Device configuration page