From c041308933a54fce3b1e98b0228e19f96475ae40 Mon Sep 17 00:00:00 2001 From: notaz Date: Tue, 10 Oct 2017 02:00:28 +0300 Subject: [PATCH] fame: fix roxr also take interrupts on exit, like other cores do --- cpu/fame/famec.c | 2 +- cpu/fame/famec_opcodes.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cpu/fame/famec.c b/cpu/fame/famec.c index 83719304..db4eae69 100644 --- a/cpu/fame/famec.c +++ b/cpu/fame/famec.c @@ -938,7 +938,7 @@ famec_Exec: u32 line; m68kcontext.io_cycle_counter += cycles_needed; cycles_needed = 0; - if (m68kcontext.io_cycle_counter <= 0) goto famec_End; + //if (m68kcontext.io_cycle_counter <= 0) goto famec_End; line=interrupt_chk__(); if (line>0) { diff --git a/cpu/fame/famec_opcodes.h b/cpu/fame/famec_opcodes.h index 3ba72751..2df6d78a 100644 --- a/cpu/fame/famec_opcodes.h +++ b/cpu/fame/famec_opcodes.h @@ -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; -- 2.39.5