From 2d0a1f289631c3efcc949538e1aca6626a97cda5 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sat, 29 Jul 2023 13:12:11 +0200 Subject: [PATCH] A5200 VisualDevub --- Manuals/MANUAL_EN.md | 4 ++-- Manuals/MANUAL_PL.md | 4 ++-- scorch.asm | 3 ++- scorch.bin | Bin 32768 -> 32768 bytes scorch.xex | Bin 56645 -> 56649 bytes weapons.asm | 14 ++++++++++++-- 6 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Manuals/MANUAL_EN.md b/Manuals/MANUAL_EN.md index ceb06a1..c2662d5 100644 --- a/Manuals/MANUAL_EN.md +++ b/Manuals/MANUAL_EN.md @@ -88,13 +88,13 @@ The keyboard controls here are simple, cursor keys or joystick: left/right - cha | [A] or [OPTION] | [7] | go directly to the defensive weapons activation. | [M] | [PAUSE] | disable/enable background music. | | [S] | [RESET] | disable/enable effect sounds. | -| [START] | N/A | speed up some game animations. | +| [START] | [START] | speed up some game animations. | | [O] | [3] | end the current game and jump to the Game Over screen with a summary. The summary of the results does not take into account the current round of the game, but only the rounds completed earlier. This corresponds to pressing the [ESC] key with the difference that the summary and credits are displayed. | | [START] + [OPTION] | N/A | immediately force the end of the game (Game Over), just like [O] but without confirmation. | [G] | N/A | changes the mountain shading | | [ESC] | [*] | during the entire game at any time (unless the computer is playing, then sometimes you have to wait a while) you can press the [ESC] key, which allows you to abort the game and return to the beginning (of course, there is protection against accidental pressing). | | [Y] | [1] | when asked to abort or terminate the game - confirmation | -| [CTRL] + [HELP] | N/A | Toggle "visual debug" mode. It displays distances measured, laser aiming, and aiming technique. It leaves a mess on the screen, but it does not impair the game, just makes it a bit harder. | +| [CTRL] + [HELP] | [#] long press | Toggle "visual debug" mode. It displays distances measured, laser aiming, and aiming technique. It leaves a mess on the screen, but it does not impair the game, just makes it a bit harder. | ## 5. Game mechanics - offensive weapons diff --git a/Manuals/MANUAL_PL.md b/Manuals/MANUAL_PL.md index 94611b4..fb69079 100644 --- a/Manuals/MANUAL_PL.md +++ b/Manuals/MANUAL_PL.md @@ -113,13 +113,13 @@ Tutaj klawiszologia jest prosta, klawisze kursora lub joystick: lewo/prawo - zmi | [A]/[OPTION] | [7] | bezpośrednie przejście na ekran Inventory aktywacji broni defensywnych. | | [M] | [PAUSE] | wyłączenie/włączenie muzyki w tle | | [S] | [RESET] | wyłączenie/włączenie dźwięków efektów | -| [START] | brak | przyspiesza/pomija niektóre animacje w grze | +| [START] | [SYART] | przyspiesza/pomija niektóre animacje w grze | | [O] | [3] | wymuszenie zakończenia gry (Game Over). W podsumowaniu wyników nie jest brana pod uwagę przerwana właśnie runda rozgrywki, a wyłącznie rundy zakończone wcześniej. Odpowiada to wciśnięciu klawisza [ESC] z tą różnicą, że wyświetlane jest podsumowanie oraz creditsy. | | [START]+[OPTION] | brak | natychmiastowe wymuszenie zakończenia gry (Game Over), tak jak [O], ale bez potwierdzenia. | | [G] | brak | zmienia wariant kolorystyczny gór (3 wersje do wyboru) | | [ESC] | [*] | w czasie całej gry w dowolnym momencie (chyba że akurat gra komputer, wtedy czasem trzeba chwilę poczekać) można nacisnąć klawisz [ESC], który umożliwia przerwanie gry i powrót na początek (oczywiście jest zabezpieczenie przed przypadkowym naciśnięciem). | | [Y] | [1] | w przypadku pytania o przerwanie lub zakończenie gry - potwierdzenie decyzji | -| [CTRL]+[HELP] | brak | Przełącza tryb "visual debug". Wizualizuje mierzone odległości, celowanie lasera oraz technikę celowania komputera. Pozostawia bałagan na ekranie, co nie zmienia rozgrywki, tylko ją nieco utrudnia. | +| [CTRL]+[HELP] | [#] długo | Przełącza tryb "visual debug". Wizualizuje mierzone odległości, celowanie lasera oraz technikę celowania komputera. Pozostawia bałagan na ekranie, co nie zmienia rozgrywki, tylko ją nieco utrudnia. | ## 5. Zasady gry - bronie ofensywne diff --git a/scorch.asm b/scorch.asm index 11aa8c4..fda792d 100644 --- a/scorch.asm +++ b/scorch.asm @@ -199,11 +199,12 @@ FirstZpageVariable = $54 _down = $08 _I = $09 _esc = $0a - _ret = $fb ;$0b ;not used in 5200 + _help = $0b ;Visual Debug in 5200 _del = $fc ;$0c ;not used in 5200 _M = $0d _S = $0e _atari = $fd ; not used in 5200 + _ret = $fd ; not used in 5200 _none = $0f .ende diff --git a/scorch.bin b/scorch.bin index 5d0e82e70189d4f49d3c7ab66925b3fae8ad060e..7f6034094e9a8952af1b8dd8a0e671e54c6efbf6 100644 GIT binary patch delta 1658 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 I4DAX12bHM!x&QzG delta 1632 zcmZ8h4Nz276y~zKut0Bt%@`noD`C0_m<}pA&{m8SGS8m`Q<)J~g;Br=kj4xhf8rVK zf?yZfUE!@LEO3$K@5#>sj~R8^=7~R>g4ImYWW^*Dv(sp0S#%a{9Gf?Dzw^%d-Z|%; z@4P1s%03&Eb?weZe+qlDH+rGN#Gbbj{YG4Q8xpq?yrY)&S&vmU)Pw(&iMkyypquew z@Td`Q%bQrmh!uevo>iNn!cn zn@RvhxlxAt1>W$35?O>}HG33D6sFB<5K0o3)ty4YHY0nxM6CAZio|VxTyb~N+S!vu zIy_7!>V@a@6;MM(Ra_@dBs?F363G>Q1JaXFOBB))ttAZE$ac#Gu+?Yo!|B~{6wXf? z`r&-z?6MH8k)sr-pR51o=Q~W$qR)5@*ZX zh$WG&kI*EEpy4k}8eQKzgX!$L#lDq`edk(ahsY*sf{9Mk8Z=FgwEcv3lHBuI=mwF_ z=b-P%()L)tODC*%LFl#vY$e&#vzaKd(tMTDEM-ppP$H|L*lFy}mu=O54f z*}=FX#Z`CJo(@h$EM~SNp}n_rSH{#$wD7WlwbAu(3HGmWdaW7-=4izm6pL#LUk= z#kSPA74Vn*UEZzsgBk3l8j!(N%C-;aC&_`{NJX?M z#jYU@y_%>Erb3g4dD?v6{O0NE(+MVi6(AJsQpI4LHl?oJ!B|HEWaR;4I^VV{SHu;3iWtwQ=#u$f{u^FlQCJe- zQdo4YTybh@DpzFp2x%&Mb^TUXCcBqB9L!J5;6dd5Ze0-Q;@|ZEXYh{w&KdW=37iYS z8U4gby`B=o+&3#~)oI>d_jd cNV#9Fe}s&Xj?obBFDQQ|*gh#-A1w|17l1$G^#A|> diff --git a/weapons.asm b/weapons.asm index c00170e..ea3d6bc 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1292,14 +1292,24 @@ NoSpyHard jumpFromStick .IF TARGET = 800 - cmp #$80|17 ; Ctrl+Help + cmp #$80|@kbcode._help ; Ctrl+Help bne NoVdebugSwitch + .ELSE + cmp #@kbcode._help ; Help (# in A5200) + bne NoVdebugSwitch + sta pressTimer ; reset 0+@kbcode._help (tricky) + jsr WaitForKeyRelease.StillWait + lda pressTimer + cmp #(25+@kbcode._help) ; 1/2s - long press only + bcc NoVdebugSwitch + .ENDIF lda Vdebug eor #$ff sta Vdebug + mva #sfx_long_barrel sfx_effect jmp ReleaseAndLoop NoVdebugSwitch - .ENDIF + and #$3f ;CTRL and SHIFT ellimination cmp #@kbcode._up ; $e jeq pressedUp