summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-12-06 02:22:40 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-12-06 02:22:40 +0000
commit2f7a1fbe39ce8cfdfa6b8304e52ac91cfecff6fd (patch)
treebb47ce1c9d64ab3d060e56cf543b5c470cdea5de
parentecff5e58679454c947975da6edcfec724b0fe0aa (diff)
downloadpcsxr-2f7a1fbe39ce8cfdfa6b8304e52ac91cfecff6fd.tar.gz
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
-rw-r--r--plugins/dfsound/registers.c16
1 files changed, 10 insertions, 6 deletions
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);