summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authorSND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-09-24 12:36:24 +0000
committerSND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2013-09-24 12:36:24 +0000
commitf2761d7523b26d19f82f7b384b3b41efd0f60c67 (patch)
tree88a91b35c4832a20d1f322a771bc933deb3a6d9a /libpcsxcore
parent2ec47559dd9d462af85f0497869ab4adb1824428 (diff)
downloadpcsxr-f2761d7523b26d19f82f7b384b3b41efd0f60c67.tar.gz
Changed DMA4 burst transfer factor from 1/3 to 1/2. Fixes Harry Potter and the Philosopher's Stone
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@87306 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
-rwxr-xr-xlibpcsxcore/psxdma.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libpcsxcore/psxdma.c b/libpcsxcore/psxdma.c
index 0750977c..4f5290bd 100755
--- a/libpcsxcore/psxdma.c
+++ b/libpcsxcore/psxdma.c
@@ -49,8 +49,10 @@ void psxDma4(u32 madr, u32 bcr, u32 chcr) { // SPU
}
SPU_writeDMAMem(ptr, (bcr >> 16) * (bcr & 0xffff) * 2);
- // Jungle Book - 0-0.333x DMA
- SPUDMA_INT((bcr >> 16) * (bcr & 0xffff) / 3);
+ // Jungle Book - max 0.333x DMA length
+ // Harry Potter and the Philosopher's Stone - max 0.5x DMA length
+ //u32 dmalen=64 + ((bcr >> 18) * (bcr & 0xffff)); // less linear to DMA length which should work with both games above?
+ SPUDMA_INT((bcr >> 16) * (bcr & 0xffff) / 2);
return;
case 0x01000200: //spu to cpu transfer