From 94f8d9709a1cd6248cf10b57d72da09b5437117d Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Tue, 21 May 2024 20:34:37 -0400 Subject: [PATCH] Move PlayStation drive use mostly to helper --- CHANGELIST.md | 1 + MPF.Core/Processors/Aaru.cs | 53 ---------------- MPF.Core/Processors/DiscImageCreator.cs | 53 +--------------- MPF.Core/Processors/PS3CFW.cs | 10 --- MPF.Core/Processors/Redumper.cs | 54 +---------------- MPF.Core/SubmissionInfoTool.cs | 81 ++++++++++++++++++++++++- 6 files changed, 83 insertions(+), 169 deletions(-) diff --git a/CHANGELIST.md b/CHANGELIST.md index 87997128..412e60b9 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -29,6 +29,7 @@ - Reduce surface area of generation method - Make GetLogFilePaths required - Handle version like category +- Move PlayStation drive use mostly to helper ### 3.1.9a (2024-05-21) diff --git a/MPF.Core/Processors/Aaru.cs b/MPF.Core/Processors/Aaru.cs index e6380fa1..d2b46ebc 100644 --- a/MPF.Core/Processors/Aaru.cs +++ b/MPF.Core/Processors/Aaru.cs @@ -220,18 +220,6 @@ namespace MPF.Core.Processors info.CopyProtection!.Protection = GetDVDProtection(sidecar) ?? string.Empty; break; - case RedumpSystem.KonamiPython2: - if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var pythonTwoSerial, out Region? pythonTwoRegion, out var pythonTwoDate)) - { - // Ensure internal serial is pulled from local data - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = pythonTwoSerial ?? string.Empty; - info.CommonDiscInfo.Region = info.CommonDiscInfo.Region ?? pythonTwoRegion; - info.CommonDiscInfo.EXEDateBuildDate = pythonTwoDate; - } - - info.VersionAndEditions!.Version = InfoTool.GetPlayStation2Version(drive?.Name) ?? string.Empty; - break; - case RedumpSystem.MicrosoftXbox: if (GetXgdAuxInfo(sidecar, out var xgd1DMIHash, out var xgd1PFIHash, out var xgd1SSHash, out var ss, out var xgd1SSVer)) { @@ -268,47 +256,6 @@ namespace MPF.Core.Processors info.CommonDiscInfo.Region = region360; } break; - - case RedumpSystem.SonyPlayStation: - if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var playstationSerial, out Region? playstationRegion, out var playstationDate)) - { - // Ensure internal serial is pulled from local data - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = playstationSerial ?? string.Empty; - info.CommonDiscInfo.Region = info.CommonDiscInfo.Region ?? playstationRegion; - info.CommonDiscInfo.EXEDateBuildDate = playstationDate; - } - - break; - - case RedumpSystem.SonyPlayStation2: - if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var playstationTwoSerial, out Region? playstationTwoRegion, out var playstationTwoDate)) - { - // Ensure internal serial is pulled from local data - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = playstationTwoSerial ?? string.Empty; - info.CommonDiscInfo.Region = info.CommonDiscInfo.Region ?? playstationTwoRegion; - info.CommonDiscInfo.EXEDateBuildDate = playstationTwoDate; - } - - info.VersionAndEditions!.Version = InfoTool.GetPlayStation2Version(drive?.Name) ?? string.Empty; - break; - - case RedumpSystem.SonyPlayStation3: - info.VersionAndEditions!.Version = InfoTool.GetPlayStation3Version(drive?.Name) ?? string.Empty; - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation3Serial(drive?.Name) ?? string.Empty; - string? firmwareVersion = InfoTool.GetPlayStation3FirmwareVersion(drive?.Name); - if (firmwareVersion != null) - info.CommonDiscInfo!.ContentsSpecialFields![SiteCode.Patches] = $"PS3 Firmware {firmwareVersion}"; - break; - - case RedumpSystem.SonyPlayStation4: - info.VersionAndEditions!.Version = InfoTool.GetPlayStation4Version(drive?.Name) ?? string.Empty; - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation4Serial(drive?.Name) ?? string.Empty; - break; - - case RedumpSystem.SonyPlayStation5: - info.VersionAndEditions!.Version = InfoTool.GetPlayStation5Version(drive?.Name) ?? string.Empty; - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation5Serial(drive?.Name) ?? string.Empty; - break; } } diff --git a/MPF.Core/Processors/DiscImageCreator.cs b/MPF.Core/Processors/DiscImageCreator.cs index 0d03fc5c..77083d63 100644 --- a/MPF.Core/Processors/DiscImageCreator.cs +++ b/MPF.Core/Processors/DiscImageCreator.cs @@ -286,6 +286,7 @@ namespace MPF.Core.Processors } /// + /// Determining the PSX/PS2 executable name is the last use of drive in this method public override void GenerateSubmissionInfo(SubmissionInfo info, string basePath, Drive? drive, bool redumpCompat) { var outputDirectory = Path.GetDirectoryName(basePath); @@ -449,22 +450,7 @@ namespace MPF.Core.Processors info.CopyProtection!.Protection = GetDVDProtection($"{basePath}_CSSKey.txt", $"{basePath}_disc.txt", true) ?? string.Empty; break; - case RedumpSystem.KonamiPython2: - info.CommonDiscInfo!.EXEDateBuildDate = GetPlayStationEXEDate($"{basePath}_volDesc.txt", InfoTool.GetPlayStationExecutableName(drive?.Name)); - - if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var pythonTwoSerial, out Region? pythonTwoRegion, out var pythonTwoDate)) - { - // Ensure internal serial is pulled from local data - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = pythonTwoSerial ?? string.Empty; - info.CommonDiscInfo.Region = info.CommonDiscInfo.Region ?? pythonTwoRegion; - info.CommonDiscInfo.EXEDateBuildDate ??= pythonTwoDate; - } - - info.VersionAndEditions!.Version = InfoTool.GetPlayStation2Version(drive?.Name) ?? string.Empty; - break; - case RedumpSystem.MicrosoftXbox: - string xmidString; if (string.IsNullOrEmpty(outputDirectory)) xmidString = Tools.GetXGD1XMID($"{basePath}_DMI.bin"); @@ -698,14 +684,6 @@ namespace MPF.Core.Processors case RedumpSystem.SonyPlayStation: info.CommonDiscInfo!.EXEDateBuildDate = GetPlayStationEXEDate($"{basePath}_volDesc.txt", InfoTool.GetPlayStationExecutableName(drive?.Name), true); - if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var playstationSerial, out Region? playstationRegion, out var playstationDate)) - { - // Ensure internal serial is pulled from local data - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = playstationSerial ?? string.Empty; - info.CommonDiscInfo.Region = info.CommonDiscInfo.Region ?? playstationRegion; - info.CommonDiscInfo.EXEDateBuildDate ??= playstationDate; - } - bool? psEdcStatus = null; if (File.Exists($"{basePath}.img_EdcEcc.txt")) psEdcStatus = GetPlayStationEDCStatus($"{basePath}.img_EdcEcc.txt"); @@ -719,35 +697,6 @@ namespace MPF.Core.Processors case RedumpSystem.SonyPlayStation2: info.CommonDiscInfo!.EXEDateBuildDate = GetPlayStationEXEDate($"{basePath}_volDesc.txt", InfoTool.GetPlayStationExecutableName(drive?.Name)); - - if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var playstationTwoSerial, out Region? playstationTwoRegion, out var playstationTwoDate)) - { - // Ensure internal serial is pulled from local data - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = playstationTwoSerial ?? string.Empty; - info.CommonDiscInfo.Region = info.CommonDiscInfo.Region ?? playstationTwoRegion; - info.CommonDiscInfo.EXEDateBuildDate ??= playstationTwoDate; - } - - info.VersionAndEditions!.Version = InfoTool.GetPlayStation2Version(drive?.Name) ?? string.Empty; - break; - - // TODO: Support reading information from outputs -- need examples - case RedumpSystem.SonyPlayStation3: - info.VersionAndEditions!.Version = InfoTool.GetPlayStation3Version(drive?.Name) ?? string.Empty; - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation3Serial(drive?.Name) ?? string.Empty; - string? firmwareVersion = InfoTool.GetPlayStation3FirmwareVersion(drive?.Name); - if (firmwareVersion != null) - info.CommonDiscInfo!.ContentsSpecialFields![SiteCode.Patches] = $"PS3 Firmware {firmwareVersion}"; - break; - - case RedumpSystem.SonyPlayStation4: - info.VersionAndEditions!.Version = InfoTool.GetPlayStation4Version(drive?.Name) ?? string.Empty; - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation4Serial(drive?.Name) ?? string.Empty; - break; - - case RedumpSystem.SonyPlayStation5: - info.VersionAndEditions!.Version = InfoTool.GetPlayStation5Version(drive?.Name) ?? string.Empty; - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation5Serial(drive?.Name) ?? string.Empty; break; } } diff --git a/MPF.Core/Processors/PS3CFW.cs b/MPF.Core/Processors/PS3CFW.cs index 41f50aa5..fce8396e 100644 --- a/MPF.Core/Processors/PS3CFW.cs +++ b/MPF.Core/Processors/PS3CFW.cs @@ -81,16 +81,6 @@ namespace MPF.Core.Processors if (GetPVD(basePath + ".iso", out string? pvd)) info.Extras!.PVD = pvd; - // Try get the serial, version, and firmware version if a drive is provided - if (drive != null) - { - info.VersionAndEditions!.Version = InfoTool.GetPlayStation3Version(drive?.Name) ?? string.Empty; - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation3Serial(drive?.Name) ?? string.Empty; - string? firmwareVersion = InfoTool.GetPlayStation3FirmwareVersion(drive?.Name); - if (firmwareVersion != null) - info.CommonDiscInfo!.ContentsSpecialFields![SiteCode.Patches] = $"PS3 Firmware {firmwareVersion}"; - } - // Try to determine the name of the GetKey file(s) string? getKeyBasePath = GetCFWBasePath(basePath); diff --git a/MPF.Core/Processors/Redumper.cs b/MPF.Core/Processors/Redumper.cs index 58bde7d5..e64f7849 100644 --- a/MPF.Core/Processors/Redumper.cs +++ b/MPF.Core/Processors/Redumper.cs @@ -313,7 +313,6 @@ namespace MPF.Core.Processors break; case RedumpSystem.KonamiPython2: - // Get metadata from log if possible if (GetPlayStationInfo($"{basePath}.log", out string? kp2EXEDate, out string? kp2Serial, out string? kp2Version, out var _)) { info.CommonDiscInfo!.EXEDateBuildDate = kp2EXEDate; @@ -322,14 +321,6 @@ namespace MPF.Core.Processors info.CommonDiscInfo.Region = InfoTool.GetPlayStationRegion(info.CommonDiscInfo.CommentsSpecialFields![SiteCode.InternalSerialName]); info.VersionAndEditions!.Version = kp2Version ?? string.Empty; } - // Get metadata from drive if not available from log - else if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var pythonTwoSerial, out Region? pythonTwoRegion, out var pythonTwoDate)) - { - info.CommonDiscInfo!.EXEDateBuildDate = pythonTwoDate; - info.CommonDiscInfo.CommentsSpecialFields![SiteCode.InternalSerialName] = pythonTwoSerial ?? string.Empty; - info.CommonDiscInfo.Region ??= pythonTwoRegion; - info.VersionAndEditions!.Version = InfoTool.GetPlayStation2Version(drive?.Name) ?? string.Empty; - } break; @@ -386,7 +377,6 @@ namespace MPF.Core.Processors break; case RedumpSystem.SonyPlayStation: - // Get metadata from log if possible if (GetPlayStationInfo($"{basePath}.log", out string? psxEXEDate, out string? psxSerial, out var _, out var _)) { info.CommonDiscInfo!.EXEDateBuildDate = psxEXEDate; @@ -394,13 +384,6 @@ namespace MPF.Core.Processors if (!string.IsNullOrEmpty(psxSerial)) info.CommonDiscInfo.Region = InfoTool.GetPlayStationRegion(info.CommonDiscInfo.CommentsSpecialFields![SiteCode.InternalSerialName]); } - // Get metadata from drive if not available from log - else if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var playstationSerial, out Region? playstationRegion, out var playstationDate)) - { - info.CommonDiscInfo!.EXEDateBuildDate = playstationDate; - info.CommonDiscInfo.CommentsSpecialFields![SiteCode.InternalSerialName] = playstationSerial ?? string.Empty; - info.CommonDiscInfo.Region ??= playstationRegion; - } info.CopyProtection!.AntiModchip = GetPlayStationAntiModchipDetected($"{basePath}.log").ToYesNo(); info.EDC!.EDC = GetPlayStationEDCStatus($"{basePath}.log").ToYesNo(); @@ -409,7 +392,6 @@ namespace MPF.Core.Processors break; case RedumpSystem.SonyPlayStation2: - // Get metadata from log if possible if (GetPlayStationInfo($"{basePath}.log", out string? ps2EXEDate, out string? ps2Serial, out var ps2Version, out var _)) { info.CommonDiscInfo!.EXEDateBuildDate = ps2EXEDate; @@ -418,67 +400,35 @@ namespace MPF.Core.Processors info.CommonDiscInfo.Region = InfoTool.GetPlayStationRegion(info.CommonDiscInfo.CommentsSpecialFields![SiteCode.InternalSerialName]); info.VersionAndEditions!.Version = ps2Version ?? string.Empty; } - // Get metadata from drive if not available from log - else if (InfoTool.GetPlayStationExecutableInfo(drive?.Name, out var playstationTwoSerial, out Region? playstationTwoRegion, out var playstationTwoDate)) - { - info.CommonDiscInfo!.EXEDateBuildDate ??= playstationTwoDate; - info.CommonDiscInfo.CommentsSpecialFields![SiteCode.InternalSerialName] = playstationTwoSerial ?? string.Empty; - info.CommonDiscInfo.Region = info.CommonDiscInfo.Region ?? playstationTwoRegion; - info.VersionAndEditions!.Version = InfoTool.GetPlayStation2Version(drive?.Name) ?? string.Empty; - } break; case RedumpSystem.SonyPlayStation3: - // Get metadata from log if possible if (GetPlayStationInfo($"{basePath}.log", out var _, out string? ps3Serial, out var ps3Version, out string? firmwareVersion)) { info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = ps3Serial ?? string.Empty; info.VersionAndEditions!.Version = ps3Version ?? string.Empty; + if (firmwareVersion != null) + info.CommonDiscInfo!.ContentsSpecialFields![SiteCode.Patches] = $"PS3 Firmware {firmwareVersion}"; } - // Get metadata from drive if not available from log - else - { - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation3Serial(drive?.Name) ?? string.Empty; - info.VersionAndEditions!.Version = InfoTool.GetPlayStation3Version(drive?.Name) ?? string.Empty; - firmwareVersion = InfoTool.GetPlayStation3FirmwareVersion(drive?.Name); - } - - // Set the firmware version as a piece of content - if (firmwareVersion != null) - info.CommonDiscInfo.ContentsSpecialFields![SiteCode.Patches] = $"PS3 Firmware {firmwareVersion}"; break; case RedumpSystem.SonyPlayStation4: - // Get metadata from log if possible if (GetPlayStationInfo($"{basePath}.log", out var _, out string? ps4Serial, out var ps4Version, out var _)) { info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = ps4Serial ?? string.Empty; info.VersionAndEditions!.Version = ps4Version ?? string.Empty; } - // Get metadata from drive if not available from log - else - { - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation4Serial(drive?.Name) ?? string.Empty; - info.VersionAndEditions!.Version = InfoTool.GetPlayStation4Version(drive?.Name) ?? string.Empty; - } break; case RedumpSystem.SonyPlayStation5: - // Get metadata from log if possible if (GetPlayStationInfo($"{basePath}.log", out var _, out string? ps5Serial, out var ps5Version, out var _)) { info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = ps5Serial ?? string.Empty; info.VersionAndEditions!.Version = ps5Version ?? string.Empty; } - // Get metadata from drive if not available from log - else - { - info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation5Serial(drive?.Name) ?? string.Empty; - info.VersionAndEditions!.Version = InfoTool.GetPlayStation5Version(drive?.Name) ?? string.Empty; - } break; } diff --git a/MPF.Core/SubmissionInfoTool.cs b/MPF.Core/SubmissionInfoTool.cs index 9e5ce402..054d7cd3 100644 --- a/MPF.Core/SubmissionInfoTool.cs +++ b/MPF.Core/SubmissionInfoTool.cs @@ -83,7 +83,7 @@ namespace MPF.Core SubmissionInfo info = CreateDefaultSubmissionInfo(system, mediaType, options.AddPlaceholders); // Get specific tool output handling - processor?.GenerateSubmissionInfo(info, combinedBase, drive, options.EnableRedumpCompatibility); + processor?.GenerateSubmissionInfo(info, combinedBase, drive, options.EnableRedumpCompatibility); if (options.IncludeArtifacts) processor?.GenerateArtifacts(info, combinedBase); @@ -673,6 +673,23 @@ namespace MPF.Core info.CommonDiscInfo!.EXEDateBuildDate ??= options.AddPlaceholders ? RequiredValue : string.Empty; break; + case RedumpSystem.KonamiPython2: + if (drive?.Name != null + && (!info.CommonDiscInfo!.CommentsSpecialFields!.ContainsKey(SiteCode.InternalSerialName) + || string.IsNullOrEmpty(info.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName]))) + { + if (InfoTool.GetPlayStationExecutableInfo(drive.Name, out var serial, out Region? region, out var date)) + { + info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = serial ?? string.Empty; + info.CommonDiscInfo.Region ??= region; + info.CommonDiscInfo.EXEDateBuildDate ??= date; + } + + info.VersionAndEditions!.Version ??= InfoTool.GetPlayStation2Version(drive?.Name) ?? string.Empty; + } + + break; + case RedumpSystem.KonamiSystemGV: info.CommonDiscInfo!.EXEDateBuildDate ??= options.AddPlaceholders ? RequiredValue : string.Empty; break; @@ -766,7 +783,18 @@ namespace MPF.Core break; case RedumpSystem.SonyPlayStation: - // Only check the disc if the dumping program couldn't detect + if (drive?.Name != null + && (!info.CommonDiscInfo!.CommentsSpecialFields!.ContainsKey(SiteCode.InternalSerialName) + || string.IsNullOrEmpty(info.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName]))) + { + if (InfoTool.GetPlayStationExecutableInfo(drive.Name, out var serial, out Region? region, out var date)) + { + info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = serial ?? string.Empty; + info.CommonDiscInfo.Region ??= region; + info.CommonDiscInfo.EXEDateBuildDate ??= date; + } + } + if (drive != null && info.CopyProtection!.AntiModchip == YesNo.NULL) { resultProgress?.Report(Result.Success("Checking for anti-modchip strings... this might take a while!")); @@ -778,11 +806,60 @@ namespace MPF.Core case RedumpSystem.SonyPlayStation2: info.CommonDiscInfo!.LanguageSelection ??= []; + + if (drive?.Name != null + && (!info.CommonDiscInfo!.CommentsSpecialFields!.ContainsKey(SiteCode.InternalSerialName) + || string.IsNullOrEmpty(info.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName]))) + { + if (InfoTool.GetPlayStationExecutableInfo(drive.Name, out var serial, out Region? region, out var date)) + { + info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = serial ?? string.Empty; + info.CommonDiscInfo.Region ??= region; + info.CommonDiscInfo.EXEDateBuildDate ??= date; + } + + info.VersionAndEditions!.Version ??= InfoTool.GetPlayStation2Version(drive?.Name) ?? string.Empty; + } + break; case RedumpSystem.SonyPlayStation3: info.Extras!.DiscKey ??= options.AddPlaceholders ? RequiredValue : string.Empty; info.Extras.DiscID ??= options.AddPlaceholders ? RequiredValue : string.Empty; + + if (drive?.Name != null + && (!info.CommonDiscInfo!.CommentsSpecialFields!.ContainsKey(SiteCode.InternalSerialName) + || string.IsNullOrEmpty(info.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName]))) + { + info.VersionAndEditions!.Version ??= InfoTool.GetPlayStation3Version(drive.Name) ?? string.Empty; + info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation3Serial(drive.Name) ?? string.Empty; + string? firmwareVersion = InfoTool.GetPlayStation3FirmwareVersion(drive.Name); + if (firmwareVersion != null) + info.CommonDiscInfo!.ContentsSpecialFields![SiteCode.Patches] ??= $"PS3 Firmware {firmwareVersion}"; + } + + break; + + case RedumpSystem.SonyPlayStation4: + if (drive?.Name != null + && (!info.CommonDiscInfo!.CommentsSpecialFields!.ContainsKey(SiteCode.InternalSerialName) + || string.IsNullOrEmpty(info.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName]))) + { + info.VersionAndEditions!.Version ??= InfoTool.GetPlayStation4Version(drive.Name) ?? string.Empty; + info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation4Serial(drive.Name) ?? string.Empty; + } + + break; + + case RedumpSystem.SonyPlayStation5: + if (drive?.Name != null + && (!info.CommonDiscInfo!.CommentsSpecialFields!.ContainsKey(SiteCode.InternalSerialName) + || string.IsNullOrEmpty(info.CommonDiscInfo.CommentsSpecialFields[SiteCode.InternalSerialName]))) + { + info.VersionAndEditions!.Version ??= InfoTool.GetPlayStation5Version(drive.Name) ?? string.Empty; + info.CommonDiscInfo!.CommentsSpecialFields![SiteCode.InternalSerialName] = InfoTool.GetPlayStation5Serial(drive.Name) ?? string.Empty; + } + break; case RedumpSystem.TomyKissSite: