this does not work

This commit is contained in:
tildearrow 2024-10-17 15:06:13 -05:00
parent d5154a103e
commit 3c892ada2a
2 changed files with 17 additions and 3 deletions

View file

@ -236,6 +236,7 @@ void DivPlatformLynx::tick(bool sysTick) {
}
}
chan[i].sampleFreq=off*parent->calcFreq(chan[i].sampleBaseFreq,chan[i].pitch,chan[i].fixedArp?chan[i].baseNoteOverride:chan[i].arpOff,chan[i].fixedArp,false,2,chan[i].pitch2,chipClock,CHIP_FREQBASE);
if (dumpWrites) addWrite(0xffff0001+(i<<8),chan[i].sampleFreq);
} else {
if (chan[i].lfsr >= 0) {
WRITE_LFSR(i, (chan[i].lfsr&0xff));
@ -307,6 +308,7 @@ int DivPlatformLynx::dispatch(DivCommand c) {
} else {
chan[c.chan].samplePos=0;
}
if (dumpWrites) addWrite(0xffff0000+(c.chan<<8),chan[c.chan].sample);
}
if (c.value!=DIV_NOTE_NULL) {
chan[c.chan].baseFreq=NOTE_PERIODIC(c.value);
@ -331,6 +333,7 @@ int DivPlatformLynx::dispatch(DivCommand c) {
chan[c.chan].macroInit(NULL);
if (chan[c.chan].pcm) {
chan[c.chan].pcm=false;
if (dumpWrites) addWrite(0xffff0002+(c.chan<<8),0);
}
break;
case DIV_CMD_LYNX_LFSR_LOAD:

View file

@ -1358,6 +1358,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p
bool writeNESSamples=false;
bool writePCESamples=false;
bool writeVOXSamples=false;
bool writeLynxSamples=false;
DivDispatch* writeADPCM_OPNA[2]={NULL,NULL};
DivDispatch* writeADPCM_OPNB[2]={NULL,NULL};
DivDispatch* writeADPCM_Y8950[2]={NULL,NULL};
@ -1687,8 +1688,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p
if (!hasLynx) {
hasLynx=disCont[i].dispatch->chipClock;
willExport[i]=true;
// once again
writeDACSamples=true;
writeLynxSamples=true;
} else if (!(hasLynx&0x40000000)) {
isSecond[i]=true;
willExport[i]=true;
@ -2234,6 +2234,17 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p
}
}
if (writeLynxSamples && !directStream) for (int i=0; i<song.sampleLen; i++) {
DivSample* sample=song.sample[i];
w->writeC(0x67);
w->writeC(0x66);
w->writeC(8);
w->writeI(sample->length8);
for (unsigned int j=0; j<sample->length8; j++) {
w->writeC(sample->data8[j]);
}
}
for (int i=0; i<2; i++) {
// SegaPCM
if (writeSegaPCM[i]!=NULL && writeSegaPCM[i]->getSampleMemUsage(0)>0) {
@ -2550,7 +2561,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p
w->writeC(0x91);
w->writeC(streamID);
w->writeC(0);
w->writeC(8);
w->writeC(1);
w->writeC(0);