From b16ecd7a86e5689ba0a0f6379dbd56d863e48281 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Tue, 28 Apr 2020 16:57:14 +1000 Subject: [PATCH] SPU: ENDX register should get set when looping as well as muting --- src/core/spu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/spu.cpp b/src/core/spu.cpp index bb835d797..ce20fbc24 100644 --- a/src/core/spu.cpp +++ b/src/core/spu.cpp @@ -1474,10 +1474,10 @@ std::tuple SPU::SampleVoice(u32 voice_index) // handle flags if (voice.current_block_flags.loop_end) { + m_endx_register |= (u32(1) << voice_index); if (!voice.current_block_flags.loop_repeat) { Log_TracePrintf("Voice %u loop end+mute @ 0x%08X", voice_index, ZeroExtend32(voice.current_address)); - m_endx_register |= (u32(1) << voice_index); voice.ForceOff(); } else