core z80, revert non-working ebde43d (bus blocking DMA)
authorkub <derkub@gmail.com>
Mon, 24 Jun 2024 19:37:37 +0000 (21:37 +0200)
committerkub <derkub@gmail.com>
Thu, 27 Jun 2024 21:39:45 +0000 (23:39 +0200)
pico/memory.c
pico/pico_cmn.c
pico/pico_int.h

index 17139a0..34d0cf7 100644 (file)
@@ -565,7 +565,6 @@ void NOINLINE ctl_write_z80reset(u32 d)
         pprof_end_sub(m68k);\r
       }\r
       Pico.t.z80_busdelay &= 0xff; // also resets bus request\r
-      Pico.video.status &= ~PVS_Z80WAIT;\r
       YM2612ResetChip();\r
       timers_reset();\r
     }\r
@@ -1373,11 +1372,6 @@ void PicoWrite16_32x(u32 a, u32 d) {}
 static void access_68k_bus(int delay) // bus delay as Q8\r
 {\r
   // TODO: if the 68K is in DMA wait, Z80 has to wait until DMA ends\r
-  if (Pico.video.status & (PVS_CPUWR|PVS_CPURD)) {\r
-    z80_subCLeft(z80_cyclesLeft); // rather rough on both condition and action\r
-    // TODO the next line will cause audio lag in Overdrive 2 demo?\r
-    //Pico.video.status |= PVS_Z80WAIT;\r
-  }\r
 \r
   // 68k bus access delay for z80. The fractional part needs to be accumulated\r
   // until an additional cycle is full. That is then added to the integer part.\r
index cd03789..af2e598 100644 (file)
@@ -125,12 +125,6 @@ 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;
index 79997d9..c57c5f6 100644 (file)
@@ -300,7 +300,6 @@ extern SH2 sh2s[2];
 #define PVS_DMAFILL   (1 << 20) // DMA fill is waiting for fill data\r
 #define PVS_DMABG     (1 << 21) // background DMA operation is running\r
 #define PVS_FIFORUN   (1 << 22) // FIFO is processing\r
-#define PVS_Z80WAIT   (1 << 23) // Z80 blocked by VDP DMA\r
 \r
 struct PicoVideo\r
 {\r