diff options
| author | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-09-05 00:35:53 +0000 |
|---|---|---|
| committer | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-09-05 00:35:53 +0000 |
| commit | 78e935a3e7ec856d50849b3e2a6df7949f56a634 (patch) | |
| tree | da95662359a570325828c0f59419b034546f1026 /libpcsxcore/mdec.c | |
| parent | d492504ee69f77cf3111a7715ac228000b69a2de (diff) | |
Rebel Assault 2 needs longer DMA times (black screens in-game)
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@56821 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore/mdec.c')
| -rw-r--r-- | libpcsxcore/mdec.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/libpcsxcore/mdec.c b/libpcsxcore/mdec.c index f9b8d580..2ad12585 100644 --- a/libpcsxcore/mdec.c +++ b/libpcsxcore/mdec.c @@ -474,7 +474,10 @@ void psxDma0(u32 adr, u32 bcr, u32 chcr) { case 0x3: // decode mdec.rl = (u16 *)PSXM(adr); mdec.rlsize = mdec.reg0 & MDEC0_SIZE_MASK; - break; +
+ MDECINDMA_INT( size / 4 );
+ return;
+ case 0x4: // quantization table upload { @@ -485,11 +488,15 @@ void psxDma0(u32 adr, u32 bcr, u32 chcr) { iqtab_init(iq_y, p); iqtab_init(iq_uv, p + 64); } - break; +
+ MDECINDMA_INT( size / 4 );
+ return;
case 0x6: // cosine table // printf("mdec cosine table\n"); - break; +
+ MDECINDMA_INT( size / 4 );
+ return;
default: // printf("mdec unknown command\n"); @@ -498,6 +505,12 @@ void psxDma0(u32 adr, u32 bcr, u32 chcr) { HW_DMA0_CHCR &= SWAP32(~0x01000000); DMA_INTERRUPT(0); +}
+
+void mdec0Interrupt()
+{
+ HW_DMA0_CHCR &= SWAP32(~0x01000000);
+ DMA_INTERRUPT(0);
} void psxDma1(u32 adr, u32 bcr, u32 chcr) { |
