ESCape from menus #74

This commit is contained in:
2022-05-22 10:12:52 -04:00
parent 491dc2861c
commit ec5838ebaf
5 changed files with 31 additions and 13 deletions
+1 -1
View File
@@ -629,7 +629,7 @@ DrawTankNrX
rorw xbyte ; divide by 2 (carry does not matter) rorw xbyte ; divide by 2 (carry does not matter)
lda xbyte lda xbyte
clc clc
adc #$24 ; P/M to graphics offser adc #$24 ; P/M to graphics offset
cpx #$4 ; 5th tank are joined missiles and offset is defferent cpx #$4 ; 5th tank are joined missiles and offset is defferent
bne NoMissile bne NoMissile
clc clc
+9 -11
View File
@@ -117,15 +117,11 @@ START
; Startup sequence ; Startup sequence
jsr Initialize jsr Initialize
mwa #OptionsDL dlptrs
lda dmactls
and #$fc
ora #$02 ; normal screen width
sta dmactls
VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs
jsr Options ;startup screen jsr Options ;startup screen
lda escFlag
bne START
;entering names of players ;entering names of players
mwa #NameDL dlptrs mwa #NameDL dlptrs
@@ -140,6 +136,8 @@ START
lda TankStatusColoursTable,x lda TankStatusColoursTable,x
sta colpf2s ; set color of player name line sta colpf2s ; set color of player name line
jsr EnterPlayerName jsr EnterPlayerName
lda escFlag
bne START
inc TankNr inc TankNr
lda TankNr lda TankNr
cmp NumberOfPlayers cmp NumberOfPlayers
@@ -762,7 +760,7 @@ loop05
.endp .endp
;-------------------------------------------------- ;--------------------------------------------------
Initialize .proc .proc Initialize
;Initialization sequence ;Initialization sequence
;-------------------------------------------------- ;--------------------------------------------------
deletePtr = temp deletePtr = temp
@@ -771,7 +769,7 @@ deletePtr = temp
sta Erase sta Erase
sta tracerflag sta tracerflag
sta GameIsOver sta GameIsOver
sta escFlag
; clean variables ; clean variables
tay tay
@@ -1042,7 +1040,7 @@ EnergyInRange
.endp .endp
;---------------------------------------------- ;----------------------------------------------
MoveBarrelToNewPosition .proc .proc MoveBarrelToNewPosition
jsr DrawTankNr jsr DrawTankNr
ldx TankNr ldx TankNr
lda AngleTable,x lda AngleTable,x
@@ -1077,7 +1075,7 @@ BarrelPositionIsFine
.endp .endp
;---------------------------------------------- ;----------------------------------------------
SortSequence .proc ; .proc SortSequence ;
;---------------------------------------------- ;----------------------------------------------
; here we try to get a sequence of tanks for two ; here we try to get a sequence of tanks for two
; purposes: ; purposes:
BIN
View File
Binary file not shown.
+20 -1
View File
@@ -16,13 +16,27 @@ Options .proc
; - money each player has on the beginning of the game (moneyL i moneyH) ; - money each player has on the beginning of the game (moneyL i moneyH)
; - and I am sure maxwind, gravity, no_of_rounds in a game, speed of shell flight ; - and I am sure maxwind, gravity, no_of_rounds in a game, speed of shell flight
mwa #OptionsDL dlptrs
lda dmactls
and #$fc
ora #$02 ; normal screen width
sta dmactls
VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs
mva #0 OptionsY mva #0 OptionsY
OptionsMainLoop OptionsMainLoop
jsr OptionsInversion jsr OptionsInversion
jsr getkey jsr getkey
cmp #$f ;cursor down cmp #28 ; ESC
bne @+
mva #1 escFlag
rts
@ cmp #$f ;cursor down
bne OptionsNoDown bne OptionsNoDown
inc:lda OptionsY inc:lda OptionsY
cmp #maxoptions cmp #maxoptions
@@ -865,6 +879,11 @@ endOfTankName
CheckKeys CheckKeys
jsr getkey jsr getkey
cmp #28 ; ESC
bne @+
mva #1 escFlag
rts
@
; is the char to be recorded? ; is the char to be recorded?
ldx #keycodesEnd-keycodes ;table was 38 chars long ldx #keycodesEnd-keycodes ;table was 38 chars long
IsLetter IsLetter
+1
View File
@@ -33,6 +33,7 @@ RoundNrDisplay
.byte $ff .byte $ff
variablesStart ; zeroing starts here variablesStart ; zeroing starts here
escFlag .ds 1
;-------------- ;--------------
sfx_effect .ds 1 sfx_effect .ds 1
;-------------- ;--------------