summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-11-19 14:16:18 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-11-19 14:16:18 +0000
commite0f61d14cb139df504d25ff205b6f5a9d34a0cdb (patch)
tree04293c8e6a3237644e8aa32bdb1fe00b98edf751
parentde5dfbbea6dfb1ded05beb177d3561a3ed9acf84 (diff)
downloadpcsxr-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.c16
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;
}