aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/psxdma.c
diff options
context:
space:
mode:
authornotaz2015-02-05 02:36:58 +0200
committernotaz2015-02-05 02:36:58 +0200
commitfc4803bdc2c9840a007c60e422fb0531107b80f2 (patch)
tree5d7ffe5024e7db6bf63f455586521cbcc26e8422 /libpcsxcore/psxdma.c
parent58ebb94c13df061762a7aca78e52f066339d9610 (diff)
downloadpcsx_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.c9
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