handle 'bad' dma better
[picodrive.git] / pico / pico.c
index 2e561c6..76c5fe9 100644 (file)
@@ -253,10 +253,9 @@ PICO_INTERNAL int CheckDMA(void)
   xfers_can = dma_timings[dma_op];\r
   if(xfers <= xfers_can)\r
   {\r
-    if(dma_op&2) Pico.video.status&=~2; // dma no longer busy\r
-    else {\r
+    Pico.video.status &= ~SR_DMA;\r
+    if (!(dma_op & 2))\r
       burn = xfers * dma_bsycles[dma_op] >> 8; // have to be approximate because can't afford division..\r
-    }\r
     Pico.m.dma_xfers = 0;\r
   } else {\r
     if(!(dma_op&2)) burn = 488;\r