BizHawk/BizHawk.Emulation.Cores/CPUs/MC6800/Interrupts.cs

60 lines
1.1 KiB
C#
Raw Normal View History

2019-07-07 00:16:48 +00:00
using System;
namespace BizHawk.Emulation.Common.Components.MC6800
{
public partial class MC6800
{
private void IRQ_()
{
Regs[ADDR] = 0xFFF8;
PopulateCURINSTR(IDLE,
2019-07-07 21:32:14 +00:00
IDLE,
2019-07-07 00:16:48 +00:00
DEC16, SP,
WR_DEC_LO, SP, PC,
WR_DEC_HI, SP, PC,
WR_DEC_LO, SP, X,
WR_DEC_HI, SP, X,
WR_DEC_LO, SP, B,
WR_DEC_LO, SP, A,
WR, SP, CC,
SET_I,
RD_INC, ALU, ADDR,
RD_INC, ALU2, ADDR,
SET_ADDR, PC, ALU, ALU2);
IRQS = 19;
}
private void NMI_()
{
Regs[ADDR] = 0xFFFC;
PopulateCURINSTR(IDLE,
2019-07-07 21:32:14 +00:00
IDLE,
2019-07-07 00:16:48 +00:00
DEC16, SP,
WR_DEC_LO, SP, PC,
WR_DEC_HI, SP, PC,
WR_DEC_LO, SP, X,
WR_DEC_HI, SP, X,
WR_DEC_LO, SP, B,
WR_DEC_LO, SP, A,
WR, SP, CC,
2019-07-07 21:32:14 +00:00
SET_I,
2019-07-07 00:16:48 +00:00
RD_INC, ALU, ADDR,
RD_INC, ALU2, ADDR,
SET_ADDR, PC, ALU, ALU2);
IRQS = 19;
}
public bool NMIPending;
public bool IRQPending;
public Action IRQCallback = delegate () { };
public Action NMICallback = delegate () { };
private void ResetInterrupts()
{
2019-07-07 21:32:14 +00:00
2019-07-07 00:16:48 +00:00
}
}
}