From b0cf7dd03d0c060ad22b48749612c6da2eb7248b Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Wed, 2 Feb 2011 03:10:33 +0000 Subject: Experimental patches 1- gpu.c We don't emulate bus conflicts. Especially with DMA. Lower vram2mem, mem2vram times (1 -> 0.25) - fixes X-Files videos 2- cdrom.c Duke Nukem - Time to Kill uses CD attenuation values for XA music, speech - fix volume slider 3- cdrom.c Add cdrom dma wrapping - possible Ape Escape additional fixes (>2352 transfers in several places) All disabled - view diff and activate at your own risk (accuracy regressions) git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@62832 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- libpcsxcore/gpu.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libpcsxcore/gpu.c') diff --git a/libpcsxcore/gpu.c b/libpcsxcore/gpu.c index 773dd0e6..c9512559 100644 --- a/libpcsxcore/gpu.c +++ b/libpcsxcore/gpu.c @@ -122,8 +122,13 @@ void psxDma2(u32 madr, u32 bcr, u32 chcr) { // GPU GPU_readDataMem(ptr, size); psxCpu->Clear(madr, size); +#if 1 // already 32-bit word size ((size * 4) / 4) GPUDMA_INT(size); +#else + // NOTE: no bus conflicts emulated - speed this up + GPUDMA_INT(size/4); +#endif return; case 0x01000201: // mem2vram @@ -141,8 +146,14 @@ void psxDma2(u32 madr, u32 bcr, u32 chcr) { // GPU size = (bcr >> 16) * (bcr & 0xffff); GPU_writeDataMem(ptr, size); +#if 1 // already 32-bit word size ((size * 4) / 4) GPUDMA_INT(size); +#else + // X-Files: use very fast time for movies + // - we don't simulate bus conflicts + GPUDMA_INT( size / 4 ); +#endif return; case 0x01000401: // dma chain -- cgit v1.2.3