diff --git a/src/engine/platform/mmc5.cpp b/src/engine/platform/mmc5.cpp index 66bead9da..8446643b6 100644 --- a/src/engine/platform/mmc5.cpp +++ b/src/engine/platform/mmc5.cpp @@ -304,6 +304,7 @@ int DivPlatformMMC5::dispatch(DivCommand c) { } case DIV_CMD_STD_NOISE_MODE: chan[c.chan].duty=c.value; + rWrite(0x5000+c.chan*4,0x30|chan[c.chan].outVol|((chan[c.chan].duty&3)<<6)); break; case DIV_CMD_SAMPLE_BANK: sampleBank=c.value; diff --git a/src/engine/platform/nes.cpp b/src/engine/platform/nes.cpp index dffcb7ee1..4b301839d 100644 --- a/src/engine/platform/nes.cpp +++ b/src/engine/platform/nes.cpp @@ -520,6 +520,8 @@ int DivPlatformNES::dispatch(DivCommand c) { chan[c.chan].duty=c.value; if (c.chan==3) { // noise chan[c.chan].freqChanged=true; + } else if (c.chan<2) { + rWrite(0x4000+c.chan*4,0x30|chan[c.chan].outVol|((chan[c.chan].duty&3)<<6)); } break; case DIV_CMD_NES_SWEEP: