From 67c7afd4cdbaa9d9a63087ce6b4098a502138a83 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Fri, 5 Sep 2025 01:01:27 -0500 Subject: [PATCH] MMC5: fix env mode not set after reset/forceIns issue #2675 --- src/engine/platform/mmc5.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/engine/platform/mmc5.cpp b/src/engine/platform/mmc5.cpp index 672891bb4..bf8164012 100644 --- a/src/engine/platform/mmc5.cpp +++ b/src/engine/platform/mmc5.cpp @@ -377,6 +377,10 @@ void DivPlatformMMC5::forceIns() { for (int i=0; i<3; i++) { chan[i].insChanged=true; chan[i].prevFreq=65535; + if (i<2) { + // TODO: implement noise mode + rWrite(0x5000+i*4,(0x30)|(chan[i].active?chan[i].outVol:0)|((chan[i].duty&3)<<6)); + } } } @@ -429,6 +433,10 @@ void DivPlatformMMC5::reset() { rWrite(0x5015,0x03); rWrite(0x5010,0x00); + + for (int i=0; i<2; i++) { + rWrite(0x5000+i*4,(0x30)|0|((chan[i].duty&3)<<6)); + } } bool DivPlatformMMC5::keyOffAffectsArp(int ch) {