From 35bb1d0c93c34e530db288969371e513462acd05 Mon Sep 17 00:00:00 2001 From: Asnivor Date: Tue, 6 Mar 2018 16:40:25 +0000 Subject: [PATCH] Fixed default keys and also fixed a major syncsettings snafu --- Assets/defctrl.json | 4 +++- .../BizHawk.Emulation.Cores.csproj | 2 +- .../Input/StandardKeyboard.cs} | 10 +++++----- .../Machine/SpectrumBase.Input.cs | 2 -- .../Machine/ZXSpectrum128K/ZX128.cs | 2 +- .../Machine/ZXSpectrum128KPlus3/ZX128Plus3.cs | 2 +- .../Machine/ZXSpectrum48K/ZX48.cs | 2 +- .../Computers/SinclairSpectrum/ZXSpectrum.cs | 15 ++++++++++----- 8 files changed, 22 insertions(+), 17 deletions(-) rename BizHawk.Emulation.Cores/Computers/SinclairSpectrum/{Machine/ZXSpectrum48K/ZX48.Keyboard.cs => Hardware/Input/StandardKeyboard.cs} (98%) diff --git a/Assets/defctrl.json b/Assets/defctrl.json index 631e0af74b..c2bb94b42b 100644 --- a/Assets/defctrl.json +++ b/Assets/defctrl.json @@ -530,7 +530,9 @@ "Record Tape": "", "Key Quote": "Shift+D2", "Insert Next Tape": "F6", - "Insert Previous Tape": "F5" + "Insert Previous Tape": "F5", + "Next Tape Block": "F8", + "Prev Tape Block": "F7" }, "Intellivision Controller": { "P1 Up": "UpArrow, J1 POV1U, X1 DpadUp, X1 LStickUp", diff --git a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj index e9bc4d2bac..b81298264b 100644 --- a/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj +++ b/BizHawk.Emulation.Cores/BizHawk.Emulation.Cores.csproj @@ -1381,7 +1381,7 @@ - + diff --git a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.Keyboard.cs b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Hardware/Input/StandardKeyboard.cs similarity index 98% rename from BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.Keyboard.cs rename to BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Hardware/Input/StandardKeyboard.cs index c51dbe60a3..2df804efec 100644 --- a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.Keyboard.cs +++ b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Hardware/Input/StandardKeyboard.cs @@ -10,7 +10,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum /// /// The 48k keyboard device /// - public class Keyboard48 : IKeyboard + public class StandardKeyboard : IKeyboard { public SpectrumBase _machine { get; set; } private byte[] LineStatus; @@ -43,7 +43,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum set { _nonMatrixKeys = value; } } - public Keyboard48(SpectrumBase machine) + public StandardKeyboard(SpectrumBase machine) { _machine = machine; @@ -68,13 +68,13 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum }; var nonMatrix = new List(); - /* - foreach (var key in ZXSpectrum.ZXSpectrumControllerDefinition.BoolButtons) + + foreach (var key in _machine.Spectrum.ZXSpectrumControllerDefinition.BoolButtons) { if (!KeyboardMatrix.Any(s => s == key)) nonMatrix.Add(key); } - */ + NonMatrixKeys = nonMatrix.ToArray(); LineStatus = new byte[8]; diff --git a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/SpectrumBase.Input.cs b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/SpectrumBase.Input.cs index 8a30b68040..7aee74e07a 100644 --- a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/SpectrumBase.Input.cs +++ b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/SpectrumBase.Input.cs @@ -40,7 +40,6 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum } // non matrix keys - /* foreach (string k in KeyboardDevice.NonMatrixKeys) { if (!k.StartsWith("Key")) @@ -50,7 +49,6 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum KeyboardDevice.SetKeyStatus(k, currState); } - */ // J1 foreach (string j in JoystickCollection[0].ButtonCollection) diff --git a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128K/ZX128.cs b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128K/ZX128.cs index eaab39cb1d..1eb5b96a14 100644 --- a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128K/ZX128.cs +++ b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128K/ZX128.cs @@ -37,7 +37,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum AYDevice = new AY38912(); AYDevice.Init(44100, ULADevice.FrameLength); - KeyboardDevice = new Keyboard48(this); + KeyboardDevice = new StandardKeyboard(this); InitJoysticks(joysticks); //KempstonDevice = new KempstonJoystick(this); diff --git a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.cs b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.cs index 796f06e1db..1bc487dd78 100644 --- a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.cs +++ b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum128KPlus3/ZX128Plus3.cs @@ -37,7 +37,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum AYDevice = new AY38912(); AYDevice.Init(44100, ULADevice.FrameLength); - KeyboardDevice = new Keyboard48(this); + KeyboardDevice = new StandardKeyboard(this); InitJoysticks(joysticks); //KempstonDevice = new KempstonJoystick(this); diff --git a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.cs b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.cs index 4aedb37344..3affcf59b1 100644 --- a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.cs +++ b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/Machine/ZXSpectrum48K/ZX48.cs @@ -28,7 +28,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum BuzzerDevice = new Buzzer(this); BuzzerDevice.Init(44100, ULADevice.FrameLength); - KeyboardDevice = new Keyboard48(this); + KeyboardDevice = new StandardKeyboard(this); InitJoysticks(joysticks); diff --git a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.cs b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.cs index fe9520b245..3491c4a60c 100644 --- a/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.cs +++ b/BizHawk.Emulation.Cores/Computers/SinclairSpectrum/ZXSpectrum.cs @@ -20,10 +20,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum { [CoreConstructor("ZXSpectrum")] public ZXSpectrum(CoreComm comm, IEnumerable files, List game, object settings, object syncSettings) - { - PutSyncSettings((ZXSpectrumSyncSettings)syncSettings ?? new ZXSpectrumSyncSettings()); - PutSettings((ZXSpectrumSettings)settings ?? new ZXSpectrumSettings()); - + { var ser = new BasicServiceProvider(this); ServiceProvider = ser; InputCallbacks = new InputCallbackSystem(); @@ -39,7 +36,15 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum //_file = file; _files = files?.ToList() ?? new List(); - List joysticks = new List(); + if (settings == null) + settings = new ZXSpectrumSettings(); + if (syncSettings == null) + syncSettings = new ZXSpectrumSyncSettings(); + + PutSyncSettings((ZXSpectrumSyncSettings)syncSettings ?? new ZXSpectrumSyncSettings()); + PutSettings((ZXSpectrumSettings)settings ?? new ZXSpectrumSettings()); + + List joysticks = new List(); joysticks.Add(((ZXSpectrumSyncSettings)syncSettings as ZXSpectrumSyncSettings).JoystickType1); joysticks.Add(((ZXSpectrumSyncSettings)syncSettings as ZXSpectrumSyncSettings).JoystickType2); joysticks.Add(((ZXSpectrumSyncSettings)syncSettings as ZXSpectrumSyncSettings).JoystickType3);