From 13b782c7b18276e5d06beab3deffbed99bc480db Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 16 Jan 2023 18:41:56 -0500 Subject: [PATCH] YM2612: yet another fix --- src/engine/platform/fmsharedbase.h | 4 ++-- src/engine/platform/genesis.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/engine/platform/fmsharedbase.h b/src/engine/platform/fmsharedbase.h index 9da1c69f0..f64c723ac 100644 --- a/src/engine/platform/fmsharedbase.h +++ b/src/engine/platform/fmsharedbase.h @@ -103,8 +103,8 @@ class DivPlatformFMBase: public DivDispatch { } } inline void urgentWrite(unsigned short a, unsigned char v) { - if (!skipRegisterWrites) { - if (writes.empty() || flushFirst) { + if (!skipRegisterWrites && !flushFirst) { + if (writes.empty()) { writes.push_back(QueuedWrite(a,v)); } else if (writes.size()>16 || writes.front().addrOrVal) { writes.push_back(QueuedWrite(a,v)); diff --git a/src/engine/platform/genesis.cpp b/src/engine/platform/genesis.cpp index 25986df59..3d46c0e96 100644 --- a/src/engine/platform/genesis.cpp +++ b/src/engine/platform/genesis.cpp @@ -34,7 +34,7 @@ void DivYM2612Interface::ymfm_set_timer(uint32_t tnum, int32_t duration_in_clock } else if (tnum==0) { countA=duration_in_clocks; } - logV("ymfm_set_timer(%d,%d)",tnum,duration_in_clocks); + //logV("ymfm_set_timer(%d,%d)",tnum,duration_in_clocks); } void DivYM2612Interface::clock() { @@ -1132,8 +1132,8 @@ void DivPlatformGenesis::forceIns() { } } } - rWrite(0x2b,0x00); - rWrite(0x2a,0x00); + immWrite(0x2b,0x00); + //rWrite(0x2a,0x00); if (chan[5].dacMode) { chan[5].dacSample=-1; chan[6].dacSample=-1;