X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=cpu%2Fmusashi%2Fm68k_in.c;h=5c9cc0669021d5ce1f648d0913dcdab097b84d76;hb=c13c91cd04513cc6c0d12e9714a5952607323333;hp=9379643924ea09e64274f78474da32ed48fb2e0f;hpb=c6a4c892866387e150ffcaa3af8b8c18d9ec6d58;p=picodrive.git diff --git a/cpu/musashi/m68k_in.c b/cpu/musashi/m68k_in.c index 9379643..5c9cc06 100644 --- a/cpu/musashi/m68k_in.c +++ b/cpu/musashi/m68k_in.c @@ -496,9 +496,9 @@ chk2cmp2 32 . pcdi 0000010011111010 .......... . . U U . . 23 23 chk2cmp2 32 . pcix 0000010011111011 .......... . . U U . . 23 23 chk2cmp2 32 . . 0000010011...... A..DXWL... . . U U . . 18 18 clr 8 . d 0100001000000... .......... U U U U 4 4 2 2 -clr 8 . . 0100001000...... A+-DXWL... U U U U 6 4 4 4 notaz hack: changed 000 cycles 8 -> 6 like in starscream for Fatal Rewind +clr 8 . . 0100001000...... A+-DXWL... U U U U 8 4 4 4 clr 16 . d 0100001001000... .......... U U U U 4 4 2 2 -clr 16 . . 0100001001...... A+-DXWL... U U U U 6 4 4 4 notaz hack: ditto +clr 16 . . 0100001001...... A+-DXWL... U U U U 8 4 4 4 clr 32 . d 0100001010000... .......... U U U U 6 6 2 2 clr 32 . . 0100001010...... A+-DXWL... U U U U 12 6 4 4 cmp 8 . d 1011...000000... .......... U U U U 4 4 2 2 @@ -1262,8 +1262,9 @@ M68KMAKE_OP(adda, 32, ., a) M68KMAKE_OP(adda, 32, ., .) { uint* r_dst = &AX; + uint src = M68KMAKE_GET_OPER_AY_32; // notaz - *r_dst = MASK_OUT_ABOVE_32(*r_dst + M68KMAKE_GET_OPER_AY_32); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + src); } @@ -7132,8 +7133,12 @@ M68KMAKE_OP(movem, 32, re, pd) if(register_list & (1 << i)) { ea -= 4; +#if 0 + m68ki_write_32(ea, REG_DA[15-i] ); // notaz Cyclone hack +#else m68ki_write_16(ea+2, REG_DA[15-i] & 0xFFFF ); m68ki_write_16(ea, (REG_DA[15-i] >> 16) & 0xFFFF ); +#endif count++; } AY = ea; @@ -9785,8 +9790,9 @@ M68KMAKE_OP(suba, 32, ., a) M68KMAKE_OP(suba, 32, ., .) { uint* r_dst = &AX; + uint src = M68KMAKE_GET_OPER_AY_32; // notaz - *r_dst = MASK_OUT_ABOVE_32(*r_dst - M68KMAKE_GET_OPER_AY_32); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - src); }