From dfef25c7b2b5016d783093856d6f255415f056d9 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 8 Nov 2023 09:48:44 +0100 Subject: [PATCH] Added support for long button press in the main menu (like Tab) and in the activation menu (activation). --- Atari/inputs.asm | 11 +++++++++++ Atari/textproc.asm | 15 +++++++++++++-- scorch.xex | Bin 32606 -> 32628 bytes weapons.asm | 9 +++------ 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/Atari/inputs.asm b/Atari/inputs.asm index 44ca61d..39f4415 100644 --- a/Atari/inputs.asm +++ b/Atari/inputs.asm @@ -108,6 +108,17 @@ Check2button rts .endp +;-------------------------------------------------- +.proc WaitForLongPress +;-------------------------------------------------- + lda #0 + sta pressTimer ; reset + jsr WaitForKeyRelease.StillWait + lda pressTimer + cmp #25 ; 1/2s + rts ; if CARRY is set then long press +.endp + ;-------------------------------------------------- .proc WaitForKeyRelease ;-------------------------------------------------- diff --git a/Atari/textproc.asm b/Atari/textproc.asm index 715b48b..87fd262 100644 --- a/Atari/textproc.asm +++ b/Atari/textproc.asm @@ -78,7 +78,7 @@ OptionsMainLoop jsr OptionsInversion - jsr getkey + jsr GetKey bit escFlag spl:rts @@ -124,11 +124,16 @@ OptionsNoLeft OptionsNoRight cmp #@kbcode._ret ; $c ;Return key bne OptionsNoReturn + ; wait for long press + jsr WaitForLongPress + bcs TabPressed ; if long press (fire or Return) +EndOfOptions rts ; options selected OptionsNoReturn cmp #@kbcode._tab ; Tab key bne OptionsNoTab +TabPressed jsr SelectNextGradient OptionsNoTab jmp OptionsMainLoop @@ -409,7 +414,13 @@ ChoosingItemForPurchase cmp #@kbcode._left ; $06 ; cursor left jeq ListChange cmp #@kbcode._ret ; $0c ; Return - sne:rts + bne NoReturn + jsr WaitForLongPress + bcc exitthismenu ; short press + jmp PurchaseWeaponNow ; long press +exitthismenu + rts +NoReturn cmp #@kbcode._up ; $e beq PurchaseKeyUp cmp #@kbcode._down ; $f diff --git a/scorch.xex b/scorch.xex index 434323ec70bf017c436be1627277430ea1223aaf..b42b53e4ebeb9e5c667b14212bb86be92cc1722e 100644 GIT binary patch delta 6857 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 delta 6617 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