diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index 27bf2ad3..92c4fa38 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -3960,8 +3960,14 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop) { } // write wait if (totalWait>0) { - w->writeC(0x61); - w->writeS(totalWait); + if (totalWait==735) { + w->writeC(0x62); + } else if (totalWait==882) { + w->writeC(0x63); + } else { + w->writeC(0x61); + w->writeS(totalWait); + } tickCount+=totalWait; } if (writeLoop) { diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 67ee18e0..7c5a84e7 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -292,7 +292,7 @@ void DivPlatformGenesis::tick() { int freqt=toFreq(chan[i].freq); immWrite(chanOffs[i]+ADDR_FREQH,freqt>>8); immWrite(chanOffs[i]+ADDR_FREQ,freqt&0xff); - if (chan[i].furnaceDac) { + if (chan[i].furnaceDac && dacMode) { double off=1.0; if (dacSample>=0 && dacSamplesong.sampleLen) { DivSample* s=parent->song.sample[dacSample];