On Wed, 23 Oct 2024, Mark Cave-Ayland wrote:
The rtc phase value of -1 is directly equivalent to using a phase value of 0 so
simplify the logic to use an initial rtc phase of 0.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk>
---
hw/m68k/next-cube.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c
index 43b2c775c0..e4d0083eb0 100644
--- a/hw/m68k/next-cube.c
+++ b/hw/m68k/next-cube.c
@@ -265,9 +265,6 @@ static void next_scr2_rtc_update(NeXTPC *s)

    if (scr2_2 & 0x1) {
        /* DPRINTF("RTC %x phase %i\n", scr2_2, rtc->phase); */
-        if (rtc->phase == -1) {
-            rtc->phase = 0;
-        }
        /* If we are in going down clock... do something */
        if (((old_scr2 & SCR2_RTCLK) != (scr2_2 & SCR2_RTCLK)) &&
                ((scr2_2 & SCR2_RTCLK) == 0)) {
@@ -282,7 +279,7 @@ static void next_scr2_rtc_update(NeXTPC *s)
        }
    } else {
        /* else end or abort */
-        rtc->phase = -1;
+        rtc->phase = 0;
        rtc->command = 0;
        rtc->value = 0;
    }

Additionally, maybe it would be simpler to invert the if condition and move this else branch up there to the beginning so you can return early after this reset (the deposit at the end does nothing after the else case as it's just storing back the unmodified value) and then you can deindent the big if where most of the functionality is now.

Regards,
BALATON Zoltan

Reply via email to