fame: fix roxr
authornotaz <notasas@gmail.com>
Mon, 9 Oct 2017 23:00:28 +0000 (02:00 +0300)
committernotaz <notasas@gmail.com>
Fri, 13 Oct 2017 21:53:08 +0000 (00:53 +0300)
also take interrupts on exit, like other cores do

cpu/fame/famec.c
cpu/fame/famec_opcodes.h

index 8371930..db4eae6 100644 (file)
@@ -938,7 +938,7 @@ famec_Exec:
                        u32 line;\r
                        m68kcontext.io_cycle_counter += cycles_needed;\r
                        cycles_needed = 0;\r
-                       if (m68kcontext.io_cycle_counter <= 0) goto famec_End;\r
+                       //if (m68kcontext.io_cycle_counter <= 0) goto famec_End;\r
                        line=interrupt_chk__();\r
                        if (line>0)\r
                        {\r
index 3ba7275..2df6d78 100644 (file)
@@ -38009,7 +38009,7 @@ OPCODE(0xE0B0)
                {
                        if (sft == 1) res = (src >> 1) | ((flag_X & M68K_SR_X) << (32 - (M68K_SR_X_SFT + 1)));
                        else res = (src >> sft) | (src << (33 - sft)) | (((flag_X & M68K_SR_X) << (32 - (M68K_SR_X_SFT + 1))) >> (sft - 1));
-                       flag_X = (src >> (32 - sft)) << M68K_SR_X_SFT;
+                       flag_X = (src >> (sft - 1)) << M68K_SR_X_SFT;
                }
                else res = src;
                flag_C = flag_X;