diff options
| author | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-12-06 02:22:40 +0000 |
|---|---|---|
| committer | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-12-06 02:22:40 +0000 |
| commit | 2f7a1fbe39ce8cfdfa6b8304e52ac91cfecff6fd (patch) | |
| tree | bb47ce1c9d64ab3d060e56cf543b5c470cdea5de | |
| parent | ecff5e58679454c947975da6edcfec724b0fe0aa (diff) | |
| download | pcsxr-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.c | 16 |
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);
|
