breaking the limit, part 2

all dispatches adapted to 32768 samples.
sample limit unlocked.
testing is required.
This commit is contained in:
tildearrow 2025-07-27 20:16:59 -05:00
parent a4da787c1b
commit 387d9e0654
47 changed files with 430 additions and 168 deletions

View file

@ -674,7 +674,7 @@ size_t DivPlatformGBAMinMod::getSampleMemUsage(int index) {
bool DivPlatformGBAMinMod::isSampleLoaded(int index, int sample) {
if (index!=0) return false;
if (sample<0 || sample>255) return false;
if (sample<0 || sample>32767) return false;
return sampleLoaded[sample];
}
@ -690,6 +690,8 @@ const DivMemoryComposition* DivPlatformGBAMinMod::getMemCompo(int index) {
void DivPlatformGBAMinMod::renderSamples(int sysID) {
size_t maxPos=getSampleMemCapacity();
memset(sampleMem,0,maxPos);
memset(sampleOff,0,32768*sizeof(unsigned int));
memset(sampleLoaded,0,32768*sizeof(bool));
romMemCompo.entries.clear();
romMemCompo.capacity=maxPos;
@ -788,3 +790,14 @@ void DivPlatformGBAMinMod::quit() {
delete oscBuf[i];
}
}
// initialization of important arrays
DivPlatformGBAMinMod::DivPlatformGBAMinMod() {
sampleOff=new unsigned int[32768];
sampleLoaded=new bool[32768];
}
DivPlatformGBAMinMod::~DivPlatformGBAMinMod() {
delete[] sampleOff;
delete[] sampleLoaded;
}