From 91ca927618794df7b6867e9ee08ed6eb45cf4587 Mon Sep 17 00:00:00 2001 From: OBattler Date: Fri, 2 Feb 2024 05:30:11 +0100 Subject: [PATCH] AT NVR: The ability to lock reading of a register in preparation of the WD7C610 rewrite. --- src/nvr_at.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/nvr_at.c b/src/nvr_at.c index c66799579..7e356f55d 100644 --- a/src/nvr_at.c +++ b/src/nvr_at.c @@ -692,7 +692,7 @@ nvr_read(uint16_t addr, void *priv) { nvr_t *nvr = (nvr_t *) priv; const local_t *local = (local_t *) nvr->data; - uint8_t ret; + uint8_t ret = 0xff; uint8_t addr_id = (addr & 0x0e) >> 1; uint16_t i; uint16_t checksum = 0x0000; @@ -810,7 +810,8 @@ nvr_read(uint16_t addr, void *priv) break; default: - ret = nvr->regs[local->addr[addr_id]]; + if (!(local->lock[local->addr[addr_id]] & 0x02)) + ret = nvr->regs[local->addr[addr_id]]; break; } else {