diff options
| author | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-11-19 14:16:18 +0000 |
|---|---|---|
| committer | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-11-19 14:16:18 +0000 |
| commit | e0f61d14cb139df504d25ff205b6f5a9d34a0cdb (patch) | |
| tree | 04293c8e6a3237644e8aa32bdb1fe00b98edf751 | |
| parent | de5dfbbea6dfb1ded05beb177d3561a3ed9acf84 (diff) | |
| download | pcsxr-e0f61d14cb139df504d25ff205b6f5a9d34a0cdb.tar.gz | |
cdrom.c
- don't let cd-xa volume write to register (ex. cdrwrite3)
- might fix something
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@59791 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | libpcsxcore/cdrom.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 9c5a34f9..a0517bb1 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -1276,7 +1276,7 @@ void cdrReadInterrupt() { if( (cdr.Mode & 0x40) == 0 || (cdr.Transfer[4+2] & 0x4) != 0x4 ) { cdr.Stat = DataReady; } else { - cdr.Stat = NoIntr; + cdr.Stat = Acknowledge; } psxHu32ref(0x1070) |= SWAP32((u32)0x4);
@@ -1336,9 +1336,13 @@ void cdrWrite0(unsigned char rt) { // Tekken: CDXA fade-out else if( rt == 2 ) { cdr.LeftVol = 0; +
+ return;
} else if( rt == 3 ) { cdr.RightVol = 0; +
+ return;
} } @@ -1369,6 +1373,8 @@ void cdrWrite1(unsigned char rt) { // Tekken: CDXA fade-out if( (cdr.Ctrl & 3) == 3 ) { cdr.RightVol |= (rt << 8); +
+ return;
} @@ -1725,9 +1731,13 @@ void cdrWrite2(unsigned char rt) { // Tekken: CDXA fade-out if( (cdr.Ctrl & 3) == 2 ) { cdr.LeftVol |= (rt << 8); +
+ return;
} else if( (cdr.Ctrl & 3) == 3 ) { cdr.RightVol |= (rt << 0); +
+ return;
} @@ -1789,7 +1799,9 @@ void cdrWrite3(unsigned char rt) { // write CD-XA volumes SPU_writeRegister( H_CDLeft, cdr.LeftVol / 2 ); SPU_writeRegister( H_CDRight, cdr.RightVol / 2 ); - } + }
+
+ return; } |
