#if defined(DEBUG_ASM_6502)
#define TriggerIRQ TriggerIRQ_d
#define TriggerNMI TriggerNMI_d
-#define TriggerNMINSF TriggerNMINSF_d
#define X6502_Run X6502_Run_d
#define X6502_Reset X6502_Reset_d
#define X6502_Power X6502_Power_d
#define X6502_IRQBegin X6502_IRQBegin_d
#define X6502_IRQEnd X6502_IRQEnd_d
#define X6502_Rebase X6502_Rebase_d
-#define X6502_GetCycleCount() 0
+#define X6502_GetCycleCount() g_cnt
#define X6502_C
#define X6502_A
#define X6502_D
#elif defined(ASM_6502)
#define TriggerIRQ TriggerIRQ_a
#define TriggerNMI TriggerNMI_a
-#define TriggerNMINSF TriggerNMINSF_a
#define X6502_Reset X6502_Reset_a
#define X6502_Power X6502_Power_a
#define X6502_AddCycles X6502_AddCycles_a
-#define X6502_IRQBegin X6502_IRQBegin_a
-#define X6502_IRQEnd X6502_IRQEnd_a
+//#define X6502_IRQBegin X6502_IRQBegin_a
+//#define X6502_IRQEnd X6502_IRQEnd_a
+#define X6502_IRQBegin(w) nes_registers[4]|=w<<8
+#define X6502_IRQEnd(w) nes_registers[4]&=~(w<<8)
#define X6502_Rebase X6502_Rebase_a
#define X6502_GetCycleCount() ((int32)nes_registers[7]>>16)
#define X6502_A
#else
#define TriggerIRQ TriggerIRQ_c
#define TriggerNMI TriggerNMI_c
-#define TriggerNMINSF TriggerNMINSF_c
#define X6502_Reset X6502_Reset_c
#define X6502_Power X6502_Power_c
#define X6502_AddCycles X6502_AddCycles_c
// c
#ifdef X6502_C
+extern int32 g_cnt;
void TriggerIRQ_c(void);
void TriggerNMI_c(void);
-void TriggerNMINSF_c(void);
void X6502_Run_c(void);
void X6502_Reset_c(void);
void X6502_Power_c(void);
extern uint32 pc_base;
void TriggerIRQ_a(void);
void TriggerNMI_a(void);
-void TriggerNMINSF_a(void);
void X6502_Run_a(void);
void X6502_Reset_a(void);
void X6502_Power_a(void);
#ifdef X6502_D
void TriggerIRQ_d(void);
void TriggerNMI_d(void);
-void TriggerNMINSF_d(void);
void X6502_Run_d(int32 c);
void X6502_Reset_d(void);
void X6502_Power_d(void);