From: notaz Date: Mon, 14 Aug 2023 20:47:07 +0000 (+0300) Subject: dma: should clear both start bits X-Git-Tag: r24~203 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=206a936ef243684c027c3a7827259b07113e8af5;p=pcsx_rearmed.git dma: should clear both start bits at least that's how I understand nocash --- diff --git a/libpcsxcore/psxdma.c b/libpcsxcore/psxdma.c index 31424b3d..42fb3bab 100644 --- a/libpcsxcore/psxdma.c +++ b/libpcsxcore/psxdma.c @@ -238,7 +238,7 @@ void psxDma6(u32 madr, u32 bcr, u32 chcr) { mem = getDmaRam(madr, &words_max); if (mem == INVALID_PTR) { log_unhandled("bad6 dma madr %x\n", madr); - HW_DMA6_CHCR &= SWAP32(~0x01000000); + HW_DMA6_CHCR &= SWAP32(~0x11000000); DMA_INTERRUPT(6); return; } @@ -263,7 +263,7 @@ void psxDma6(u32 madr, u32 bcr, u32 chcr) { log_unhandled("*** DMA6 OT - unknown *** %x addr = %x size = %x\n", chcr, madr, bcr); } - HW_DMA6_CHCR &= SWAP32(~0x01000000); + HW_DMA6_CHCR &= SWAP32(~0x11000000); DMA_INTERRUPT(6); } @@ -271,7 +271,7 @@ void gpuotcInterrupt() { if (HW_DMA6_CHCR & SWAP32(0x01000000)) { - HW_DMA6_CHCR &= SWAP32(~0x01000000); + HW_DMA6_CHCR &= SWAP32(~0x11000000); DMA_INTERRUPT(6); } }