core z80, bus blocking for VDP DMA

This commit is contained in:
kub 2024-05-07 23:11:54 +02:00
parent 274dd51a60
commit ebde43de9d
3 changed files with 11 additions and 1 deletions

View file

@ -125,6 +125,12 @@ static void do_timing_hacks_start(struct PicoVideo *pv)
int cycles = PicoVideoFIFOHint();
SekCyclesBurn(cycles); // prolong cpu HOLD if necessary
if (pv->status & PVS_Z80WAIT) {
Pico.t.z80c_cnt += cycles_68k_to_z80(cycles);
if (!(pv->status & (PVS_CPUWR|PVS_CPURD)))
pv->status &= ~PVS_Z80WAIT;
}
// XXX how to handle Z80 bus cycle stealing during DMA correctly?
if ((Pico.t.z80_buscycles -= cycles) < 0)
Pico.t.z80_buscycles = 0;