summaryrefslogtreecommitdiff
path: root/libpcsxcore/mdec.c
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-05-21 08:32:39 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-05-21 08:32:39 +0000
commit54ef2e8a8000b8056aa32eb00179ab15dd48e2d8 (patch)
tree6a8cfca34b8fc3861302d7a17db0dd7f53ecb74f /libpcsxcore/mdec.c
parent2030af5d172802ddc2c74dfe4962a220237ebd20 (diff)
downloadpcsxr-54ef2e8a8000b8056aa32eb00179ab15dd48e2d8.tar.gz
revert the previous revert, and fixed the value in mdec1Interrupt().
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@48431 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore/mdec.c')
-rw-r--r--libpcsxcore/mdec.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libpcsxcore/mdec.c b/libpcsxcore/mdec.c
index 7165af4b..5e84152a 100644
--- a/libpcsxcore/mdec.c
+++ b/libpcsxcore/mdec.c
@@ -225,7 +225,7 @@ static int aanscales[DSIZE2] = {
1370031, 1900287, 1790031, 1610986, 1370031, 1076426, 741455, 377991,
1232995, 1710213, 1610986, 1449849, 1232995, 968758, 667292, 340183,
1048576, 1454417, 1370031, 1232995, 1048576, 823861, 567485, 289301,
- 823861, 1142728, 1076426, 968758, 823861, 647303, 445870, 227303,
+ 823861, 1142728, 1076426, 968758, 823861, 647303, 445870, 227303,
567485, 787125, 741455, 667292, 567485, 445870, 307121, 156569,
289301, 401273, 377991, 340183, 289301, 227303, 156569, 79818
};
@@ -516,16 +516,16 @@ void psxDma1(u32 adr, u32 bcr, u32 chcr) {
image = (u16 *)PSXM(adr);
if (mdec.reg0 & MDEC0_RGB24) { // 15-b decoding
- // MDECOUTDMA_INT(((size * (1000000 / 9000)) / 4) /** 4*/ / BIAS);
- MDECOUTDMA_INT((size / 4) / BIAS);
+ // MDECOUTDMA_INT(((size * (1000000 / 9000)) / 4) /** 4*/);
+ MDECOUTDMA_INT(size / 4);
size = size / ((16 * 16) / 2);
for (; size > 0; size--, image += (16 * 16)) {
mdec.rl = rl2blk(blk, mdec.rl);
yuv2rgb15(blk, image);
}
} else { // 24-b decoding
- // MDECOUTDMA_INT(((size * (1000000 / 9000)) / 4) /** 4*/ / BIAS);
- MDECOUTDMA_INT((size / 4) / BIAS);
+ // MDECOUTDMA_INT(((size * (1000000 / 9000)) / 4) /** 4*/);
+ MDECOUTDMA_INT(size / 4);
size = size / ((24 * 16) / 2);
for (; size > 0; size--, image += (24 * 16)) {
mdec.rl = rl2blk(blk, mdec.rl);
@@ -545,7 +545,7 @@ void mdec1Interrupt() {
// PSXCLK / 60 or PSXCLK / 50 since the bug happened at end of frame.
// PSXCLK / 1000 seems good for FF9. (for FF9 need < ~28000)
// CAUTION: commented interrupt-handling may lead to problems, keep an eye ;-)
- MDECOUTDMA_INT(PSXCLK / 1000);
+ MDECOUTDMA_INT(PSXCLK / 1000 * BIAS);
// psxRegs.interrupt |= 0x02000000;
// psxRegs.intCycle[5 + 24 + 1] *= 8;
// psxRegs.intCycle[5 + 24] = psxRegs.cycle;