]> git.sesse.net Git - pistorm/blobdiff - emulator.c
[HAX] Try some different IRQ behavior
[pistorm] / emulator.c
index d70ad21191ba605e20eae143798ced7a98e879a2..519813c6571ab01b5f4aa1658e819ca79f54bd09 100644 (file)
 
 #define KEY_POLL_INTERVAL_MSEC 5000
 
-unsigned char read_ranges;
-unsigned int read_addr[8];
-unsigned int read_upper[8];
-unsigned char *read_data[8];
-unsigned char write_ranges;
-unsigned int write_addr[8];
-unsigned int write_upper[8];
-unsigned char *write_data[8];
-address_translation_cache code_translation_cache = {0};
-
 int kb_hook_enabled = 0;
 int mouse_hook_enabled = 0;
 int cpu_emulation_running = 1;
@@ -215,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;