+ else
+ {
+ z80stopCycle = SekCyclesDone();
+ if ((PicoOpt&POPT_EN_Z80) && !Pico.m.z80_reset)
+ PicoSyncZ80(z80stopCycle);
+ }
+ Pico.m.z80Run=d;
+ }
+}
+
+static void z80WriteReset(u32 d)
+{
+ d&=1; d^=1;
+ elprintf(EL_BUSREQ, "set_zreset: %i->%i [%i] @%06x", Pico.m.z80_reset, d, SekCyclesDone(), SekPc);
+ if (d ^ Pico.m.z80_reset)
+ {
+ if (d)
+ {
+ if ((PicoOpt&POPT_EN_Z80) && Pico.m.z80Run)
+ PicoSyncZ80(SekCyclesDone());
+ }
+ else
+ {
+ z80_cycle_cnt = cycles_68k_to_z80(SekCyclesDone());
+ z80_reset();
+ }
+ YM2612ResetChip();
+ timers_reset();
+ Pico.m.z80_reset=d;