From 4ef9082b1c23e0e227d100daddb61578b323b05f Mon Sep 17 00:00:00 2001 From: 4am Date: Mon, 9 Mar 2020 18:05:01 -0400 Subject: [PATCH] switch to HGR mode in places where we might be in DHGR mode --- src/ui.attract.dhgr.a | 8 ++++++++ src/ui.browse.mode.a | 14 ++++++++++---- src/ui.common.a | 10 ++++++---- src/ui.credits.a | 4 ++-- src/ui.offscreen.a | 2 ++ src/ui.wait.a | 1 + 6 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/ui.attract.dhgr.a b/src/ui.attract.dhgr.a index 64d730a36..35877a3bb 100644 --- a/src/ui.attract.dhgr.a +++ b/src/ui.attract.dhgr.a @@ -89,6 +89,8 @@ BlankHGR jsr Home jsr ClearHGR1 ; clear hi-res screen 1 bit PAGE1 ; show hi-res screen 1 (now blank) + lda #1 + sta OffscreenPage ; /!\ execution falls through here to HGRMode ;------------------------------------------------------------------------------ ; HGRMode @@ -104,6 +106,12 @@ GRMode bit $C050 DHGRRTS rts +ForceHGRMode +gMachineInDHGRMode=*+1 + lda #$00 + bne BlankHGR + beq DHGRRTS + ;------------------------------------------------------------------------------ ; LoadDHGRTransition [private] ; looks up name of next DHGR transition effect in DFX.CONF and loads that file diff --git a/src/ui.browse.mode.a b/src/ui.browse.mode.a index eb313be82..af710e951 100644 --- a/src/ui.browse.mode.a +++ b/src/ui.browse.mode.a @@ -116,6 +116,12 @@ OnBrowseChanged jsr LoadGameTitleOffscreen jsr DrawUIWithoutDots jmp MaybeAnimateTitle +BrowseCreditsWrapper + jsr Credits + jmp ForceBrowseChanged +BrowseHelpWrapper + jsr Help + jmp ForceBrowseChanged ;------------------------------------------------------------------------------ @@ -126,8 +132,8 @@ BrowseDispatchTableLo !byte SearchMode !byte >OnBrowseTab !byte >OnBrowseLaunch - !byte >Help - !byte >Credits + !byte >BrowseHelpWrapper + !byte >BrowseCreditsWrapper !byte >OnBrowseCheat !byte >SoftBell diff --git a/src/ui.common.a b/src/ui.common.a index 758a404db..7f26c7905 100644 --- a/src/ui.common.a +++ b/src/ui.common.a @@ -57,11 +57,12 @@ Home sta CLOCKCTL ; black border sta CLOCKCTL ; set twice for VidHD @noSHR - ldx #(.end-@start-1) -- lda @start,x - sta $106,x + ldx #(.end-@start) +- lda @start-1,x + sta $105,x dex - bpl - + bne - + stx gMachineInDHGRMode jmp $106 @start ; this will be run from main memory @@ -109,6 +110,7 @@ BlankDHGR bit PAGE1 lda #1 sta OffscreenPage + sta gMachineInDHGRMode jmp HGRMode ;------------------------------------------------------------------------------ diff --git a/src/ui.credits.a b/src/ui.credits.a index 0cbb5b0e4..a6f03e49e 100644 --- a/src/ui.credits.a +++ b/src/ui.credits.a @@ -21,6 +21,7 @@ Credits !word kRootDirectory !word kCreditsFile !word $8000 + jsr ForceHGRMode jsr ClearOffscreen lda OffscreenPage ror ; draw on offscreen page @@ -30,8 +31,7 @@ Credits jsr ShowOtherPage ; show credits jsr WaitForKeyFor30Seconds; wait -- bit CLEARKBD ; don't care about key - jsr ShowOtherPage ; back to previous page -- clc ; if called from search mode, tell caller not to refresh +- sec ; if called from search mode, tell caller to refresh rts ;------------------------------------------------------------------------------ diff --git a/src/ui.offscreen.a b/src/ui.offscreen.a index 2c6663c96..710c3b474 100644 --- a/src/ui.offscreen.a +++ b/src/ui.offscreen.a @@ -70,6 +70,7 @@ LoadCoverOffscreen lda #