From 164d56a21fb6f3c2404af600a993ef2f11f3b081 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 16 Apr 2022 18:35:35 -0500 Subject: [PATCH] YM2151: implement panning macro i think --- src/engine/platform/arcade.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/engine/platform/arcade.cpp b/src/engine/platform/arcade.cpp index 2935bad0..f4311e29 100644 --- a/src/engine/platform/arcade.cpp +++ b/src/engine/platform/arcade.cpp @@ -264,6 +264,16 @@ void DivPlatformArcade::tick(bool sysTick) { rWrite(0x1b,chan[i].std.wave.val&3); } + if (chan[i].std.panL.had) { + chan[i].chVolL=(chan[i].std.panL.val&2)>>1; + chan[i].chVolR=chan[i].std.panL.val&1; + if (isMuted[i]) { + rWrite(chanOffs[i]+ADDR_LR_FB_ALG,(chan[i].state.alg&7)|(chan[i].state.fb<<3)); + } else { + rWrite(chanOffs[i]+ADDR_LR_FB_ALG,(chan[i].state.alg&7)|(chan[i].state.fb<<3)|((chan[i].chVolL&1)<<6)|((chan[i].chVolR&1)<<7)); + } + } + if (chan[i].std.pitch.had) { chan[i].freqChanged=true; }