diff options
| -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);
|
