X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=pico%2Fmemory.c;h=2fff489b6cec31b7cca905a4706d4009de35e19d;hb=a505b5f14bc28268d6366d1d9c231ab57ff0159d;hp=f6c0eeb741392c66389a827d72c8d4363528741c;hpb=b8a1c09ad1ef0b807c2eb1632d34e6bfae14b633;p=picodrive.git diff --git a/pico/memory.c b/pico/memory.c index f6c0eeb..2fff489 100644 --- a/pico/memory.c +++ b/pico/memory.c @@ -257,8 +257,11 @@ void NOINLINE ctl_write_z80busreq(u32 d) else { z80stopCycle = SekCyclesDone(); - if ((PicoOpt&POPT_EN_Z80) && !Pico.m.z80_reset) + if ((PicoOpt&POPT_EN_Z80) && !Pico.m.z80_reset) { + pprof_start(m68k); PicoSyncZ80(z80stopCycle); + pprof_end_sub(m68k); + } } Pico.m.z80Run = d; } @@ -272,8 +275,11 @@ void NOINLINE ctl_write_z80reset(u32 d) { if (d) { - if ((PicoOpt&POPT_EN_Z80) && Pico.m.z80Run) + if ((PicoOpt&POPT_EN_Z80) && Pico.m.z80Run) { + pprof_start(m68k); PicoSyncZ80(SekCyclesDone()); + pprof_end_sub(m68k); + } YM2612ResetChip(); timers_reset(); } @@ -316,7 +322,7 @@ static u32 PicoRead8_sram(u32 a) static u32 PicoRead16_sram(u32 a) { u32 d; - if (SRam.end >= a && a >= SRam.start && (Pico.m.sram_reg & SRR_MAPPED)) + if (SRam.start <= a && a <= SRam.end && (Pico.m.sram_reg & SRR_MAPPED)) { if (SRam.flags & SRF_EEPROM) d = EEPROM_read(); @@ -1052,6 +1058,14 @@ void ym2612_unpack_state(void) elprintf(EL_YMTIMER, "load: %i/%i, timer_b_next_oflow %i", tbt>>16, tbc>>16, timer_b_next_oflow >> 8); } +#if defined(NO_32X) && defined(_ASM_MEMORY_C) +// referenced by asm code +u32 PicoRead8_32x(u32 a) { return 0; } +u32 PicoRead16_32x(u32 a) { return 0; } +void PicoWrite8_32x(u32 a, u32 d) {} +void PicoWrite16_32x(u32 a, u32 d) {} +#endif + // ----------------------------------------------------------------- // z80 memhandlers