diff options
author | notaz | 2015-02-05 02:36:58 +0200 |
---|---|---|
committer | notaz | 2015-02-05 02:36:58 +0200 |
commit | fc4803bdc2c9840a007c60e422fb0531107b80f2 (patch) | |
tree | 5d7ffe5024e7db6bf63f455586521cbcc26e8422 /libpcsxcore/psxdma.c | |
parent | 58ebb94c13df061762a7aca78e52f066339d9610 (diff) | |
download | pcsx_rearmed-fc4803bdc2c9840a007c60e422fb0531107b80f2.tar.gz pcsx_rearmed-fc4803bdc2c9840a007c60e422fb0531107b80f2.tar.bz2 pcsx_rearmed-fc4803bdc2c9840a007c60e422fb0531107b80f2.zip |
dma: some timing hacks
untested
Diffstat (limited to 'libpcsxcore/psxdma.c')
-rw-r--r-- | libpcsxcore/psxdma.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libpcsxcore/psxdma.c b/libpcsxcore/psxdma.c index b0f3fba..03ee563 100644 --- a/libpcsxcore/psxdma.c +++ b/libpcsxcore/psxdma.c @@ -220,7 +220,7 @@ void gpuInterrupt() { } void psxDma6(u32 madr, u32 bcr, u32 chcr) { - u32 size; + u32 words; u32 *mem = (u32 *)PSXM(madr); #ifdef PSXDMA_LOG @@ -238,7 +238,7 @@ void psxDma6(u32 madr, u32 bcr, u32 chcr) { } // already 32-bit size - size = bcr; + words = bcr; while (bcr--) { *mem-- = SWAP32((madr - 4) & 0xffffff); @@ -246,7 +246,10 @@ void psxDma6(u32 madr, u32 bcr, u32 chcr) { } mem++; *mem = 0xffffff; - GPUOTCDMA_INT(size); + //GPUOTCDMA_INT(size); + // halted + psxRegs.cycle += words; + GPUOTCDMA_INT(16); return; } #ifdef PSXDMA_LOG |