diff --git a/BizHawk.Emulation/Computers/Commodore64/C64.cs b/BizHawk.Emulation/Computers/Commodore64/C64.cs index 4464717ade..9b4d02cfc2 100644 --- a/BizHawk.Emulation/Computers/Commodore64/C64.cs +++ b/BizHawk.Emulation/Computers/Commodore64/C64.cs @@ -17,6 +17,7 @@ namespace BizHawk.Emulation.Computers.Commodore64 CoreOutputComm = new CoreOutputComm(); CoreInputComm = new CoreInputComm(); Init(Region.PAL); + CoreOutputComm.UsesDriveLed = true; } // internal variables @@ -132,6 +133,8 @@ namespace BizHawk.Emulation.Computers.Commodore64 { LagCount++; } + + CoreOutputComm.DriveLED = DriveLED; } public byte[] SaveStateBinary() diff --git a/BizHawk.Emulation/Interfaces/CoreComms.cs b/BizHawk.Emulation/Interfaces/CoreComms.cs index 7400bf9b42..debf42c35d 100644 --- a/BizHawk.Emulation/Interfaces/CoreComms.cs +++ b/BizHawk.Emulation/Interfaces/CoreComms.cs @@ -55,6 +55,9 @@ namespace BizHawk public bool CpuTraceAvailable = false; public string TraceHeader = "Instructions"; + + public bool DriveLED = false; + public bool UsesDriveLed = false; } public class TraceBuffer diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index d3e0d14476..e497132f1f 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -4530,13 +4530,13 @@ namespace BizHawk.MultiClient { if (StatusSlot0.Visible) { - if (Global.Emulator is C64) + if (Global.Emulator.CoreOutputComm.UsesDriveLed) { if (!StatusBarLedLight.Visible) { StatusBarLedLight.Visible = true; } - if ((Global.Emulator as C64).DriveLED) + if (Global.Emulator.CoreOutputComm.DriveLED) { StatusBarLedLight.Image = BizHawk.MultiClient.Properties.Resources.LightOn; }