psxbios: fix warnings
[pcsx_rearmed.git] / libpcsxcore / psxdma.c
index 31424b3..c0aee7e 100644 (file)
@@ -64,6 +64,9 @@ void psxDma4(u32 madr, u32 bcr, u32 chcr) { // SPU
                                break;
                        SPU_writeDMAMem(ptr, words_copy * 2, psxRegs.cycle);
                        HW_DMA4_MADR = SWAPu32(madr + words_copy * 2);
+                       // This should be much slower, like 12+ cycles/byte, it's like
+                       // that because the CPU runs too fast and fifo is not emulated.
+                       // See also set_dma_end().
                        SPUDMA_INT(words * 4);
                        return;
 
@@ -238,7 +241,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 +266,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 +274,7 @@ void gpuotcInterrupt()
 {
        if (HW_DMA6_CHCR & SWAP32(0x01000000))
        {
-               HW_DMA6_CHCR &= SWAP32(~0x01000000);
+               HW_DMA6_CHCR &= SWAP32(~0x11000000);
                DMA_INTERRUPT(6);
        }
 }