diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawk.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawk.cs index 1c36b13680..5a8c0eb3cc 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawk.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawk.cs @@ -11,8 +11,8 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk "GBHawk", "", isPorted: false, - isReleased: true)] - [ServiceNotApplicable(typeof(ISettable<,>), typeof(IDriveLight))] + isReleased: false)] + [ServiceNotApplicable(typeof(IDriveLight))] public partial class GBHawk : IEmulator, ISaveRam, IDebuggable, IStatable, IInputPollable, IRegionable, ISettable { @@ -87,6 +87,12 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk _controllerDeck = new GBHawkControllerDeck(_syncSettings.Port1); byte[] Bios = comm.CoreFileProvider.GetFirmware("GB", "World", false, "BIOS Not Found, Cannot Load"); + + if (Bios == null) + { + throw new MissingFirmwareException("Missing Gamboy Bios"); + } + _bios = Bios; Buffer.BlockCopy(rom, 0x100, header, 0, 0x50); @@ -108,6 +114,9 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk ser.Register(audio); ServiceProvider = ser; + _settings = (GBSettings)settings ?? new GBSettings(); + _syncSettings = (GBSyncSettings)syncSettings ?? new GBSyncSettings(); + _tracer = new TraceBuffer { Header = cpu.TraceHeader }; ser.Register(_tracer); diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawkControllerDeck.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawkControllerDeck.cs index 1939f1b4c1..684b022ab8 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawkControllerDeck.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawkControllerDeck.cs @@ -23,11 +23,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk { Name = Port1.Definition.Name, BoolButtons = Port1.Definition.BoolButtons - .Concat(new[] - { - "Power", - "Reset", - }) .ToList() }; diff --git a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawkControllers.cs b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawkControllers.cs index e322e4e252..d33a82ac7c 100644 --- a/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawkControllers.cs +++ b/BizHawk.Emulation.Cores/Consoles/Nintendo/GBHawk/GBHawkControllers.cs @@ -22,7 +22,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk int PortNum { get; } } - [DisplayName("Standard controls")] + [DisplayName("Gameboy Controller")] public class StandardControls : IPort { public StandardControls(int portNum) @@ -30,7 +30,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk PortNum = portNum; Definition = new ControllerDefinition { - Name = "Game Boy", + Name = "Gameboy Controller", BoolButtons = BaseDefinition .Select(b => "P" + PortNum + " " + b) .ToList() @@ -57,7 +57,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk private static readonly string[] BaseDefinition = { - "Right", "Left", "Up", "Down", "A", "B", "Select", "Start" + "Up", "Down", "Left", "Right", "Start", "Select", "B", "A", "Power" }; public void SyncState(Serializer ser)