From d60060d266a481ab96859c72084d19599334e989 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 10 Sep 2017 22:03:20 +0100 Subject: [PATCH] When PhysicalInterface MMC feature is unknown, store integer value separately in the report. --- DiscImageChef.Core/Devices/Report/SCSI/MMC.cs | 6 ++++++ DiscImageChef.Metadata/DeviceReport.cs | 3 +++ 2 files changed, 9 insertions(+) diff --git a/DiscImageChef.Core/Devices/Report/SCSI/MMC.cs b/DiscImageChef.Core/Devices/Report/SCSI/MMC.cs index 79cb569f7..f43e9faba 100644 --- a/DiscImageChef.Core/Devices/Report/SCSI/MMC.cs +++ b/DiscImageChef.Core/Devices/Report/SCSI/MMC.cs @@ -183,6 +183,12 @@ namespace DiscImageChef.Core.Devices.Report.SCSI { report.SCSI.MultiMediaDevice.Features.PhysicalInterfaceStandard = ftr0001.Value.PhysicalInterfaceStandard; report.SCSI.MultiMediaDevice.Features.PhysicalInterfaceStandardSpecified = true; + if((uint)ftr0001.Value.PhysicalInterfaceStandard > 0x8) + { + report.SCSI.MultiMediaDevice.Features.PhysicalInterfaceStandardNumber = (uint)ftr0001.Value.PhysicalInterfaceStandard; + report.SCSI.MultiMediaDevice.Features.PhysicalInterfaceStandardNumberSpecified = true; + report.SCSI.MultiMediaDevice.Features.PhysicalInterfaceStandard = Decoders.SCSI.MMC.PhysicalInterfaces.Unspecified; + } report.SCSI.MultiMediaDevice.Features.SupportsDeviceBusyEvent = ftr0001.Value.DBE; } } diff --git a/DiscImageChef.Metadata/DeviceReport.cs b/DiscImageChef.Metadata/DeviceReport.cs index 86da8eefb..c42c99187 100644 --- a/DiscImageChef.Metadata/DeviceReport.cs +++ b/DiscImageChef.Metadata/DeviceReport.cs @@ -649,6 +649,7 @@ namespace DiscImageChef.Metadata public uint LogicalBlockSize { get; set; } public bool MultiRead { get; set; } public Decoders.SCSI.MMC.PhysicalInterfaces PhysicalInterfaceStandard { get; set; } + public uint PhysicalInterfaceStandardNumber { get; set; } public bool PreventJumper { get; set; } public bool SupportsAACS { get; set; } public bool SupportsBusEncryption { get; set; } @@ -672,6 +673,8 @@ namespace DiscImageChef.Metadata [XmlIgnore] public bool PhysicalInterfaceStandardSpecified { get; set; } [XmlIgnore] + public bool PhysicalInterfaceStandardNumberSpecified { get; set; } + [XmlIgnore] public bool AACSVersionSpecified { get; set; } [XmlIgnore] public bool AGIDsSpecified { get; set; }