[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.
This commit is contained in:
beeanyew
2021-06-20 06:13:40 +02:00
parent 22b742ee9e
commit 9a043dfb87
2 changed files with 3 additions and 18 deletions

View File

@@ -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;

View File

@@ -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