From 2f7a1fbe39ce8cfdfa6b8304e52ac91cfecff6fd Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Mon, 6 Dec 2010 02:22:40 +0000 Subject: dfsound - registers.c - cd-xa volume hack (scale $8000-ffff to $7fff) - fixes sound output in some games - fixme later (real attenuation) git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@60714 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- plugins/dfsound/registers.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'plugins') diff --git a/plugins/dfsound/registers.c b/plugins/dfsound/registers.c index b684914f..0a9485e2 100644 --- a/plugins/dfsound/registers.c +++ b/plugins/dfsound/registers.c @@ -264,13 +264,17 @@ void CALLBACK SPUwriteRegister(unsigned long reg, unsigned short val) break; //-------------------------------------------------// case H_CDLeft: - iLeftXAVol=val & 0x7fff; - if(cddavCallback) cddavCallback(0,val); - break; + // Fake attenuation hack: [$00-ff left][$00-ff right] + // - TODO: fixme later + iLeftXAVol = val > 0x7fff ? 0x7fff : val; + if(cddavCallback) cddavCallback(0,val); + break; case H_CDRight: - iRightXAVol=val & 0x7fff; - if(cddavCallback) cddavCallback(1,val); - break; + // Fake attenuation hack: [$00-ff right][$00-ff left] + // - TODO: fixme later + iRightXAVol = val > 0x7fff ? 0x7fff : val; + if(cddavCallback) cddavCallback(1,val); + break; //-------------------------------------------------// case H_FMod1: FModOn(0,16,val); -- cgit v1.2.3