diff --git a/src/engine/platform/fmshared_OPN.h b/src/engine/platform/fmshared_OPN.h index e1b5eca7..8d3d059c 100644 --- a/src/engine/platform/fmshared_OPN.h +++ b/src/engine/platform/fmshared_OPN.h @@ -130,14 +130,15 @@ class DivPlatformOPN: public DivPlatformFMBase { unsigned char freqH, freqL; int portaPauseFreq; signed char konCycles; - bool mask; + bool mask, hardReset; OPNOpChannel(): SharedChannel(0), freqH(0), freqL(0), portaPauseFreq(0), konCycles(0), - mask(true) {} + mask(true), + hardReset(false) {} }; struct OPNOpChannelStereo: public OPNOpChannel { diff --git a/src/engine/platform/genesisext.cpp b/src/engine/platform/genesisext.cpp index 08b7a65c..e0a3e4a6 100644 --- a/src/engine/platform/genesisext.cpp +++ b/src/engine/platform/genesisext.cpp @@ -396,6 +396,9 @@ int DivPlatformGenesisExt::dispatch(DivCommand c) { } break; } + case DIV_CMD_FM_HARD_RESET: + opChan[ch].hardReset=c.value; + break; case DIV_CMD_GET_VOLMAX: return 127; break;