X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=x6502.h;h=83adca0953f8a3cc51422694b86a6f270dab8827;hp=3216d50f984152d8890574af723dae27c82344a5;hb=c4980f9edd806014286d57aee1cbe5e73b803e46;hpb=8fa5eb3371d902b8d58dba6e6bf62726d7ed8dbc diff --git a/x6502.h b/x6502.h index 3216d50..83adca0 100644 --- a/x6502.h +++ b/x6502.h @@ -52,6 +52,8 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a); #define FCEU_IQDPCM 0x10 #define FCEU_IQFCOUNT 0x20 #define FCEU_IQTEMP 0x80 +// from 0.98.15 +#define FCEU_IQEXT2 0x02 #if defined(DEBUG_ASM_6502) #define TriggerIRQ TriggerIRQ_d @@ -64,6 +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() g_cnt #define X6502_C #define X6502_A #define X6502_D @@ -75,9 +78,12 @@ 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 #define X6502_Run(c) \ @@ -103,6 +109,7 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a); #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) \ @@ -117,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);