From b0c683fee53c4578171c3d950a199ae2a7f4e4e1 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 3 Jul 2023 04:06:42 -0500 Subject: [PATCH] Game Boy: fix wave corruption I think --- src/engine/platform/gb.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/engine/platform/gb.cpp b/src/engine/platform/gb.cpp index d187b8c76..683f97211 100644 --- a/src/engine/platform/gb.cpp +++ b/src/engine/platform/gb.cpp @@ -19,6 +19,7 @@ #include "gb.h" #include "../engine.h" +#include "../../ta-log.h" #include #define rWrite(a,v) if (!skipRegisterWrites) {writes.emplace(a,v); regPool[(a)&0x7f]=v; if (dumpWrites) {addWrite(a,v);} } @@ -80,6 +81,7 @@ void DivPlatformGB::acquire(short** buf, size_t len) { } void DivPlatformGB::updateWave() { + logV("WAVE UPDATE"); rWrite(0x1a,0); for (int i=0; i<16; i++) { int nibble1=ws.output[((i<<1)+antiClickWavePos)&31]; @@ -299,6 +301,7 @@ void DivPlatformGB::tick(bool sysTick) { } if (chan[i].keyOn) { if (i==2) { // wave + rWrite(16+i*5,0x00); rWrite(16+i*5,0x80); rWrite(16+i*5+2,gbVolMap[chan[i].outVol]); } else {