From 3ee035503419552a103be3bc8ba16c755c53c0da Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 18 Jul 2019 10:42:23 -0700 Subject: [PATCH] Add speculative values for VideoNow dumping --- DICUI.Library/Utilities/Parameters.cs | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/DICUI.Library/Utilities/Parameters.cs b/DICUI.Library/Utilities/Parameters.cs index 948e167c..1fb52529 100644 --- a/DICUI.Library/Utilities/Parameters.cs +++ b/DICUI.Library/Utilities/Parameters.cs @@ -93,6 +93,11 @@ namespace DICUI.Utilities /// public int? ForceUnitAccessValue { get; set; } + /// + /// Set the no skip security sector flag value (default 100) + /// + public int? NoSkipSecuritySectorValue { get; set; } + /// /// Set scan file timeout value (default 60) /// @@ -141,6 +146,7 @@ namespace DICUI.Utilities BEOpcodeValue = null; C2OpcodeValue = new int?[4]; ForceUnitAccessValue = null; + NoSkipSecuritySectorValue = null; ScanFileProtectValue = null; SubchannelReadLevelValue = null; VideoNowValue = null; @@ -534,7 +540,11 @@ namespace DICUI.Utilities || Command == DICCommand.XGD3Swap) { if (this[DICFlag.NoSkipSS]) + { parameters.Add(DICFlag.NoSkipSS.LongName()); + if (NoSkipSecuritySectorValue != null) + parameters.Add(NoSkipSecuritySectorValue.ToString()); + } } // Raw read (2064 byte/sector) @@ -1250,8 +1260,22 @@ namespace DICUI.Utilities && parts[0] != DICCommandStrings.XGD2Swap && parts[0] != DICCommandStrings.XGD3Swap) return false; + else if (!DoesExist(parts, i + 1)) + { + this[DICFlag.NoSkipSS] = true; + break; + } + else if (IsFlag(parts[i + 1])) + { + this[DICFlag.NoSkipSS] = true; + break; + } + else if (!IsValidNumber(parts[i + 1], lowerBound: 0)) + return false; this[DICFlag.NoSkipSS] = true; + ForceUnitAccessValue = Int32.Parse(parts[i + 1]); + i++; break; case DICFlagStrings.Raw: @@ -1550,8 +1574,12 @@ namespace DICUI.Utilities case KnownSystem.HasbroVideoNow: case KnownSystem.HasbroVideoNowColor: case KnownSystem.HasbroVideoNowJr: + this[DICFlag.VideoNow] = true; + this.VideoNowValue = 18032; + break; case KnownSystem.HasbroVideoNowXP: this[DICFlag.VideoNow] = true; + this.VideoNowValue = 20832; break; case KnownSystem.NECPCEngineTurboGrafxCD: this[DICFlag.MCN] = true;