mirror of https://github.com/PCSX2/pcsx2.git
SPU2-X: Fixed Core1 writeback areas; probably fixes quite a few things.
Details: (0x1800 to 0x1fff were being mis-written to 0x2000->0x2800, roughly). git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3206 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
c9dc18053f
commit
f752038f65
|
@ -596,8 +596,8 @@ static __forceinline StereoOut32 MixVoice( uint coreidx, uint voiceidx )
|
|||
}
|
||||
|
||||
// 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 );
|
||||
if (voiceidx==1) spu2M_WriteFast( ( (0==coreidx) ? 0x400 : 0xc00 ) + OutPos, 0 );
|
||||
else if (voiceidx==3) spu2M_WriteFast( ( (0==coreidx) ? 0x600 : 0xe00 ) + OutPos, 0 );
|
||||
|
||||
return StereoOut32( 0, 0 );
|
||||
}
|
||||
|
@ -630,10 +630,10 @@ StereoOut32 V_Core::Mix( const VoiceMixSet& inVoices, const StereoOut32& Input,
|
|||
const VoiceMixSet Voices( clamp_mix( inVoices.Dry ), clamp_mix( inVoices.Wet ) );
|
||||
|
||||
// Write Mixed results To Output Area
|
||||
spu2M_WriteFast( 0x1000 + (Index<<12) + OutPos, Voices.Dry.Left );
|
||||
spu2M_WriteFast( 0x1200 + (Index<<12) + OutPos, Voices.Dry.Right );
|
||||
spu2M_WriteFast( 0x1400 + (Index<<12) + OutPos, Voices.Wet.Left );
|
||||
spu2M_WriteFast( 0x1600 + (Index<<12) + OutPos, Voices.Wet.Right );
|
||||
spu2M_WriteFast( ( (0==Index) ? 0x1000 : 0x1800 ) + OutPos, Voices.Dry.Left );
|
||||
spu2M_WriteFast( ( (0==Index) ? 0x1200 : 0x1A00 ) + OutPos, Voices.Dry.Right );
|
||||
spu2M_WriteFast( ( (0==Index) ? 0x1400 : 0x1C00 ) + OutPos, Voices.Wet.Left );
|
||||
spu2M_WriteFast( ( (0==Index) ? 0x1600 : 0x1E00 ) + OutPos, Voices.Wet.Right );
|
||||
|
||||
// Write mixed results to logfile (if enabled)
|
||||
|
||||
|
|
Loading…
Reference in New Issue