From db43abc25944ce2aa3f6f531391d4100c7f5cac1 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 3 Jun 2025 12:26:20 +0200 Subject: [PATCH] Help screen (fake colors) --- art/help.asm | 52 ++++++++++++++++++++++++++++++++++++++++++++ lumber.asm | 60 ++++++++++++++++++++++++++++++++++++++++++++++----- lumber.xex | Bin 33374 -> 33950 bytes 3 files changed, 107 insertions(+), 5 deletions(-) create mode 100644 art/help.asm diff --git a/art/help.asm b/art/help.asm new file mode 100644 index 0000000..fcf06e9 --- /dev/null +++ b/art/help.asm @@ -0,0 +1,52 @@ + dta $00,$00,$00,$00,$24,$2D,$20,$21 + dta $38,$39,$26,$29,$31,$24,$25,$24 + dta $3D,$3A,$3B,$46,$47,$26,$43,$24 + dta $3D,$36,$37,$44,$45,$31,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$44,$45,$46,$47,$20,$21 + dta $26,$43,$46,$47,$0A,$0B,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$44,$45,$46 + dta $47,$20,$21,$26,$43,$46,$47,$31 + dta $00,$44,$45,$26,$3F,$20,$21,$24 + dta $25,$26,$29,$31,$00,$00,$00,$00 + dta $00,$00,$00,$0E,$0F,$44,$45,$46 + dta $47,$31,$32,$33,$24,$3D,$50,$51 + dta $31,$22,$13,$48,$49,$46,$47,$46 + dta $47,$24,$3D,$3A,$3B,$31,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$36,$37,$26,$29 + dta $26,$2B,$46,$47,$31,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$32,$33,$24,$3D + dta $50,$51,$31,$24,$3D,$26,$43,$31 + dta $24,$25,$48,$49,$26,$43,$44,$45 + dta $24,$3D,$22,$43,$31,$00,$00,$00 + dta $00,$00,$00,$0E,$0F,$44,$45,$46 + dta $47,$31,$32,$33,$24,$3D,$50,$51 + dta $31,$22,$13,$48,$49,$46,$47,$46 + dta $47,$24,$3D,$3A,$3B,$31,$00,$00 + dta $00,$00,$00,$00,$00,$00,$46,$47 + dta $20,$21,$22,$13,$31,$00,$44,$45 + dta $26,$29,$36,$37,$26,$29,$24,$25 + dta $46,$47,$31,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$22,$43,$30,$24 + dta $2D,$26,$2F,$46,$47,$31,$00,$00 + dta $00,$00,$00,$00,$00,$00,$00,$00 + dta $00,$00,$00,$00,$32,$33,$24,$3D + dta $50,$51,$31,$24,$3D,$26,$43,$31 + dta $24,$25,$48,$49,$26,$43,$44,$45 + dta $24,$3D,$22,$43,$31,$00,$00,$00 + dta $00,$00,$00,$10,$11,$3A,$3B,$26 + dta $27,$31,$32,$33,$24,$3D,$50,$51 + dta $31,$22,$13,$48,$49,$46,$47,$46 + dta $47,$24,$3D,$3A,$3B,$31,$00,$00 + dta $00,$00,$00,$22,$43,$26,$29,$46 + dta $47,$48,$49,$22,$43,$3A,$3B,$31 + dta $00,$00,$24,$3D,$26,$3F,$46,$47 + dta $30,$24,$3D,$3A,$3B,$31,$00,$00 \ No newline at end of file diff --git a/lumber.asm b/lumber.asm index cb5879d..405ea20 100644 --- a/lumber.asm +++ b/lumber.asm @@ -29,7 +29,7 @@ display = $a000 .zpvar tempbyte2 .byte .zpvar SyncByte .byte .zpvar NTSCCounter .byte - .zpvar StateFlag .byte ; 0 - menu, 1 = GO!, 2 - game screen, 3 RIP screen, 4 - game over screen, etc. + .zpvar StateFlag .byte ; 0 - menu, 1 = GO!, 2 - game screen, 3 RIP screen, 4 - game over screen, 5 - halp screen, etc. .zpvar PowerValue .byte ; power: 0 - 48 .zpvar PowerTimer .byte .zpvar PowerDownSpeed .byte @@ -108,7 +108,7 @@ font_over ;--------------------------------------------------- dl_over .by $45 - .wo over_screen ; title screen (menu?) + .wo over_screen ; Game Over screen .by $05 .by $85 ; DLI1 - end of chain :3 .by $05 @@ -119,6 +119,13 @@ dl_over .by $41 .wo dl_over ;--------------------------------------------------- +dl_help + .by $45 + .wo help_screen ; + :12 .by $05 + .by $41 + .wo dl_help +;--------------------------------------------------- dl_title .by $10,$70 .by $44+$80 ; DLI1 - Logo PM and colors @@ -310,6 +317,8 @@ credit_nr ; number of credit to display (displayed) .ds 1 credits_anim_counter ; counter for credits animation/display .ds 1 +help_screen + icl 'art/help.asm' ; 13 lines, mode 5 ;-------------------------------------------------- .proc vint ;-------------------------------------------------- @@ -325,13 +334,19 @@ no_titles ; go screen dli (StateFlag = 1) vdli GoDLI1 jmp DLI_OK -no_go +no_go + cmp #5 + bne no_help + ; help screen dli + vdli noDLI + jmp DLI_OK +no_help cmp #4 - beq no_geme_and_RIP + beq no_game_and_RIP ; game screen and RIP screen (StateFlag=2 or 3) - set DLI vdli IngameDLI1 jmp DLI_OK -no_geme_and_RIP +no_game_and_RIP ; game over screen (StateFlag=4) - set DLI vdli GameOverDLI1 @@ -346,6 +361,8 @@ DLI_OK beq game_VBI cmp #4 jeq gameover_VBI + cmp #5 + jeq common_VBI game_VBI go_VBI ; game screen and RIP screen (StateFlag=2 or 3) VBI @@ -1414,6 +1431,11 @@ leftkey sta Difficulty jmp difficulty_display notdirectionskeys + cmp #@kbcode._help + bne no_help + jsr HelpScreen + jmp StartScreen +no_help cmp #@kbcode._space ; space, Start beq EndOfStartScreen cmp #@kbcode._tab ; TAB, 1st joy button @@ -1507,6 +1529,34 @@ EndOfOverScreen rts .endp ;-------------------------------------------------- +.proc HelpScreen +;-------------------------------------------------- + mva #$ff StateFlag + jsr ScoreToBuffer + jsr MakeDarkScreen + jsr ClearPM + jsr HidePM + mva #5 StateFlag + mva #>font_titles CHBAS + mwa #dl_help dlptrs + mva GameColors+c_sky COLBAKS + mva GameColors+c_over1 COLOR0 + mva GameColors+c_white2 COLOR1 + mva GameColors+c_white2 COLOR2 + mva GameColors+c_font3 COLOR3 + lda #@dmactl(narrow|dma) ; narrow screen width, P/M off + sta dmactls + pause 1 +HelpLoop + jsr GetKey + cmp #@kbcode._space ; space, Start + beq EndOfHelpScreen + cmp #@kbcode._tab ; TAB, Joy 1st button + bne HelpLoop +EndOfHelpScreen + rts +.endp +;-------------------------------------------------- .proc MakeDarkScreen ;-------------------------------------------------- mva #0 dmactls ; dark screen diff --git a/lumber.xex b/lumber.xex index 5de0924afedc8b8b9e3a9e9cabd88b89c3bcfcc1..696ffcaf5960edc651b14f2cbb4adac829fe16b1 100644 GIT binary patch delta 7477 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 GUGhK3sI$}n