]> git.sesse.net Git - pistorm/commitdiff
[HAX] Try some different IRQ behavior
authorbeeanyew <beeanyew@gmail.com>
Sun, 20 Jun 2021 04:13:40 +0000 (06:13 +0200)
committerbeeanyew <beeanyew@gmail.com>
Sun, 20 Jun 2021 04:13:40 +0000 (06:13 +0200)
May or may not require a make clean, also may or may not require a custom firmware to work.

emulator.c
m68kconf.h

index 19a146777970765dda7c10bbd5b096ff0d1d2b75..519813c6571ab01b5f4aa1658e819ca79f54bd09 100644 (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;
index 3dfbff80e5651b3760f47c8f9768880d4febb9f7..c0f245bedefb971d48f7f64b1cc9c01d2112705a 100644 (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