From 8b9da366e439174aef222566e12223eae142f57a Mon Sep 17 00:00:00 2001 From: tildearrow Date: Tue, 8 Jun 2021 20:45:38 -0500 Subject: [PATCH] PCE: implement noise, wave and pan commands TODO: actually implement noise mode very well --- src/engine/platform/pce.cpp | 17 ++++------------- src/engine/platform/pce.h | 6 +++--- src/engine/playback.cpp | 12 ++++++++++++ 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/engine/platform/pce.cpp b/src/engine/platform/pce.cpp index 4e9c26aaf..7e32f24e5 100644 --- a/src/engine/platform/pce.cpp +++ b/src/engine/platform/pce.cpp @@ -62,10 +62,6 @@ void DivPlatformPCE::tick() { chan[i].freqChanged=true; } } - if (chan[i].std.hadDuty) { - chan[i].duty=chan[i].std.duty; - //DivInstrument* ins=parent->getIns(chan[i].ins); - } if (chan[i].std.hadWave) { if (chan[i].wave!=chan[i].std.wave) { chan[i].wave=chan[i].std.wave; @@ -167,17 +163,12 @@ int DivPlatformPCE::dispatch(DivCommand c) { break; } case DIV_CMD_STD_NOISE_MODE: - chan[c.chan].duty=c.value; - if (c.chan!=2) { - chan[c.chan].freqChanged=true; - // TODO - } + chan[c.chan].noise=c.value; + chWrite(c.chan,0x07,chan[c.chan].noise?0x80:0); break; case DIV_CMD_PANNING: { - lastPan&=~(0x11<