From edf94487af4f3a8f687c17affdf8c10375b59c0c Mon Sep 17 00:00:00 2001 From: Folkert van Heusden Date: Sat, 19 Mar 2022 09:04:15 +0100 Subject: [PATCH] rk05: update register first to not overwrite it at function exit --- rk05.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rk05.cpp b/rk05.cpp index d9b5e91..d725769 100644 --- a/rk05.cpp +++ b/rk05.cpp @@ -149,6 +149,9 @@ void rk05::writeWord(const uint16_t addr, uint16_t v) const int reg = (addr - RK05_BASE) / 2; fprintf(stderr, "RK05 write %s/%o: %o\n", regnames[reg], addr, v); + D(fprintf(stderr, "set register %o to %o\n", addr, v);) + registers[reg] = v; + if (addr == RK05_CS) { if (v & 1) { // GO const int func = (v >> 1) & 7; // FUNCTION @@ -273,9 +276,6 @@ void rk05::writeWord(const uint16_t addr, uint16_t v) } } - D(fprintf(stderr, "set register %o to %o\n", addr, v);) - registers[reg] = v; - #if defined(ESP32) digitalWrite(LED_BUILTIN, HIGH); #endif