From dc60a1dd52f5ee30dee475621adbbef236432bf8 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 26 Oct 2023 18:50:51 +0200 Subject: [PATCH] It works! --- game.asm | 1 - scorch.asm | 30 +++++++++++++++++++----------- scorch.xex | Bin 56567 -> 56547 bytes scorchC64.asm | 14 ++++++++++++-- scorchC64.prg | Bin 39921 -> 39839 bytes weapons.asm | 9 ++------- 6 files changed, 33 insertions(+), 21 deletions(-) diff --git a/game.asm b/game.asm index 818312b..44e7153 100644 --- a/game.asm +++ b/game.asm @@ -402,7 +402,6 @@ ManualShooting lda #%00000000 sta TestFlightFlag ; set "Test Fight" off jsr BeforeFire - mva #$00 FastKeyRead bit escFlag spl:rts ; keys Esc or O diff --git a/scorch.asm b/scorch.asm index 393b15d..f7e0527 100644 --- a/scorch.asm +++ b/scorch.asm @@ -54,9 +54,8 @@ AdditionalZPvariables = $20 .zpvar MeteorsRound .byte ; set 7th bit - block meteors in round -FirstZpageVariable = $4f +FirstZpageVariable = $50 .zpvar DliColorBack .byte = FirstZpageVariable - .zpvar FastKeyRead .byte ; 0 - GetKey wait for any key (and generates SFX), $ff - fast GetKey .zpvar ClearSky .byte ; $ff - Crear sky during drawmountains, 0 - no clear sky .zpvar PaddleState .byte ; old state 2nd button for 2 buttons joysticks .zpvar GradientNr .byte @@ -405,7 +404,7 @@ NoRMT_PALchange sta JoystickNumber .IF TARGET = 800 ; second joy button state update only on A800 jsr WaitOneFrame ; is necessary for update shadow registers (PADDL0) in VBI - jmp GetKey.Check2button ; update state second joy button + jmp GetKeyFast.Check2button ; update state second joy button .ELSE rts .ENDIF @@ -419,6 +418,21 @@ NoRMT_PALchange ;-------------------------------------------------- jsr WaitForKeyRelease getKeyAfterWait + jsr GetKeyFast + cmp #@kbcode._none + beq getKeyAfterWait + ldy #0 + sty ATRACT ; reset atract mode + mvy #sfx_keyclick sfx_effect + rts +.endp + +;-------------------------------------------------- +.proc GetKeyFast +; returns pressed value in A - no waits for press +; when [ESC] is pressed, escFlag is set +; result: A=keycode ($ff - no key pressed) +;-------------------------------------------------- .IF TARGET = 800 lda SKSTAT cmp #$ff @@ -471,8 +485,6 @@ checkSelectKey lda CONSOL and #%00000100 ; Option .ENDIF - bit FastKeyRead - bpl getKeyAfterWait lda #@kbcode._none bne getkeyend OptionPressed @@ -485,12 +497,8 @@ SelectPressed JoyButton lda #@kbcode._ret ; Return key getkeyend - ldy #0 - sty ATRACT ; reset atract mode - bit FastKeyRead - bmi @+ - mvy #sfx_keyclick sfx_effect -@ rts + rts +; ---- .IF TARGET = 800 ; Second joy button only on A800 Check2button lda PADDL0 diff --git a/scorch.xex b/scorch.xex index 417fc0a8fe322a16ea333fc814bd5c126c44cb8a..ed7cd73e05b2e643ec55ae8d573b56612beb7eb6 100644 GIT binary patch delta 7685 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 diff --git a/scorchC64.asm b/scorchC64.asm index 2585d42..89eef07 100644 --- a/scorchC64.asm +++ b/scorchC64.asm @@ -253,8 +253,18 @@ StartAfterSplash ; result: A=keycode ;-------------------------------------------------- jsr WaitForKeyRelease - lda #0 - sta escFlag + jsr GetKeyFast + ldy #0 + sty escFlag + rts +.endp + +;-------------------------------------------------- +.proc GetKeyFast +; returns pressed value in A - no wait for press +; when [ESC] is pressed, escFlag is set +; result: A=keycode +;-------------------------------------------------- lda #$ff rts .endp diff --git a/scorchC64.prg b/scorchC64.prg index f98da4adefb2fbf6e42bc0ac985bdb6448a97fae..3c650152fbf438b9460a24ba960b2115b3441f4f 100644 GIT binary patch delta 5424 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�-yjW00y8tLz!$JTY}jO3K{)c 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