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)
lda xbyte
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
bne NoMissile
clc
+8 -10
View File
@@ -117,15 +117,11 @@ START
; Startup sequence
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
lda escFlag
bne START
;entering names of players
mwa #NameDL dlptrs
@@ -140,6 +136,8 @@ START
lda TankStatusColoursTable,x
sta colpf2s ; set color of player name line
jsr EnterPlayerName
lda escFlag
bne START
inc TankNr
lda TankNr
cmp NumberOfPlayers
@@ -762,7 +760,7 @@ loop05
.endp
;--------------------------------------------------
Initialize .proc
.proc Initialize
;Initialization sequence
;--------------------------------------------------
deletePtr = temp
@@ -771,7 +769,7 @@ deletePtr = temp
sta Erase
sta tracerflag
sta GameIsOver
sta escFlag
; clean variables
tay
@@ -1042,7 +1040,7 @@ EnergyInRange
.endp
;----------------------------------------------
MoveBarrelToNewPosition .proc
.proc MoveBarrelToNewPosition
jsr DrawTankNr
ldx TankNr
lda AngleTable,x
@@ -1077,7 +1075,7 @@ BarrelPositionIsFine
.endp
;----------------------------------------------
SortSequence .proc ;
.proc SortSequence ;
;----------------------------------------------
; here we try to get a sequence of tanks for two
; 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)
; - 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
OptionsMainLoop
jsr OptionsInversion
jsr getkey
cmp #$f ;cursor down
cmp #28 ; ESC
bne @+
mva #1 escFlag
rts
@ cmp #$f ;cursor down
bne OptionsNoDown
inc:lda OptionsY
cmp #maxoptions
@@ -865,6 +879,11 @@ endOfTankName
CheckKeys
jsr getkey
cmp #28 ; ESC
bne @+
mva #1 escFlag
rts
@
; is the char to be recorded?
ldx #keycodesEnd-keycodes ;table was 38 chars long
IsLetter
+1
View File
@@ -33,6 +33,7 @@ RoundNrDisplay
.byte $ff
variablesStart ; zeroing starts here
escFlag .ds 1
;--------------
sfx_effect .ds 1
;--------------