non-asm compatibility re-fixed
[fceu.git] / ops.h
diff --git a/ops.h b/ops.h
index 62b8481..a652a88 100644 (file)
--- a/ops.h
+++ b/ops.h
@@ -22,7 +22,8 @@ case 0x00:  /* BRK */
             _PC++;
             PUSH(_PC>>8);
             PUSH(_PC);
-            PUSH(_P|U_FLAG|B_FLAG);
+           _P|=B_FLAG;
+            PUSH(_P|U_FLAG);
            _P|=I_FLAG;
             _PC=RdMem(0xFFFE);
             _PC|=RdMem(0xFFFF)<<8;
@@ -345,22 +346,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 */