mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Added information from SBC-2.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2015-10-31 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
|
* SCSI/Modes.cs:
|
||||||
|
Added information from SBC-2.
|
||||||
|
|
||||||
2015-10-31 Natalia Portillo <claunia@claunia.com>
|
2015-10-31 Natalia Portillo <claunia@claunia.com>
|
||||||
|
|
||||||
* SCSI/Modes.cs:
|
* SCSI/Modes.cs:
|
||||||
|
|||||||
@@ -1632,7 +1632,7 @@ namespace DiscImageChef.Decoders.SCSI
|
|||||||
/// Disconnect-reconnect page
|
/// Disconnect-reconnect page
|
||||||
/// Page code 0x08
|
/// Page code 0x08
|
||||||
/// 12 bytes in SCSI-2
|
/// 12 bytes in SCSI-2
|
||||||
/// 20 bytes in SBC-1
|
/// 20 bytes in SBC-1, SBC-2
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public struct ModePage_08
|
public struct ModePage_08
|
||||||
{
|
{
|
||||||
@@ -1721,6 +1721,8 @@ namespace DiscImageChef.Decoders.SCSI
|
|||||||
/// How many bytes should be used as a buffer when all other cached data cannot be evicted
|
/// How many bytes should be used as a buffer when all other cached data cannot be evicted
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public uint NonCacheSegmentSize;
|
public uint NonCacheSegmentSize;
|
||||||
|
|
||||||
|
public bool NV_DIS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ModePage_08? DecodeModePage_08(byte[] pageResponse)
|
public static ModePage_08? DecodeModePage_08(byte[] pageResponse)
|
||||||
@@ -1771,6 +1773,8 @@ namespace DiscImageChef.Decoders.SCSI
|
|||||||
decoded.CacheSegmentSize = (ushort)((pageResponse[14] << 8) + pageResponse[15]);
|
decoded.CacheSegmentSize = (ushort)((pageResponse[14] << 8) + pageResponse[15]);
|
||||||
decoded.NonCacheSegmentSize = (uint)((pageResponse[17] << 16) + (pageResponse[18] << 8) + pageResponse[19]);
|
decoded.NonCacheSegmentSize = (uint)((pageResponse[17] << 16) + (pageResponse[18] << 8) + pageResponse[19]);
|
||||||
|
|
||||||
|
decoded.NV_DIS |= (pageResponse[12] & 0x01) == 0x01;
|
||||||
|
|
||||||
return decoded;
|
return decoded;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1881,6 +1885,9 @@ namespace DiscImageChef.Decoders.SCSI
|
|||||||
if (page.NonCacheSegmentSize > 0)
|
if (page.NonCacheSegmentSize > 0)
|
||||||
sb.AppendFormat("\tDrive shall allocate {0} bytes to buffer even when all cached data cannot be evicted", page.NonCacheSegmentSize).AppendLine();
|
sb.AppendFormat("\tDrive shall allocate {0} bytes to buffer even when all cached data cannot be evicted", page.NonCacheSegmentSize).AppendLine();
|
||||||
|
|
||||||
|
if (page.NV_DIS)
|
||||||
|
sb.AppendLine("\tNon-Volatile cache is disabled");
|
||||||
|
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
#endregion Mode Page 0x08: Caching page
|
#endregion Mode Page 0x08: Caching page
|
||||||
@@ -2441,7 +2448,7 @@ namespace DiscImageChef.Decoders.SCSI
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Disconnect-reconnect page
|
/// Disconnect-reconnect page
|
||||||
/// Page code 0x01
|
/// Page code 0x01
|
||||||
/// 12 bytes in SCSI-2, SBC-1
|
/// 12 bytes in SCSI-2, SBC-1, SBC-2
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public struct ModePage_01
|
public struct ModePage_01
|
||||||
{
|
{
|
||||||
@@ -2734,7 +2741,7 @@ namespace DiscImageChef.Decoders.SCSI
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Disconnect-reconnect page
|
/// Disconnect-reconnect page
|
||||||
/// Page code 0x07
|
/// Page code 0x07
|
||||||
/// 12 bytes in SCSI-2, SBC-1
|
/// 12 bytes in SCSI-2, SBC-1, SBC-2
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public struct ModePage_07
|
public struct ModePage_07
|
||||||
{
|
{
|
||||||
@@ -4698,7 +4705,7 @@ namespace DiscImageChef.Decoders.SCSI
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// XOR control mode page
|
/// XOR control mode page
|
||||||
/// Page code 0x10
|
/// Page code 0x10
|
||||||
/// 24 bytes in SBC-1
|
/// 24 bytes in SBC-1, SBC-2
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public struct ModePage_10
|
public struct ModePage_10
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user