also take interrupts on exit, like other cores do
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
{
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;