From 4b8d3c6c6b1403616b1501f3559fd96223f79728 Mon Sep 17 00:00:00 2001 From: OV2 Date: Sun, 6 Nov 2022 02:11:37 +0100 Subject: [PATCH] msu1: revert to start for invalid loop positions (#778) --- msu1.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/msu1.cpp b/msu1.cpp index f6e545ea..71cb0878 100644 --- a/msu1.cpp +++ b/msu1.cpp @@ -253,7 +253,14 @@ void S9xMSU1Generate(size_t sample_count) { if (MSU1.MSU1_STATUS & AudioRepeating) { - MSU1.MSU1_AUDIO_POS = audioLoopPos; + if (audioLoopPos < MSU1.MSU1_AUDIO_POS) + { + MSU1.MSU1_AUDIO_POS = audioLoopPos; + } + else // if the loop point is invalid, revert to start + { + MSU1.MSU1_AUDIO_POS = 8; + } REVERT_STREAM(audioStream, MSU1.MSU1_AUDIO_POS, 0); } else