From 6f40caf411dcea2811d0a9405caec90da35496ed Mon Sep 17 00:00:00 2001 From: 4am Date: Thu, 26 Sep 2019 13:46:13 -0400 Subject: [PATCH] add help screen with global hotkey, move credits hotkey to ampersand --- Makefile | 1 + res/attic/transfer.dsk | Bin 143360 -> 143360 bytes src/prodos.path.a | 4 ++++ src/ui.browse.mode.a | 19 ++++++++++++------- src/ui.credits.a | 21 +++++++++++++++++++++ src/ui.offscreen.a | 15 +++++++++++++-- src/ui.overlay.a | 4 +--- src/ui.search.mode.a | 35 ++++++++++++++++++++++------------- 8 files changed, 74 insertions(+), 25 deletions(-) mode change 100755 => 100644 res/attic/transfer.dsk diff --git a/Makefile b/Makefile index 37a062069..2cc1ac69b 100644 --- a/Makefile +++ b/Makefile @@ -35,6 +35,7 @@ dsk: md asm bin/padto.sh 512 build/PREFS.CONF $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "res/TITLE" >>build/log $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "res/COVER" >>build/log + $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "res/HELP" >>build/log $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "build/PREFS.CONF" >>build/log $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "build/GAMES.CONF" >>build/log $(CADIUS) ADDFILE build/"$(DISK)" "/$(VOLUME)/" "build/ATTRACT.CONF" >>build/log diff --git a/res/attic/transfer.dsk b/res/attic/transfer.dsk old mode 100755 new mode 100644 index 2c4ece1639d7a7f8f9676e1c656357dc3466b2ae..00a333b0f5fc32f79cc32adcad4e200b0717181f GIT binary patch delta 10288 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 H)zbe0%Ji~m delta 14545 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 !byte >OnBrowseTab !byte >OnBrowseLaunch + !byte >Help !byte >Credits !byte >OnBrowseCheat !byte >SoftBell -kNumBrowseKeys = 11 ; number of entries in next 2 tables (each) +kNumBrowseKeys = 12 ; number of entries in next 2 tables (each) BrowseKeys !byte $83 ; Ctrl-C = toggle cheat mode - !byte $AF ; '/' = credits - !byte $BF ; '?' = credits + !byte $A6 ; '&' = credits + !byte $AF ; '/' = help + !byte $BF ; '?' = help !byte $A0 ; Space = mini attract mode !byte $89 ; TAB = mini attract mode !byte $8D ; ENTER = launch current game @@ -151,7 +155,8 @@ BrowseKeys BrowseKeyDispatch !byte kBrowseCheat !byte kBrowseCredits - !byte kBrowseCredits + !byte kBrowseHelp + !byte kBrowseHelp !byte kBrowseTab !byte kBrowseTab !byte kBrowseLaunch diff --git a/src/ui.credits.a b/src/ui.credits.a index 7971b4c18..0cd6c0f87 100644 --- a/src/ui.credits.a +++ b/src/ui.credits.a @@ -23,3 +23,24 @@ Credits jsr ShowOtherPage ; back to previous page clc ; if called from search mode, tell caller not to refresh rts + +Help +; clobbers all + jsr LoadHelpOffscreen + jsr ShowOtherPage + jsr WaitForKeyFor30Seconds + cmp #$83 + beq @exitWithoutShowingOtherPage + jsr IsUpDownOrRightArrow + beq @exitWithoutShowingOtherPage + cmp #$88 + beq @exitViaBrowse + jsr IsSearchKey + beq @exitWithoutShowingOtherPage + bit CLEARKBD + jsr ShowOtherPage +@exitWithoutShowingOtherPage + clc + rts +@exitViaBrowse + jmp BrowseMode diff --git a/src/ui.offscreen.a b/src/ui.offscreen.a index ebb4a0073..2ee6dfa84 100644 --- a/src/ui.offscreen.a +++ b/src/ui.offscreen.a @@ -6,6 +6,7 @@ ; - GetOffscreenAddress ; - LoadTitleOffscreen ; - LoadCoverOffscreen +; - LoadHelpOffscreen ; - LoadGameTitleOffscreen ; - ShowOtherPage ; - ToggleOffscreenPage @@ -55,6 +56,17 @@ LoadTitleOffscreen ;; ; last with the high byte of the address, ;; ; which is never 0. I miss my 65c02. ;;} +;------------------------------------------------------------------------------ +; LoadHelpOffscreen +; load help screen in the HGR page that is currently not showing +; +; in: none +; out: all flags and registers clobbered +;------------------------------------------------------------------------------ +LoadHelpOffscreen + +LDADDR kHelpFile + bne LoadOffscreenFromAY ; always branches + ;------------------------------------------------------------------------------ ; LoadCoverOffscreen ; load cover screen in the HGR page that is currently not showing @@ -63,9 +75,8 @@ LoadTitleOffscreen ; out: all flags and registers clobbered ;------------------------------------------------------------------------------ LoadCoverOffscreen -; clobbers all +LDADDR kCoverFile -+ +LoadOffscreenFromAY +STAY @fname jsr GetOffscreenAddress sta + diff --git a/src/ui.overlay.a b/src/ui.overlay.a index b49f357d9..10ab060a6 100644 --- a/src/ui.overlay.a +++ b/src/ui.overlay.a @@ -13,9 +13,7 @@ ; Instructions - !text "[Type to search, " - !byte $15 ; right arrow character - !text " to browse] " + !text "[Type to search, ? for help ] " VisibleGameCount !text "000 games" ReturnToPlay diff --git a/src/ui.search.mode.a b/src/ui.search.mode.a index 1f1a968d9..a51bc9744 100644 --- a/src/ui.search.mode.a +++ b/src/ui.search.mode.a @@ -51,13 +51,9 @@ SearchMode ; we want to switch to Browse Mode with the keyboard still hot so ; that mode finds and dispatches the arrow key. - cmp #$8B ; up arrow switches to browse mode - beq @arrow - cmp #$95 ; also right arrow - beq @arrow - cmp #$8A ; also down arrow + jsr IsUpDownOrRightArrow bne @notArrow -@arrow ldx #kInputBrowse + ldx #kInputBrowse bne .InputDispatch ; always branches @notArrow bit CLEARKBD @@ -187,6 +183,14 @@ IsSearchKey ldx #1 rts +IsUpDownOrRightArrow + cmp #$8B ; up arrow + beq @done + cmp #$95 ; right arrow + beq @done + cmp #$8A ; down arrow +@done rts + ; indices into InputDispatchTable kInputSearch = 0 kInputClear = 1 @@ -194,9 +198,10 @@ kInputBack = 2 kInputBrowse = 3 kInputTab = 4 kInputLaunch = 5 -kInputCredits = 6 -kInputCheat = 7 -kInputError = 8 +kInputHelp = 6 +kInputCredits = 7 +kInputCheat = 8 +kInputError = 9 InputDispatchTableLo !byte BrowseMode !byte >OnTab !byte >OnLaunch + !byte >Help !byte >Credits !byte >OnCheat !byte >OnError -kNumInputKeys = 9 ; number of entries in next 2 tables (each) +kNumInputKeys = 10 ; number of entries in next 2 tables (each) InputKeys !byte $83 ; Ctrl-C = toggle cheat mode - !byte $AF ; '/' = credits - !byte $BF ; '?' = credits + !byte $A6 ; '&' = credits + !byte $AF ; '/' = help + !byte $BF ; '?' = help !byte $A0 ; Space = mini attract mode !byte $89 ; TAB = mini attract mode !byte $88 ; left arrow = delete (may as well, since @@ -235,7 +243,8 @@ InputKeys InputKeyDispatch !byte kInputCheat !byte kInputCredits - !byte kInputCredits + !byte kInputHelp + !byte kInputHelp !byte kInputTab !byte kInputTab !byte kInputBack