diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 3e271410..a1108e41 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -602,6 +602,7 @@ void DivPlatformGenesisExt::reset() { for (int i=0; i<4; i++) { opChan[i]=DivPlatformGenesisExt::OpChannel(); opChan[i].vol=127; + opChan[i].outVol=127; } // channel 3 mode diff --git a/src/engine/platform/genesisext.h b/src/engine/platform/genesisext.h index 6f46402f..c1550f5b 100644 --- a/src/engine/platform/genesisext.h +++ b/src/engine/platform/genesisext.h @@ -28,8 +28,12 @@ class DivPlatformGenesisExt: public DivPlatformGenesis { int freq, baseFreq, pitch, pitch2, portaPauseFreq, ins; signed char konCycles; bool active, insChanged, freqChanged, keyOn, keyOff, portaPause, inPorta, mask; - int vol; + int vol, outVol; unsigned char pan; + void macroInit(DivInstrument* which) { + std.init(which); + pitch2=0; + } OpChannel(): freqH(0), freqL(0), @@ -48,6 +52,7 @@ class DivPlatformGenesisExt: public DivPlatformGenesis { inPorta(false), mask(true), vol(0), + outVol(0), pan(3) {} }; OpChannel opChan[4];