From d9348377681dc5ca40e0d3da2ddbd96c015a3720 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 30 Sep 2021 17:46:23 +0100 Subject: [PATCH] Fix device report not reading PFI and DMI from Nintendo optical discs. --- Aaru.Core/Devices/Report/MMC.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/Aaru.Core/Devices/Report/MMC.cs b/Aaru.Core/Devices/Report/MMC.cs index d4942eede..e5ab81eda 100644 --- a/Aaru.Core/Devices/Report/MMC.cs +++ b/Aaru.Core/Devices/Report/MMC.cs @@ -754,6 +754,28 @@ namespace Aaru.Core.Devices.Report break; case "Nintendo GameCube game": case "Nintendo Wii game": + AaruConsole.WriteLine("Querying DVD PFI..."); + + mediaTest.CanReadPFI = !_dev.ReadDiscStructure(out buffer, out senseBuffer, + MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.PhysicalInformation, 0, + _dev.Timeout, out _); + + AaruConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadPFI); + + mediaTest.PfiData = buffer; + + AaruConsole.WriteLine("Querying DVD DMI..."); + + mediaTest.CanReadDMI = !_dev.ReadDiscStructure(out buffer, out senseBuffer, + MmcDiscStructureMediaType.Dvd, 0, 0, + MmcDiscStructureFormat.DiscManufacturingInformation, + 0, _dev.Timeout, out _); + + AaruConsole.DebugWriteLine("SCSI Report", "Sense = {0}", !mediaTest.CanReadDMI); + + mediaTest.DmiData = buffer; + AaruConsole.WriteLine("Querying DVD BCA..."); mediaTest.CanReadBCA = !_dev.ReadDiscStructure(out buffer, out senseBuffer,