diff --git a/BizHawk.Emulation/Computers/Commodore64/C64.core.cs b/BizHawk.Emulation/Computers/Commodore64/C64.core.cs index e3f1e65470..7718dde930 100644 --- a/BizHawk.Emulation/Computers/Commodore64/C64.core.cs +++ b/BizHawk.Emulation/Computers/Commodore64/C64.core.cs @@ -117,7 +117,8 @@ namespace BizHawk.Emulation.Computers.Commodore64 public bool CiaSerial0 { get { return _CiaSerialInput[0]; } } public bool CiaSerial1 { get { return _CiaSerialInput[1]; } } public bool CpuAEC { get { return _VicAECOutput; } } - public bool CpuIRQ { get { return _VicIRQOutput | _CiaIRQOutput[0] | _CiaIRQOutput[1]; } } + public bool CpuIRQ { get { return _VicIRQOutput | _CiaIRQOutput[0]; } } + public bool CpuNMI { get { return _CiaIRQOutput[1]; } } public bool CpuRDY { get { return _VicBAOutput; } } public bool LPOutput { get { return _VicLPInput; } set { _VicLPInput = value; } } public bool VicAEC { get { return _VicAECOutput; } set { _VicAECOutput = value; } } diff --git a/BizHawk.Emulation/Computers/Commodore64/C64.cs b/BizHawk.Emulation/Computers/Commodore64/C64.cs index fab8d21f7b..38a3b36eca 100644 --- a/BizHawk.Emulation/Computers/Commodore64/C64.cs +++ b/BizHawk.Emulation/Computers/Commodore64/C64.cs @@ -91,10 +91,8 @@ namespace BizHawk.Emulation.Computers.Commodore64 for (int i = 0; i < cyclesPerSecond; i++) { - if (signal.CpuIRQ) - { - cpu.IRQ = true; - } + cpu.IRQ = signal.CpuIRQ; + cpu.NMI = signal.CpuNMI; if (signal.CpuAEC) { cpu.ExecuteOne();