X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=pico%2Fz80if.c;h=419d061f4cd9361d4ed3a93666c7262379cef245;hb=cf83610baa16d21842e8097a7e87f284e2519584;hp=da2043e4536835dc7f933d21a09d0817878c3cf7;hpb=93f9619ed819dee07948416c98ca2f1c70a22666;p=picodrive.git diff --git a/pico/z80if.c b/pico/z80if.c index da2043e..419d061 100644 --- a/pico/z80if.c +++ b/pico/z80if.c @@ -52,6 +52,8 @@ static unsigned int dz80_rebase_pc(unsigned short pc) return drZ80.Z80PC_BASE; } +static void dz80_noop_irq_ack(void) {} + #ifdef FAST_Z80SP static u32 drz80_sp_base; @@ -107,8 +109,11 @@ void z80_reset(void) drz80_sp_base = (PicoIn.AHW & PAHW_SMS) ? 0xc000 : 0x0000; drZ80.Z80SP_BASE = z80_read_map[drz80_sp_base >> Z80_MEM_SHIFT] << 1; #endif - if (PicoIn.AHW & PAHW_SMS) + drZ80.z80_irq_callback = NULL; // use auto-clear + if (PicoIn.AHW & PAHW_SMS) { drZ80.Z80SP = drZ80.Z80SP_BASE + 0xdff0; // simulate BIOS + drZ80.z80_irq_callback = dz80_noop_irq_ack; + } // XXX: since we use direct SP pointer, it might make sense to force it to RAM, // but we'll rely on built-in stack protection for now #endif