From 2f8e2f9a5e062f880bfe5f504cc473796572f408 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Wed, 14 Dec 2022 19:22:34 -0500 Subject: [PATCH] YM2612: partial, buggy CSM on ymfm --- src/engine/platform/genesis.cpp | 2 +- src/engine/platform/sound/ymfm/ymfm_fm.ipp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 1f79cd0d4..9dd3699c7 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -209,12 +209,12 @@ void DivPlatformGenesis::acquire_ymfm(short* bufL, short* bufR, size_t start, si lastBusy=1; } - iface.clock(); if (ladder) { fm_ymfm->generate(&out_ymfm); } else { ((ymfm::ym3438*)fm_ymfm)->generate(&out_ymfm); } + iface.clock(); os[0]=out_ymfm.data[0]; os[1]=out_ymfm.data[1]; //OPN2_Write(&fm,0,0); diff --git a/src/engine/platform/sound/ymfm/ymfm_fm.ipp b/src/engine/platform/sound/ymfm/ymfm_fm.ipp index 6eab8308b..4fdff8a38 100644 --- a/src/engine/platform/sound/ymfm/ymfm_fm.ipp +++ b/src/engine/platform/sound/ymfm/ymfm_fm.ipp @@ -1521,7 +1521,7 @@ void fm_engine_base::engine_timer_expired(uint32_t tnum) for (uint32_t chnum = 0; chnum < CHANNELS; chnum++) if (bitfield(RegisterType::CSM_TRIGGER_MASK, chnum)) { - m_channel[chnum]->keyonoff(1, KEYON_CSM, chnum); + m_channel[chnum]->keyonoff(0xf, KEYON_CSM, chnum); m_modified_channels |= 1 << chnum; }