#define X6502_IRQBegin X6502_IRQBegin_d
#define X6502_IRQEnd X6502_IRQEnd_d
#define X6502_Rebase X6502_Rebase_d
+#define X6502_GetCycleCount() 0
#define X6502_C
#define X6502_A
#define X6502_D
#define X6502_IRQBegin X6502_IRQBegin_a
#define X6502_IRQEnd X6502_IRQEnd_a
#define X6502_Rebase X6502_Rebase_a
+#define X6502_GetCycleCount() ((int32)nes_registers[7]>>16)
#define X6502_A
#define X6502_Run(c) \
{ \
int32 cycles = (c) << 4; /* *16 */ \
if (PAL) cycles -= (c); /* *15 */ \
- nes_registers[7]+=cycles; \
- if (nes_registers[7] > 0) { \
- cycles = (int32)nes_registers[7]; \
+ nes_registers[7]+=cycles<<16; \
+ cycles=(int32)nes_registers[7]>>16; \
+ if (cycles > 0) { \
X6502_Run_a(); \
- cycles -= (int32)nes_registers[7]; \
+ cycles -= (int32)nes_registers[7]>>16; \
asmcpu_update(cycles); \
} \
}
#define X6502_IRQBegin X6502_IRQBegin_c
#define X6502_IRQEnd X6502_IRQEnd_c
#define X6502_Rebase(...)
+#define X6502_GetCycleCount() X.count
#define X6502_C
#define X6502_Run(c) \