From e0f61d14cb139df504d25ff205b6f5a9d34a0cdb Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Fri, 19 Nov 2010 14:16:18 +0000 Subject: 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 --- libpcsxcore/cdrom.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'libpcsxcore/cdrom.c') 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; } -- cgit v1.2.3