- // this is for a nasty situation where Z80 was enabled and disabled in the same 68k timeslice (Golden Axe III)
- if (Pico.m.z80Run) {
- int lineCycles;
- z80stopCycle = SekCyclesDone();
- if ((Pico.m.z80Run&2) && Pico.m.scanline != -1)
- lineCycles=(488-SekCyclesLeft)&0x1ff;
- else lineCycles=z80stopCycle-z80startCycle; // z80 was started at current line
- if (lineCycles > 0) { // && lineCycles <= 488) {
- //dprintf("zrun: %i/%i cycles", lineCycles, (lineCycles>>1)-(lineCycles>>5));
- lineCycles=(lineCycles>>1)-(lineCycles>>5);
- z80_run_nr(lineCycles);
- }
- }
- } else {
- if (!Pico.m.z80Run)
- z80startCycle = SekCyclesDone();
- else
- d|=Pico.m.z80Run;
+ z80_cycle_cnt = cycles_68k_to_z80(SekCyclesDone());
+ }
+ else
+ {
+ z80stopCycle = SekCyclesDone();
+ if ((PicoOpt&POPT_EN_Z80) && !Pico.m.z80_reset)
+ PicoSyncZ80(z80stopCycle);