X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=x6502.c;h=786af607083aae743c42dafd5cca2c675f72b3ac;hp=0d9729de0ec9a793549fc4c6aa255034b7af58b4;hb=a384bf449483e62637ce05a60ff4b06730a19934;hpb=f12b1f316ca070bda860108b4e3901628d1a8398 diff --git a/x6502.c b/x6502.c index 0d9729d..786af60 100644 --- a/x6502.c +++ b/x6502.c @@ -24,6 +24,7 @@ #include "x6502.h" #include "fce.h" #include "sound.h" +#include "sound098.h" #include "cart.h" #include "dprintf.h" @@ -73,7 +74,7 @@ static INLINE uint8 RdMem(unsigned int A) } _DB=_DB1; } - if (A >= 0x2000 && A != _PC && A != _PC - 1 && A != _PC + 1) { + if (A >= 0x2000 && A != _PC - 1) { dreads[dread_count_c++] = _DB1; if (dread_count_c > 4) { printf("dread_count out of range\n"); exit(1); } } @@ -379,6 +380,7 @@ static uint8 ZNTable[256] = { static uint8 CycTable[256] = { +/* 0 1 2 3 4 5 6 7 8 9 a b c d e f */ /*0x00*/ 7,6,2,8,3,3,5,5,3,2,2,2,4,4,6,6, /*0x10*/ 2,5,2,8,4,4,6,6,2,4,2,7,4,4,7,7, /*0x20*/ 6,6,2,8,3,3,5,5,4,2,2,2,4,4,6,6, @@ -414,15 +416,6 @@ void TriggerIRQ_c(void) /* This function should probably be phased out. */ _IRQlow|=FCEU_IQTEMP; } -void TriggerNMINSF_c(void) -{ - ADDCYC(7); - PUSH(_PC>>8); - PUSH(_PC); - PUSH((_P&~B_FLAG)|(U_FLAG)); - _PC=0x3800; -} - void TriggerNMI_c(void) { _IRQlow|=FCEU_IQNMI; @@ -520,10 +513,18 @@ void X6502_Run_c(void/*int32 cycles*/) } } _PI=_P; +#ifdef DEBUG_ASM_6502 + b1=RdMem(_PC++); _PC--; +#else b1=RdMem(_PC); +#endif ADDCYC(CycTable[b1]); temp=_tcount; + if (use098code) + FCEU_SoundCPUHook098(temp); + else + { temp*=48; fhcnt-=temp; @@ -547,6 +548,7 @@ void X6502_Run_c(void/*int32 cycles*/) } } } + } #ifdef DEBUG_ASM_6502 PC_prev = _PC;