X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=ops.h;h=c5004d80663f4e5428c847c6efd358b4b0503028;hp=cd595cd9c6a4085a923bf6a057d2e567df6375cb;hb=396c448eb538587248ddbf586a90371c71b48183;hpb=8fa5eb3371d902b8d58dba6e6bf62726d7ed8dbc diff --git a/ops.h b/ops.h index cd595cd..c5004d8 100644 --- a/ops.h +++ b/ops.h @@ -57,12 +57,15 @@ case 0x28: /* PLP */ break; case 0x4C: { - uint16 ptmp=_PC; unsigned int npc; - +/* + uint16 ptmp=_PC; npc=RdMem(ptmp); ptmp++; npc|=RdMem(ptmp)<<8; +*/ + npc=RdMem(_PC++); + npc|=RdMem(_PC++)<<8; _PC=npc; } break; /* JMP ABSOLUTE */ @@ -76,12 +79,12 @@ case 0x6C: break; case 0x20: /* JSR */ { - uint8 npc; + uint32 npc; npc=RdMem(_PC++); PUSH(_PC>>8); PUSH(_PC); - _PC=RdMem(_PC)<<8; - _PC|=npc; + npc|=RdMem(_PC++)<<8; + _PC=npc; } break; @@ -346,22 +349,22 @@ case 0xAB: LD_IM(_A|=0xEE;AND;_X=_A); case 0xCB: LD_IM(AXS); /* DCP */ -case 0xC7: LD_ZP(DEC;CMP); -case 0xD7: LD_ZPX(DEC;CMP); -case 0xCF: LD_AB(DEC;CMP); -case 0xDF: LD_ABX(DEC;CMP); -case 0xDB: LD_ABY(DEC;CMP); -case 0xC3: LD_IX(DEC;CMP); -case 0xD3: LD_IY(DEC;CMP); +case 0xC7: RMW_ZP(DEC;CMP); +case 0xD7: RMW_ZPX(DEC;CMP); +case 0xCF: RMW_AB(DEC;CMP); +case 0xDF: RMW_ABX(DEC;CMP); +case 0xDB: RMW_ABY(DEC;CMP); +case 0xC3: RMW_IX(DEC;CMP); +case 0xD3: RMW_IY(DEC;CMP); /* ISC */ -case 0xE7: LD_ZP(INC;SBC); -case 0xF7: LD_ZPX(INC;SBC); -case 0xEF: LD_AB(INC;SBC); -case 0xFF: LD_ABX(INC;SBC); -case 0xFB: LD_ABY(INC;SBC); -case 0xE3: LD_IX(INC;SBC); -case 0xF3: LD_IY(INC;SBC); +case 0xE7: RMW_ZP(INC;SBC); +case 0xF7: RMW_ZPX(INC;SBC); +case 0xEF: RMW_AB(INC;SBC); +case 0xFF: RMW_ABX(INC;SBC); +case 0xFB: RMW_ABY(INC;SBC); +case 0xE3: RMW_IX(INC;SBC); +case 0xF3: RMW_IY(INC;SBC); /* DOP */