release r2, update credits
[fceu.git] / x6502.h
diff --git a/x6502.h b/x6502.h
index f13bbdd..31216f4 100644 (file)
--- a/x6502.h
+++ b/x6502.h
@@ -58,7 +58,7 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a);
 #if defined(DEBUG_ASM_6502)
 #define TriggerIRQ TriggerIRQ_d
 #define TriggerNMI TriggerNMI_d
-#define TriggerNMINSF TriggerNMINSF_d
+#define X6502_Init X6502_Init_c
 #define X6502_Run X6502_Run_d
 #define X6502_Reset X6502_Reset_d
 #define X6502_Power X6502_Power_d
@@ -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
@@ -74,12 +74,14 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a);
 #elif defined(ASM_6502)
 #define TriggerIRQ TriggerIRQ_a
 #define TriggerNMI TriggerNMI_a
-#define TriggerNMINSF TriggerNMINSF_a
+#define X6502_Init()
 #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
@@ -93,14 +95,14 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a);
  if (cycles > 0) { \
    X6502_Run_a(); \
    cycles -= (int32)nes_registers[7]>>16; \
-   asmcpu_update(cycles); \
+   FCEU_SoundCPUHook(cycles); \
  } \
 }
 
 #else
 #define TriggerIRQ TriggerIRQ_c
 #define TriggerNMI TriggerNMI_c
-#define TriggerNMINSF TriggerNMINSF_c
+#define X6502_Init X6502_Init_c
 #define X6502_Reset X6502_Reset_c
 #define X6502_Power X6502_Power_c
 #define X6502_AddCycles X6502_AddCycles_c
@@ -124,7 +126,7 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a);
 #ifdef X6502_C
 void TriggerIRQ_c(void);
 void TriggerNMI_c(void);
-void TriggerNMINSF_c(void);
+void X6502_Init_c(void);
 void X6502_Run_c(void);
 void X6502_Reset_c(void);
 void X6502_Power_c(void);
@@ -139,7 +141,6 @@ extern uint32 nes_registers[0x10];
 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);
@@ -151,9 +152,9 @@ void X6502_Rebase_a(void);
 
 // debug
 #ifdef X6502_D
+extern int32 g_cnt;
 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);