sms: improve irq handling
[picodrive.git] / pico / pico_int.h
index cb1c21d..7225cab 100644 (file)
@@ -169,7 +169,7 @@ extern struct DrZ80 drZ80;
 #define z80_run(cycles)    ((cycles) - DrZ80Run(&drZ80, cycles))\r
 #define z80_run_nr(cycles) DrZ80Run(&drZ80, cycles)\r
 #define z80_int()          drZ80.Z80_IRQ = 1\r
-#define z80_int()          drZ80.Z80_IRQ = 1\r
+#define z80_int_assert(a)  drZ80.Z80_IRQ = (a)\r
 #define z80_nmi()          drZ80.Z80IF |= 8\r
 \r
 #define z80_cyclesLeft     drZ80.cycles\r
@@ -182,6 +182,7 @@ extern struct DrZ80 drZ80;
 #define z80_run(cycles)    Cz80_Exec(&CZ80, cycles)\r
 #define z80_run_nr(cycles) Cz80_Exec(&CZ80, cycles)\r
 #define z80_int()          Cz80_Set_IRQ(&CZ80, 0, HOLD_LINE)\r
+#define z80_int_assert(a)  Cz80_Set_IRQ(&CZ80, 0, (a) ? ASSERT_LINE : CLEAR_LINE)\r
 #define z80_nmi()          Cz80_Set_IRQ(&CZ80, IRQ_LINE_NMI, 0)\r
 \r
 #define z80_cyclesLeft     (CZ80.ICount - CZ80.ExtraCycles)\r
@@ -193,6 +194,7 @@ extern struct DrZ80 drZ80;
 #define z80_run(cycles)    (cycles)\r
 #define z80_run_nr(cycles)\r
 #define z80_int()\r
+#define z80_int_assert(a)\r
 #define z80_nmi()\r
 \r
 #endif\r