From cfd311f0f136d404c86a138f934e996f5b1d4ecd Mon Sep 17 00:00:00 2001 From: 640KB <640kb@glabios.org> Date: Mon, 4 Aug 2025 20:26:31 -0400 Subject: [PATCH] MM58167 register index 0x0 and 0x5 are also half-registers Related to https://github.com/86Box/86Box/issues/3347 0x0 and 0x8 low nibbles are always 0 0x5 and 0xd high nibbles are always 0 --- src/device/isartc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/device/isartc.c b/src/device/isartc.c index 2eaf4c5bd..3e488f8db 100644 --- a/src/device/isartc.c +++ b/src/device/isartc.c @@ -410,6 +410,7 @@ mm67_read(uint16_t port, void *priv) break; case MM67_AL_MSEC: + case MM67_MSEC: ret = dev->nvr.regs[reg] & 0xf0; break; @@ -417,6 +418,10 @@ mm67_read(uint16_t port, void *priv) ret = dev->nvr.regs[reg] & 0x0f; break; + case MM67_DOW: + ret = dev->nvr.regs[reg] & 0x07; + break; + default: ret = dev->nvr.regs[reg]; break;