From: beeanyew Date: Sun, 20 Jun 2021 04:13:40 +0000 (+0200) Subject: [HAX] Try some different IRQ behavior X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=9a043dfb872762b51931c8797e35be8ea8d9f053;p=pistorm [HAX] Try some different IRQ behavior May or may not require a make clean, also may or may not require a custom firmware to work. --- diff --git a/emulator.c b/emulator.c index 19a1467..519813c 100644 --- a/emulator.c +++ b/emulator.c @@ -205,31 +205,16 @@ cpu_loop: } if (irq) { - while (irq) { last_irq = ((read_reg() & 0xe000) >> 13); if (last_irq != last_last_irq) { last_last_irq = last_irq; M68K_SET_IRQ(last_irq); } - m68k_execute(5); - } - if (gayleirq && int2_enabled) { - write16(0xdff09c, 0x8000 | (1 << 3) && last_irq != 2); - last_last_irq = last_irq; - last_irq = 2; - M68K_SET_IRQ(2); - } + } else if (!irq && last_last_irq != 0) { M68K_SET_IRQ(0); last_last_irq = 0; - m68k_execute(5); } - /*else { - if (last_irq != 0) { - M68K_SET_IRQ(0); - last_last_irq = last_irq; - last_irq = 0; - } - }*/ + if (do_reset) { cpu_pulse_reset(); do_reset=0; diff --git a/m68kconf.h b/m68kconf.h index 3dfbff8..c0f245b 100644 --- a/m68kconf.h +++ b/m68kconf.h @@ -89,7 +89,7 @@ * If off, all interrupts will be autovectored and all interrupt requests will * auto-clear when the interrupt is serviced. */ -#define M68K_EMULATE_INT_ACK OPT_SPECIFY_HANDLER +#define M68K_EMULATE_INT_ACK OPT_OFF #define M68K_INT_ACK_CALLBACK(...) 0xFFFFFFFF