From 739c35c174caeef77bcf36499b1fd87e044e77c8 Mon Sep 17 00:00:00 2001 From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com> Date: Sun, 23 Jul 2023 03:58:46 -0700 Subject: [PATCH] fix #3692 --- .../Consoles/Nintendo/SubGBHawk/SubGBHawk.cs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubGBHawk/SubGBHawk.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubGBHawk/SubGBHawk.cs index f39d1d2b57..9a6c1dbc06 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubGBHawk/SubGBHawk.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/SubGBHawk/SubGBHawk.cs @@ -9,7 +9,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubGBHawk [Core(CoreNames.SubGbHawk, "")] [ServiceNotApplicable(new[] { typeof(IDriveLight) })] public partial class SubGBHawk : IEmulator, IStatable, IInputPollable, - ISettable, IDebuggable, ICycleTiming + ISettable, IDebuggable, ICycleTiming, IGameboyCommon { [CoreConstructor(VSystemID.Raw.GB, Priority = CorePriority.SuperLow)] [CoreConstructor(VSystemID.Raw.GBC, Priority = CorePriority.SuperLow)] @@ -37,15 +37,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubGBHawk ser.Register(_GBCore.ServiceProvider.GetService()); ser.Register(_GBCore.ServiceProvider.GetService()); ser.Register(_GBCore.ServiceProvider.GetService()); - ser.Register(_GBCore.ServiceProvider.GetService()); _tracer = new TraceBuffer(_GBCore.cpu.TraceHeader); ser.Register(_tracer); } - public GBHawk.GBHawk _GBCore; - - // needed for movies to accurately calculate timing + public GBHawk.GBHawk _GBCore; + + // needed for movies to accurately calculate timing private long _cycleCount; public long CycleCount => _cycleCount; @@ -79,5 +78,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubGBHawk public void Step(StepType type) => throw new NotImplementedException(); public long TotalExecutedCycles => _cycleCount; + + public bool IsCGBMode => _GBCore.IsCGBMode; + public bool IsCGBDMGMode => _GBCore.IsCGBDMGMode; + public IGPUMemoryAreas LockGPU() => _GBCore.LockGPU(); + public void SetScanlineCallback(ScanlineCallback callback, int line) + => _GBCore.SetScanlineCallback(callback, line); + public void SetPrinterCallback(PrinterCallback callback) + => _GBCore.SetPrinterCallback(callback); } }