From e76d96f4cb0a5afd277aa4348a7f29d259f96231 Mon Sep 17 00:00:00 2001 From: cam900 Date: Tue, 3 Oct 2023 12:35:18 +0900 Subject: [PATCH] Fix length --- src/engine/platform/msm6295.cpp | 3 ++- src/engine/platform/msm6295.h | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/msm6295.cpp b/src/engine/platform/msm6295.cpp index d0c28833a..07e2db4a7 100644 --- a/src/engine/platform/msm6295.cpp +++ b/src/engine/platform/msm6295.cpp @@ -421,6 +421,7 @@ void DivPlatformMSM6295::renderSamples(int sysID) { sampleOffVOX[i]=memPos; bankedPhrase[i].bank=bankInd; bankedPhrase[i].phrase=phraseInd; + bankedPhrase[i].length=paddedLen; memPos+=paddedLen; phraseInd++; } @@ -429,7 +430,7 @@ void DivPlatformMSM6295::renderSamples(int sysID) { // phrase book for (int i=0; isong.sampleLen; i++) { DivSample* s=parent->song.sample[i]; - int endPos=sampleOffVOX[i]+s->lengthVOX; + int endPos=sampleOffVOX[i]+bankedPhrase[i].length; for (int b=0; b<4; b++) { unsigned int bankedAddr=((unsigned int)bankedPhrase[i].bank<<16)+(b<<8)+(bankedPhrase[i].phrase*8); adpcmMem[bankedAddr]=b; diff --git a/src/engine/platform/msm6295.h b/src/engine/platform/msm6295.h index e38a4ec6a..f7c8c58e0 100644 --- a/src/engine/platform/msm6295.h +++ b/src/engine/platform/msm6295.h @@ -63,9 +63,11 @@ class DivPlatformMSM6295: public DivDispatch, public vgsound_emu_mem_intf { struct BankedPhrase { unsigned char bank=0; unsigned char phrase=0; + unsigned int length=0; BankedPhrase(): bank(0), - phrase(0) {} + phrase(0), + length(0) {} } bankedPhrase[256]; friend void putDispatchChip(void*,int);