mirror of https://github.com/PCSX2/pcsx2.git
SPU2-X:
- Continue voice processing even if the voice is off, as per SPU2 specs. This fixes Fatal Frame 2 (and likely 3 as well). A really long standing bug we had :) git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2635 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
f298f3dd33
commit
b13e917eb2
|
@ -522,8 +522,15 @@ static __forceinline StereoOut32 MixVoice( uint coreidx, uint voiceidx )
|
|||
}
|
||||
else
|
||||
{
|
||||
// Write-back of raw voice data (some zeros since the voice is "dead")
|
||||
// Continue processing voice, even if it's "off". Or else we miss interrupts! (Fatal Frame engine died because of this.)
|
||||
// Slow, complete version
|
||||
UpdatePitch(coreidx, voiceidx);
|
||||
while (vc.SP > 0) {
|
||||
GetNextDataBuffered(thiscore, voiceidx);
|
||||
vc.SP -= 4096;
|
||||
}
|
||||
|
||||
// Write-back of raw voice data (some zeros since the voice is "dead")
|
||||
if (voiceidx==1) spu2M_WriteFast( 0x400 + (coreidx<<12) + OutPos, 0 );
|
||||
else if (voiceidx==3) spu2M_WriteFast( 0x600 + (coreidx<<12) + OutPos, 0 );
|
||||
|
||||
|
|
Loading…
Reference in New Issue