From d42ffd3ef4ab8d60af301046cda023f05dbbdab2 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Sun, 1 Mar 2026 11:57:28 -0500 Subject: Don't show GR.0 screen during loading. --- memsetup.asm | 5 +++++ src/screen.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/memsetup.asm b/memsetup.asm index 3fe19d1..314a7df 100644 --- a/memsetup.asm +++ b/memsetup.asm @@ -5,6 +5,11 @@ memsetup sta $02e6 ; MEMTOP high lda #0 sta $02e5 ; MEMTOP low + sta $022f ; SDMCTL (turn off screen) + lda $14 ; RTCLOK+2 +loop + cmp $14 ; wait until next frame + beq loop rts *= $02e2 ; INITAD diff --git a/src/screen.c b/src/screen.c index 252d39d..8fd2309 100644 --- a/src/screen.c +++ b/src/screen.c @@ -39,10 +39,10 @@ static void scr_scroll(char s) { } void scr_init(void) { - int i, old_dma; + int i; + + OS.sdmctl = 0; /* disappear the screen */ - old_dma = OS.sdmctl; - OS.sdmctl = 0; scr_waitvcount(112); /* after the last GR.0 line */ *SDLST = DLIST_BOT_ADDR; OS.chbas = FONT_ADDR_HI; @@ -56,7 +56,7 @@ void scr_init(void) { strcpy(scr_names[1], "[private]"); scr_status[0] = scr_status[1] = SCR_INACTIVE; - OS.sdmctl = old_dma; + OS.sdmctl = 0x22; /* show the screen again */ scr_display(0); } -- cgit v1.2.3