X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=x6502.h;h=1a44b30ca7229240e339132fe6e929f68e1e79ae;hp=9411108ef63d7e23efc53c432e19e7824b7cf459;hb=4fdfab079f3f006ae215ab453072a25588aa951d;hpb=92e249b10ad9e479eddb18974555366dba725ef3 diff --git a/x6502.h b/x6502.h index 9411108..1a44b30 100644 --- a/x6502.h +++ b/x6502.h @@ -63,6 +63,8 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a); #define X6502_AddCycles X6502_AddCycles_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_C #define X6502_A #define X6502_D @@ -76,17 +78,19 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a); #define X6502_AddCycles X6502_AddCycles_a #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); \ } \ } @@ -100,6 +104,8 @@ extern void FP_FASTAPASS(1) (*MapIRQHook)(int a); #define X6502_AddCycles X6502_AddCycles_c #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) \ @@ -138,7 +144,7 @@ void X6502_Power_a(void); void X6502_AddCycles_a(int x); void X6502_IRQBegin_a(int w); void X6502_IRQEnd_a(int w); -void X6502_rebase_a(void); +void X6502_Rebase_a(void); #endif // debug @@ -152,5 +158,6 @@ void X6502_Power_d(void); void X6502_AddCycles_d(int x); void X6502_IRQBegin_d(int w); void X6502_IRQEnd_d(int w); +void X6502_Rebase_d(void); #endif