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: