infoprint, FDS moviefix, alignment bugfixing
[fceu.git] / x6502.h
diff --git a/x6502.h b/x6502.h
index f13bbdd..83adca0 100644 (file)
--- a/x6502.h
+++ b/x6502.h
@@ -66,7 +66,7 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a);
 #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
@@ -78,8 +78,10 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int 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
@@ -122,6 +124,7 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a);
 
 // c
 #ifdef X6502_C
+extern int32 g_cnt;
 void TriggerIRQ_c(void);
 void TriggerNMI_c(void);
 void TriggerNMINSF_c(void);