From 01bea49ee054a66f17a076e832b121cd6ebdbccc Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Thu, 30 May 2024 06:51:36 +1000 Subject: [PATCH] Misc. refactors, reverting some code style "fixes" --- .../AVOut/SynclessRecordingTools.cs | 11 ++++------- src/BizHawk.Client.EmuHawk/ArchiveChooser.cs | 2 +- src/BizHawk.Client.EmuHawk/Input/Input.cs | 4 +++- .../RetroAchievements.GameVerification.cs | 2 +- src/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs | 2 +- .../config/GB/ColorChooserForm.cs | 4 +++- .../config/GB/SameBoyColorChooserForm.cs | 4 +++- .../debug/FirmwareAutopatchDebugToolForm.cs | 2 +- src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs | 2 +- .../tools/HexEditor/HexEditor.cs | 5 +---- src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs | 6 +++--- .../tools/Macros/MacroInput.ButtonSelect.cs | 5 +---- src/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs | 6 +++--- .../tools/TAStudio/PatternsForm.cs | 4 ++-- .../tools/TAStudio/TAStudio.ListView.cs | 4 ++-- .../tools/TAStudio/TAStudio.MenuItems.cs | 4 ++-- src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs | 9 ++++----- src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs | 2 +- src/BizHawk.Common/Log.cs | 4 +++- .../CPUs/HuC6280/HuC6280_CDL.cs | 2 +- .../Computers/Commodore64/Media/G64.cs | 3 +-- .../Machine/Pentagon128K/Pentagon128.Port.cs | 5 ++--- .../Machine/ZXSpectrum128K/ZX128.Port.cs | 11 +++-------- .../Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs | 11 +++-------- .../Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs | 9 ++------- .../Machine/ZXSpectrum48K/ZX48.Port.cs | 7 +------ 26 files changed, 53 insertions(+), 77 deletions(-) diff --git a/src/BizHawk.Client.EmuHawk/AVOut/SynclessRecordingTools.cs b/src/BizHawk.Client.EmuHawk/AVOut/SynclessRecordingTools.cs index 4908031195..2df725290b 100644 --- a/src/BizHawk.Client.EmuHawk/AVOut/SynclessRecordingTools.cs +++ b/src/BizHawk.Client.EmuHawk/AVOut/SynclessRecordingTools.cs @@ -6,6 +6,7 @@ using System.Windows.Forms; using BizHawk.Bizware.Graphics; using BizHawk.Client.Common; +using BizHawk.Common.StringExtensions; using BizHawk.Emulation.Common; namespace BizHawk.Client.EmuHawk @@ -50,13 +51,9 @@ namespace BizHawk.Client.EmuHawk string framesDir = ""; foreach (var line in lines) { - int idx = line.IndexOf('='); - string key = line[..idx]; - string value = line[(idx + 1)..]; - if (key == "framesdir") - { - framesDir = value; - } + const string KEY = "framesdir="; + if (line.StartsWithOrdinal(KEY)) framesDir = line.Substring(startIndex: KEY.Length); + // and continue } _mFramesDirectory = Path.Combine(Path.GetDirectoryName(Path.GetFullPath(_mSynclessConfigFile)), framesDir); diff --git a/src/BizHawk.Client.EmuHawk/ArchiveChooser.cs b/src/BizHawk.Client.EmuHawk/ArchiveChooser.cs index 16cda64e09..b965338dd3 100644 --- a/src/BizHawk.Client.EmuHawk/ArchiveChooser.cs +++ b/src/BizHawk.Client.EmuHawk/ArchiveChooser.cs @@ -136,7 +136,7 @@ namespace BizHawk.Client.EmuHawk catch (ArgumentException ex) { string errMsg = ex.Message; - errMsg = errMsg[(errMsg.IndexOf('-') + 2)..]; + errMsg = errMsg.Substring(startIndex: errMsg.IndexOf('-') + 2); // Balloon is bugged on first invocation _errorBalloon.Show($"Error parsing RegEx: {errMsg}", tb); diff --git a/src/BizHawk.Client.EmuHawk/Input/Input.cs b/src/BizHawk.Client.EmuHawk/Input/Input.cs index 223fd1eaf4..e90c295563 100644 --- a/src/BizHawk.Client.EmuHawk/Input/Input.cs +++ b/src/BizHawk.Client.EmuHawk/Input/Input.cs @@ -27,7 +27,9 @@ namespace BizHawk.Client.EmuHawk private readonly HashSet _wantingMouseFocus = new HashSet(); - public static Input Instance { get; set; } +#pragma warning disable CA2211 // public field + public static Input Instance; +#pragma warning restore CA2211 private readonly Thread _updateThread; diff --git a/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.GameVerification.cs b/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.GameVerification.cs index dc3986945a..606848a3ca 100644 --- a/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.GameVerification.cs +++ b/src/BizHawk.Client.EmuHawk/RetroAchievements/RetroAchievements.GameVerification.cs @@ -124,7 +124,7 @@ namespace BizHawk.Client.EmuHawk // end of the path has ; var end = exePath.IndexOf(';'); if (end < 0) break; - exePath = exePath[index..end]; + exePath = exePath.Substring(startIndex: index, length: end - index); } buffer.AddRange(Encoding.ASCII.GetBytes(exePath)); diff --git a/src/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs b/src/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs index 4cdc019e29..09dd61baf6 100644 --- a/src/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs +++ b/src/BizHawk.Client.EmuHawk/config/FirmwaresConfig.cs @@ -184,7 +184,7 @@ namespace BizHawk.Client.EmuHawk lvFirmwares.Groups.Add( key: sysID, headerText: SystemGroupNames.TryGetValue(sysID, out var name) ? name : "FIX ME (FirmwaresConfig.cs)"); - return lvFirmwares.Groups[^1]; + return lvFirmwares.Groups[lvFirmwares.Groups.Count - 1]; } // we'll use this font for displaying the hash, so they don't look all jagged in a long list diff --git a/src/BizHawk.Client.EmuHawk/config/GB/ColorChooserForm.cs b/src/BizHawk.Client.EmuHawk/config/GB/ColorChooserForm.cs index 4be0c56dd7..6f3494b887 100644 --- a/src/BizHawk.Client.EmuHawk/config/GB/ColorChooserForm.cs +++ b/src/BizHawk.Client.EmuHawk/config/GB/ColorChooserForm.cs @@ -192,7 +192,9 @@ namespace BizHawk.Client.EmuHawk try { - lines.Add(line[..i], int.Parse(line[(i + 1)..])); + lines.Add( + line.Substring(startIndex: 0, length: i), + int.Parse(line.Substring(startIndex: i + 1))); } catch (FormatException) { diff --git a/src/BizHawk.Client.EmuHawk/config/GB/SameBoyColorChooserForm.cs b/src/BizHawk.Client.EmuHawk/config/GB/SameBoyColorChooserForm.cs index 7f9c775af9..99e620b0b8 100644 --- a/src/BizHawk.Client.EmuHawk/config/GB/SameBoyColorChooserForm.cs +++ b/src/BizHawk.Client.EmuHawk/config/GB/SameBoyColorChooserForm.cs @@ -162,7 +162,9 @@ namespace BizHawk.Client.EmuHawk try { - lines.Add(line[..i], int.Parse(line[(i + 1)..])); + lines.Add( + line.Substring(startIndex: 0, length: i), + int.Parse(line.Substring(startIndex: i + 1))); } catch (FormatException) { diff --git a/src/BizHawk.Client.EmuHawk/debug/FirmwareAutopatchDebugToolForm.cs b/src/BizHawk.Client.EmuHawk/debug/FirmwareAutopatchDebugToolForm.cs index 3768ab1f40..b2febabbdb 100644 --- a/src/BizHawk.Client.EmuHawk/debug/FirmwareAutopatchDebugToolForm.cs +++ b/src/BizHawk.Client.EmuHawk/debug/FirmwareAutopatchDebugToolForm.cs @@ -23,7 +23,7 @@ namespace BizHawk.Client.EmuHawk.ForDebugging public FirmwareAutopatchDebugToolForm() { static string LabelFragment(string hash) - => $"{hash[..8]}... {FirmwareDatabase.FirmwareFilesByHash[hash].RecommendedName}"; + => $"{hash.Substring(startIndex: 0, length: 8)}... {FirmwareDatabase.FirmwareFilesByHash[hash].RecommendedName}"; List<(string Label, FirmwarePatchOption PatchOption)> patches = FirmwareDatabase.AllPatches .Select(static fpo => ($"{LabelFragment(fpo.BaseHash)} --> {LabelFragment(fpo.TargetHash)}", fpo)).ToList(); patches.Sort(static (a, b) => string.CompareOrdinal(a.Label, b.Label)); diff --git a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs index 65ca4877e5..66c4f96953 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Cheats/Cheats.cs @@ -451,7 +451,7 @@ namespace BizHawk.Client.EmuHawk { var indices = SelectedIndices.ToList(); if (indices.Count == 0 - || indices[^1] == MainForm.CheatList.Count - 1) // at end already + || indices[indices.Count - 1] == MainForm.CheatList.Count - 1) // at end already { return; } diff --git a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs index 55862239be..34fba8ef9c 100644 --- a/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs +++ b/src/BizHawk.Client.EmuHawk/tools/HexEditor/HexEditor.cs @@ -1395,10 +1395,7 @@ namespace BizHawk.Client.EmuHawk } // and add HighlightedAddress if present - if (_highlightedAddress.HasValue) - { - addresses[^1] = _highlightedAddress.Value; - } + if (_highlightedAddress is long l) addresses[addresses.Length - 1] = l; // these need to be sorted. it's not just for HighlightedAddress, _secondaryHighlightedAddresses can even be jumbled Array.Sort(addresses); diff --git a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs index d7d0c29e3a..e234beb56b 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs @@ -386,7 +386,7 @@ namespace BizHawk.Client.EmuHawk { while (LuaImp.ScriptList.Count > 0) { - RemoveLuaFile(LuaImp.ScriptList[^1]); + RemoveLuaFile(LuaImp.ScriptList[LuaImp.ScriptList.Count - 1]); } } @@ -1028,7 +1028,7 @@ namespace BizHawk.Client.EmuHawk { var indices = LuaListView.SelectedRows.ToList(); if (indices.Count == 0 - || indices[^1] == LuaImp.ScriptList.Count - 1) // at end already + || indices[indices.Count - 1] == LuaImp.ScriptList.Count - 1) // at end already { return; } @@ -1333,7 +1333,7 @@ namespace BizHawk.Client.EmuHawk var split = words[0].Split(Path.DirectorySeparatorChar); luaListTemp.Add(LuaImp.ScriptList[i]); - luaListTemp[i].Name = split[^1]; + luaListTemp[i].Name = split[split.Length - 1]; } // Script, Path diff --git a/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.ButtonSelect.cs b/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.ButtonSelect.cs index dc5beeaabd..14482020a4 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.ButtonSelect.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Macros/MacroInput.ButtonSelect.cs @@ -58,10 +58,7 @@ namespace BizHawk.Client.EmuHawk key = key.Replace($"{box.Text}|", ""); } } - - key = key[..^1]; - - SelectedZone.InputKey = key; + SelectedZone.InputKey = key.Substring(startIndex: 0, length: key.Length - 1); // drop final char } private void PositionBoxes() diff --git a/src/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs b/src/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs index 6dc2f0b581..0a3cc1fb0f 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Macros/MovieZone.cs @@ -28,7 +28,7 @@ namespace BizHawk.Client.EmuHawk } key = key.Replace("LogKey:", "").Replace("#", ""); - key = key[..^1]; + key = key.Substring(startIndex: 0, length: key.Length - 1); // drop last char _inputKey = key; Length = length; @@ -41,7 +41,7 @@ namespace BizHawk.Client.EmuHawk logGenerator.GenerateLogEntry(); // Reference and create all buttons. string movieKey = logGenerator.GenerateLogKey().Replace("LogKey:", "").Replace("#", ""); - movieKey = movieKey[..^1]; + movieKey = movieKey.Substring(startIndex: 0, length: movieKey.Length - 1); // drop last char if (key == movieKey) { for (int i = 0; i < length; i++) @@ -239,7 +239,7 @@ namespace BizHawk.Client.EmuHawk var lg = _movieSession.Movie.LogGeneratorInstance(_movieSession.MovieController); string key = lg.GenerateLogKey(); key = key.Replace("LogKey:", "").Replace("#", ""); - key = key[..^1]; + key = key.Substring(startIndex: 0, length: key.Length - 1); // drop last char string[] emuKeys = key.Split('|'); string[] macroKeys = _inputKey.Split('|'); foreach (var macro in macroKeys) diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/PatternsForm.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/PatternsForm.cs index 3d992848ce..e1e4e74cc3 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/PatternsForm.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/PatternsForm.cs @@ -302,7 +302,7 @@ namespace BizHawk.Client.EmuHawk { if (p[i] == lastValue) { - _counts[^1]++; + _counts[_counts.Count - 1]++; } else { @@ -335,7 +335,7 @@ namespace BizHawk.Client.EmuHawk { if (p[i] == lastValue) { - _counts[^1]++; + _counts[_counts.Count - 1]++; } else { diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs index 8e61f51317..b559077a9a 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.ListView.cs @@ -1313,7 +1313,7 @@ namespace BizHawk.Client.EmuHawk else if (e.KeyCode == Keys.OemMinus || e.KeyCode == Keys.Subtract) { _axisTypedValue = _axisTypedValue.StartsWith('-') - ? _axisTypedValue[1..] + ? _axisTypedValue.Substring(startIndex: 1) : $"-{_axisTypedValue}"; } else if (e.KeyCode == Keys.Back) @@ -1323,7 +1323,7 @@ namespace BizHawk.Client.EmuHawk _axisTypedValue = value.ToString(NumberFormatInfo.InvariantInfo); } - _axisTypedValue = _axisTypedValue[..^1]; + _axisTypedValue = _axisTypedValue.Substring(startIndex: 0, length: _axisTypedValue.Length - 1); // drop last char if (_axisTypedValue == "" || _axisTypedValue == "-") { value = 0f; diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs index ea28187008..f67a67c111 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.MenuItems.cs @@ -468,7 +468,7 @@ namespace BizHawk.Client.EmuHawk { _tasClipboard.Clear(); int linesToPaste = lines.Length; - if (lines[^1] == "") linesToPaste--; + if (lines[lines.Length - 1].Length is 0) linesToPaste--; for (int i = 0; i < linesToPaste; i++) { var line = ControllerFromMnemonicStr(lines[i]); @@ -510,7 +510,7 @@ namespace BizHawk.Client.EmuHawk { _tasClipboard.Clear(); int linesToPaste = lines.Length; - if (lines[^1] == "") linesToPaste--; + if (lines[lines.Length - 1].Length is 0) linesToPaste--; for (int i = 0; i < linesToPaste; i++) { var line = ControllerFromMnemonicStr(lines[i]); diff --git a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs index 6d92f56d58..f61f20a2c4 100644 --- a/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs +++ b/src/BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs @@ -449,17 +449,16 @@ namespace BizHawk.Client.EmuHawk BoolPatterns[i] = new AutoPatternBool(1, 1); } - BoolPatterns[^2] = new AutoPatternBool(1, 0); - BoolPatterns[^1] = new AutoPatternBool( - Config.AutofireOn, Config.AutofireOff); + BoolPatterns[BoolPatterns.Length - 2] = new(1, 0); + BoolPatterns[BoolPatterns.Length - 1] = new(Config.AutofireOn, Config.AutofireOff); for (int i = fStart; i < AxisPatterns.Length - 2; i++) { AxisPatterns[i] = new AutoPatternAxis(new[] { 1 }); } - AxisPatterns[^2] = new AutoPatternAxis(new[] { 1 }); - AxisPatterns[^1] = new AutoPatternAxis(1, Config.AutofireOn, 0, Config.AutofireOff); + AxisPatterns[AxisPatterns.Length - 2] = new([ 1 ]); + AxisPatterns[AxisPatterns.Length - 1] = new(1, Config.AutofireOn, 0, Config.AutofireOff); SetUpToolStripColumns(); } diff --git a/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs b/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs index 27db88bdb2..f32ed25daf 100644 --- a/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs +++ b/src/BizHawk.Client.EmuHawk/tools/Watch/RamWatch.cs @@ -928,7 +928,7 @@ namespace BizHawk.Client.EmuHawk { var indices = SelectedIndices.ToList(); if (indices.Count == 0 - || indices[^1] == _watches.Count - 1) // at end already + || indices[indices.Count - 1] == _watches.Count - 1) // at end already { return; } diff --git a/src/BizHawk.Common/Log.cs b/src/BizHawk.Common/Log.cs index 69ba5628fb..795204d5d7 100644 --- a/src/BizHawk.Common/Log.cs +++ b/src/BizHawk.Common/Log.cs @@ -39,7 +39,9 @@ namespace BizHawk.Common } // -------------- Logging Action Configuration -------------- - public static readonly Action LogAction = DefaultLogger; +#pragma warning disable CA2211 // public field + public static Action LogAction = DefaultLogger; +#pragma warning restore CA2211 // NOTEs are only logged if the domain is enabled. // ERRORs are logged regardless. diff --git a/src/BizHawk.Emulation.Cores/CPUs/HuC6280/HuC6280_CDL.cs b/src/BizHawk.Emulation.Cores/CPUs/HuC6280/HuC6280_CDL.cs index 98601be50b..b87e482e69 100644 --- a/src/BizHawk.Emulation.Cores/CPUs/HuC6280/HuC6280_CDL.cs +++ b/src/BizHawk.Emulation.Cores/CPUs/HuC6280/HuC6280_CDL.cs @@ -24,7 +24,7 @@ namespace BizHawk.Emulation.Cores.Components.H6280 { string dis = DisassembleExt( 0, - out int unused, + out _, addr => md.PeekByte(addr + i), addr => md.PeekUshort(addr + i, bigEndian: false)); w.WriteLine("0x{0:x8}: {1}", i, dis); diff --git a/src/BizHawk.Emulation.Cores/Computers/Commodore64/Media/G64.cs b/src/BizHawk.Emulation.Cores/Computers/Commodore64/Media/G64.cs index ae875049ab..03d72df42b 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Commodore64/Media/G64.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Commodore64/Media/G64.cs @@ -100,9 +100,8 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.Media offsets.Add((int)trackMem.Length); densities.Add(trackDensities[trackIndex]); - var data = trackData[trackIndex]; var buffer = Enumerable.Repeat(dataFillerValue, trackMaxLength).ToArray(); - var dataBytes = data.Select(d => unchecked(d)).ToArray(); + var dataBytes = trackData[trackIndex]; Array.Copy(dataBytes, buffer, dataBytes.Length); trackMemWriter.Write((ushort)dataBytes.Length); trackMemWriter.Write(buffer); diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/Pentagon128K/Pentagon128.Port.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/Pentagon128K/Pentagon128.Port.cs index a51cb3e202..d25763aee2 100644 --- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/Pentagon128K/Pentagon128.Port.cs +++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/Pentagon128K/Pentagon128.Port.cs @@ -46,9 +46,8 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum // if this is detected just return the kempston byte if (lowByte == 0x1f) { - if (LocateUniqueJoystick(JoystickType.Kempston) != null) - return (byte)((KempstonJoystick)LocateUniqueJoystick(JoystickType.Kempston)).JoyLine; - + //TODO lines swapped? + if (LocateUniqueJoystick(JoystickType.Kempston) is KempstonJoystick j) return (byte) j.JoyLine; InputRead = true; } else diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128K/ZX128.Port.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128K/ZX128.Port.cs index b5329eaa6a..0adb339064 100644 --- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128K/ZX128.Port.cs +++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128K/ZX128.Port.cs @@ -46,14 +46,9 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum // if this is detected just return the kempston byte if (lowByte == 0x1f) { - if (LocateUniqueJoystick(JoystickType.Kempston) != null) - { - InputRead = true; - return (byte)((KempstonJoystick)LocateUniqueJoystick(JoystickType.Kempston)).JoyLine; - } - - InputRead = true; - } + InputRead = true; + if (LocateUniqueJoystick(JoystickType.Kempston) is KempstonJoystick j) return (byte) j.JoyLine; + } else { if (KeyboardDevice.ReadPort(port, ref result)) diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs index 6301e8ee43..22026d87ba 100644 --- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs +++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus2a/ZX128Plus2a.Port.cs @@ -27,14 +27,9 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum // if this is detected just return the kempston byte if (lowByte == 0x1f) { - if (LocateUniqueJoystick(JoystickType.Kempston) != null) - { - InputRead = true; - return (byte)((KempstonJoystick)LocateUniqueJoystick(JoystickType.Kempston)).JoyLine; - } - - InputRead = true; - } + InputRead = true; + if (LocateUniqueJoystick(JoystickType.Kempston) is KempstonJoystick j) return (byte) j.JoyLine; + } else { if (KeyboardDevice.ReadPort(port, ref result)) diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs index 1c1a94ccf0..c610d20674 100644 --- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs +++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.Port.cs @@ -27,13 +27,8 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum // if this is detected just return the kempston byte if (lowByte == 0x1f) { - if (LocateUniqueJoystick(JoystickType.Kempston) != null) - { - InputRead = true; - return (byte)((KempstonJoystick)LocateUniqueJoystick(JoystickType.Kempston)).JoyLine; - } - - InputRead = true; + InputRead = true; + if (LocateUniqueJoystick(JoystickType.Kempston) is KempstonJoystick j) return (byte) j.JoyLine; } else if (UPDDiskDevice.ReadPort(port, ref result)) { diff --git a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.Port.cs b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.Port.cs index 0ef9edc856..702f829ccd 100644 --- a/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.Port.cs +++ b/src/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.Port.cs @@ -22,14 +22,9 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum // if this is detected just return the kempston byte if (lowByte == 0x1f) { - if (LocateUniqueJoystick(JoystickType.Kempston) != null) - { - InputRead = true; - return (byte)((KempstonJoystick)LocateUniqueJoystick(JoystickType.Kempston)).JoyLine; - } - // not a lag frame InputRead = true; + if (LocateUniqueJoystick(JoystickType.Kempston) is KempstonJoystick j) return (byte) j.JoyLine; } // Even ports always address the ULA else if (lowBitReset)