From 4724c1ccb1149cc5d51f4934863c85ba6974d44d Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 12 Jan 2023 18:36:13 -0500 Subject: [PATCH] Game Boy and NES: pitch macro now affects noise --- src/engine/platform/gb.cpp | 2 +- src/engine/platform/nes.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/engine/platform/gb.cpp b/src/engine/platform/gb.cpp index f2946d00..6e6c317c 100644 --- a/src/engine/platform/gb.cpp +++ b/src/engine/platform/gb.cpp @@ -284,7 +284,7 @@ void DivPlatformGB::tick(bool sysTick) { if (chan[i].freqChanged || chan[i].keyOn || chan[i].keyOff) { if (i==3) { // noise - int ntPos=chan[i].baseFreq+((chan[i].pitch2+64)>>7); + int ntPos=chan[i].baseFreq+chan[i].pitch2; if (ntPos<0) ntPos=0; if (ntPos>255) ntPos=255; chan[i].freq=noiseTable[ntPos]; diff --git a/src/engine/platform/nes.cpp b/src/engine/platform/nes.cpp index 3af55a0d..435384c4 100644 --- a/src/engine/platform/nes.cpp +++ b/src/engine/platform/nes.cpp @@ -278,6 +278,7 @@ void DivPlatformNES::tick(bool sysTick) { ntPos+=chan[i].arpOff; } } + ntPos+=chan[i].pitch2; if (parent->song.properNoiseLayout) { chan[i].freq=15-(ntPos&15); } else {