diff --git a/src/engine/platform/es5506.cpp b/src/engine/platform/es5506.cpp index 42ce685a..c781aa3e 100644 --- a/src/engine/platform/es5506.cpp +++ b/src/engine/platform/es5506.cpp @@ -643,8 +643,9 @@ void DivPlatformES5506::tick(bool sysTick) { if (chan[i].pcm.index>=0 && chan[i].pcm.indexsong.sampleLen) { unsigned int startPos=chan[i].pcm.reversed?chan[i].pcm.end:chan[i].pcm.start; if (chan[i].pcm.nextPos) { + const unsigned int start=chan[i].pcm.start; const unsigned int end=chan[i].pcm.length; - startPos+=(chan[i].pcm.reversed?(end-chan[i].pcm.nextPos):chan[i].pcm.nextPos)<<11; + startPos=start+((chan[i].pcm.reversed?(end-chan[i].pcm.nextPos):(chan[i].pcm.nextPos))<<11); chan[i].pcm.nextPos=0; } chan[i].k1Prev=0xffff;