From fc3afcaefe3d58cdb44b43d556309c3fc4166eb7 Mon Sep 17 00:00:00 2001 From: notaz Date: Mon, 14 Aug 2023 23:47:07 +0300 Subject: [PATCH] dma: should clear both start bits at least that's how I understand nocash --- libpcsxcore/psxdma.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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); } } -- 2.39.5