From 3deacca28dfade5af829fd14fe927c0c6049ead5 Mon Sep 17 00:00:00 2001 From: OBattler Date: Sun, 20 Nov 2022 12:27:05 +0100 Subject: [PATCH] Small correction to YMFM I/O port handlers. --- src/sound/snd_opl_ymfm.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/sound/snd_opl_ymfm.cpp b/src/sound/snd_opl_ymfm.cpp index c45c76479..bb52f3c55 100644 --- a/src/sound/snd_opl_ymfm.cpp +++ b/src/sound/snd_opl_ymfm.cpp @@ -320,12 +320,12 @@ ymfm_drv_read(uint16_t port, void *priv) { YMFMChipBase *drv = (YMFMChipBase *) priv; - if (port == 0x381) { - port += 4; - } /* Point to register read port. */ - if (drv->flags() & FLAG_CYCLES) { + if ((port == 0x380) || (port == 0x381)) + port |= 4; + + /* Point to register read port. */ + if (drv->flags() & FLAG_CYCLES) cycles -= ((int) (isa_timing * 8)); - } uint8_t ret = drv->read(port); drv->update(); @@ -339,9 +339,8 @@ ymfm_drv_write(uint16_t port, uint8_t val, void *priv) { YMFMChipBase *drv = (YMFMChipBase *) priv; ymfm_log("YMFM write port %04x value = %02x\n", port, val); - if (port == 0x380 || port == 0x381) { - port += 4; - } + if ((port == 0x380) || (port == 0x381)) + port |= 4; drv->write(port, val); drv->update(); }