diff options
| author | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-09-24 12:36:24 +0000 |
|---|---|---|
| committer | SND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-09-24 12:36:24 +0000 |
| commit | f2761d7523b26d19f82f7b384b3b41efd0f60c67 (patch) | |
| tree | 88a91b35c4832a20d1f322a771bc933deb3a6d9a /libpcsxcore | |
| parent | 2ec47559dd9d462af85f0497869ab4adb1824428 (diff) | |
| download | pcsxr-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-x | libpcsxcore/psxdma.c | 6 |
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 |
