diff options
Diffstat (limited to 'libpcsxcore')
| -rw-r--r-- | libpcsxcore/psxdma.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libpcsxcore/psxdma.c b/libpcsxcore/psxdma.c index 1b28067a..b7a895ff 100644 --- a/libpcsxcore/psxdma.c +++ b/libpcsxcore/psxdma.c @@ -81,7 +81,8 @@ void psxDma4(u32 madr, u32 bcr, u32 chcr) { // SPU } -void psxDma6(u32 madr, u32 bcr, u32 chcr) { +void psxDma6(u32 madr, u32 bcr, u32 chcr) {
+ u32 size; u32 *mem = (u32 *)PSXM(madr); #ifdef PSXDMA_LOG @@ -98,13 +99,16 @@ void psxDma6(u32 madr, u32 bcr, u32 chcr) { return; } + // already 32-bit size
+ size = bcr;
+
while (bcr--) { *mem-- = SWAP32((madr - 4) & 0xffffff); madr -= 4; } mem++; *mem = 0xffffff; - RAMDMA_INT( size );
+ GPUOTCDMA_INT( size );
return;
} #ifdef PSXDMA_LOG |
