SPU: ENDX register should get set when looping as well as muting
This commit is contained in:
parent
ce46dbeeca
commit
b16ecd7a86
|
@ -1474,10 +1474,10 @@ std::tuple<s32, s32> SPU::SampleVoice(u32 voice_index)
|
||||||
// handle flags
|
// handle flags
|
||||||
if (voice.current_block_flags.loop_end)
|
if (voice.current_block_flags.loop_end)
|
||||||
{
|
{
|
||||||
|
m_endx_register |= (u32(1) << voice_index);
|
||||||
if (!voice.current_block_flags.loop_repeat)
|
if (!voice.current_block_flags.loop_repeat)
|
||||||
{
|
{
|
||||||
Log_TracePrintf("Voice %u loop end+mute @ 0x%08X", voice_index, ZeroExtend32(voice.current_address));
|
Log_TracePrintf("Voice %u loop end+mute @ 0x%08X", voice_index, ZeroExtend32(voice.current_address));
|
||||||
m_endx_register |= (u32(1) << voice_index);
|
|
||||||
voice.ForceOff();
|
voice.ForceOff();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue