From e130f80ef3d56a56b0dab604701a855149d32aae Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 29 Feb 2024 21:33:40 -0500 Subject: [PATCH] YM2612: fix CSM VGM export --- src/engine/vgmOps.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/engine/vgmOps.cpp b/src/engine/vgmOps.cpp index 5e3ad32a1..2d85601f8 100644 --- a/src/engine/vgmOps.cpp +++ b/src/engine/vgmOps.cpp @@ -37,6 +37,7 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write case DIV_SYSTEM_YM2612_EXT: case DIV_SYSTEM_YM2612_DUALPCM: case DIV_SYSTEM_YM2612_DUALPCM_EXT: + case DIV_SYSTEM_YM2612_CSM: for (int i=0; i<3; i++) { // set SL and RR to highest w->writeC(2|baseAddr1); w->writeC(0x80+i); @@ -780,6 +781,7 @@ void DivEngine::performVGMWrite(SafeWriter* w, DivSystem sys, DivRegWrite& write case DIV_SYSTEM_YM2612_EXT: case DIV_SYSTEM_YM2612_DUALPCM: case DIV_SYSTEM_YM2612_DUALPCM_EXT: + case DIV_SYSTEM_YM2612_CSM: switch (write.addr>>8) { case 0: // port 0 w->writeC(2|baseAddr1); @@ -1471,6 +1473,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_YM2612_EXT: case DIV_SYSTEM_YM2612_DUALPCM: case DIV_SYSTEM_YM2612_DUALPCM_EXT: + case DIV_SYSTEM_YM2612_CSM: if (!hasOPN2) { hasOPN2=disCont[i].dispatch->chipClock; CHIP_VOL(2,1.6); @@ -2311,6 +2314,7 @@ SafeWriter* DivEngine::saveVGM(bool* sysToExport, bool loop, int version, bool p case DIV_SYSTEM_YM2612_EXT: case DIV_SYSTEM_YM2612_DUALPCM: case DIV_SYSTEM_YM2612_DUALPCM_EXT: + case DIV_SYSTEM_YM2612_CSM: w->writeC(0x90); w->writeC(streamID); w->writeC(0x02);