From 1cadb626184b2258dfcbfc5273aab549e7915d29 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 5 Jun 2025 22:03:28 +0200 Subject: [PATCH] Auto screen change --- lumber.asm | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- lumber.xex | Bin 34028 -> 34104 bytes 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/lumber.asm b/lumber.asm index 6ef328a..2b4cc4b 100644 --- a/lumber.asm +++ b/lumber.asm @@ -9,7 +9,7 @@ ;--------------------------------------------------- .macro build - dta d"0.51" ; number of this build (4 bytes) + dta d"0.55" ; number of this build (4 bytes) .endm .macro RMTSong @@ -1410,6 +1410,8 @@ gameOver ;-------------------------------------------------- .proc StartScreen ;-------------------------------------------------- + jsr ZeroClock + mva #$00 AutoScreen mva #$ff StateFlag mva #125 FootTimer ; set delay for first foot animation (125 = 20s in PAL) jsr MakeDarkScreen @@ -1463,7 +1465,16 @@ no_help cmp #@kbcode._space ; space, Start beq EndOfStartScreen cmp #@kbcode._tab ; TAB, 1st joy button + beq EndOfStartScreen + ; check timer + lda RTCLOK+1 + cmp #8 bne StartLoop + ; if timer then auto change screens (help, Hi-score) + mva #$ff AutoScreen + jsr HelpScreen + jsr GameOverScreen + jmp StartScreen EndOfStartScreen rts .endp @@ -1512,14 +1523,19 @@ EndOfStartScreen ;-------------------------------------------------- .proc GameOverScreen ;-------------------------------------------------- - mva #$ff StateFlag - jsr ScoreToBuffer + mvy #$ff StateFlag + iny + sty ATRACT ; reset atract mode + jsr ZeroClock jsr MakeDarkScreen jsr ClearPM jsr HidePM jsr PrepareOverPM + bit AutoScreen + bmi training_mode lda Difficulty bne training_mode + jsr ScoreToBuffer jsr ScoreToTable ; score saving only in normal game mode training_mode jsr PrepareScores @@ -1535,6 +1551,8 @@ training_mode sta dmactls mva #%00000011 GRACTL pause 1 + bit AutoScreen + bmi training_mode2 lda Difficulty bne training_mode2 lda NewHiScorePosition @@ -1549,6 +1567,13 @@ OverLoop cmp #@kbcode._space ; space, Start beq EndOfOverScreen cmp #@kbcode._tab ; TAB, Joy 1st button + beq EndOfOverScreen + ; if AutoScreen flag is set + bit AutoScreen + bpl OverLoop + ; check timer + lda RTCLOK+1 + cmp #2 bne OverLoop EndOfOverScreen rts @@ -1557,6 +1582,7 @@ EndOfOverScreen .proc HelpScreen ;-------------------------------------------------- mva #$ff StateFlag + jsr ZeroClock jsr ScoreToBuffer jsr MakeDarkScreen jsr ClearPM @@ -1578,6 +1604,13 @@ HelpLoop cmp #@kbcode._space ; space, Start beq EndOfHelpScreen cmp #@kbcode._tab ; TAB, Joy 1st button + beq EndOfHelpScreen + ; if AutoScreen flag is set + bit AutoScreen + bpl HelpLoop + ; check timer + lda RTCLOK+1 + cmp #2 bne HelpLoop EndOfHelpScreen rts @@ -1797,6 +1830,14 @@ no_branch_l rts .endp ;-------------------------------------------------- +.proc ZeroClock +;-------------------------------------------------- + lda #0 + sta RTCLOK+1 + sta RTCLOK+2 + rts +.endp +;-------------------------------------------------- .proc TextToScreen ;-------------------------------------------------- ; print text from temp address to screen at temp2 address @@ -3005,6 +3046,8 @@ PositionInName .ds 1 ; position in player name CharCode .ds 1 ; input character code in player name +AutoScreen + .ds 1 ; 0 - standard, $ff - auto screen change ;-------------------------------------------------- .proc MenuAnimationsReset ;-------------------------------------------------- diff --git a/lumber.xex b/lumber.xex index 3151f28e8c08c92f33a11361bbc43f460cefbf8e..05d37a8085a172d331393e91e9270ad182a6020b 100644 GIT binary patch delta 4381 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 b6%%6Wlr|D#?v&OM64NPdI%I$KV(fnbCLi9i delta 4397 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