diff options
| author | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2011-02-02 03:10:33 +0000 |
|---|---|---|
| committer | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2011-02-02 03:10:33 +0000 |
| commit | b0cf7dd03d0c060ad22b48749612c6da2eb7248b (patch) | |
| tree | 981a40dcc24e813357dffc367aebc842e8b8e542 /libpcsxcore/gpu.c | |
| parent | f1da161879cfb46abd5680203cdc2ffad7870283 (diff) | |
| download | pcsxr-b0cf7dd03d0c060ad22b48749612c6da2eb7248b.tar.gz | |
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
Diffstat (limited to 'libpcsxcore/gpu.c')
| -rw-r--r-- | libpcsxcore/gpu.c | 11 |
1 files changed, 11 insertions, 0 deletions
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
|
