Tank shapes selection added.

Better appearance of tanks on title screen.
This commit is contained in:
Pecusx
2022-11-26 14:57:54 +01:00
parent 9c912d4cc7
commit 091335dbc9
11 changed files with 27 additions and 13 deletions
+4 -1
View File
@@ -28,7 +28,10 @@ The [RETURN] key or a joystick button moves to the next screen.
## 2. Entering the name of players and selecting the level of computer-controlled players ## 2. Entering the name of players and selecting the level of computer-controlled players
The second screen is shown for each player. Here you can use the cursor keys or joystick to select whether the tank will be driven by a human (HUMAN option) or a computer (other options). The [TAB] or [SELECT] key, and on the Atari 5200 console the [5] controller key allow you to choose which joystick port the player will use. At the same time, you can enter the name of the selected player from the keyboard. The second screen is shown for each player. Here you can use the cursor keys or joystick to select whether the tank will be driven by a human (HUMAN option) or a computer (other options).
The [TAB] or [SELECT] key, and on the Atari 5200 console the [5] controller key allow you to choose which joystick port the player will use.
The [INVERSE] or [OPTION] key allows you to select one of the 3 available tank shapes. On the Atari 5200 console, this is achieved by cycling through joystick ports with the [5] key.
At the same time, you can enter the name of the selected player from the keyboard.
When the [RETURN] key is pressed or the Joystick button is pressed briefly, the screen switches to the next player until the difficulty levels for each player are selected. When the [RETURN] key is pressed or the Joystick button is pressed briefly, the screen switches to the next player until the difficulty levels for each player are selected.
The player's name can also be entered with the joystick. After pressing and holding the button for more than 1s. you can use up/down movements to change the letter being entered, and left/right movements to change its position in the name. Releasing the button ends the name entry and returns to the level selection. The player's name can also be entered with the joystick. After pressing and holding the button for more than 1s. you can use up/down movements to change the letter being entered, and left/right movements to change its position in the name. Releasing the button ends the name entry and returns to the level selection.
+4 -1
View File
@@ -26,7 +26,10 @@ Wybór opcji klawiszami kursora lub joystickiem.
Klawisz [RETURN] lub przycisk Joysticka przechodzi do następnego ekranu. Klawisz [RETURN] lub przycisk Joysticka przechodzi do następnego ekranu.
## 2. Wprowadzanie nazwy graczy i wybór poziomu graczy sterowanych przez komputer ## 2. Wprowadzanie nazwy graczy i wybór poziomu graczy sterowanych przez komputer
Drugi ekran powtarza się dla każdego z graczy można na nim klawiszami kursora lub joystickiem wybrać czy danym czołgiem będzie kierował człowiek (opcja HUMAN) czy też komputer (pozostałe opcje). Klawisz [TAB] lub [SELECT], a na konsoli Atari 5200 klawisz [5] kontrolera pozwalają wybrać z którego portu joysticka będzie korzystał gracz. Jednocześnie z klawiatury można wprowadzić nazwę wybranego gracza. Drugi ekran powtarza się dla każdego z graczy można na nim klawiszami kursora lub joystickiem wybrać czy danym czołgiem będzie kierował człowiek (opcja HUMAN) czy też komputer (pozostałe opcje).
Klawisz [TAB] lub [SELECT], a na konsoli Atari 5200 klawisz [5] kontrolera pozwalają wybrać z którego portu joysticka będzie korzystał gracz.
Klawisz [INVERSE] lub [OPTION] umożliwiają wybór jednego z 3 dostępnych kształtów czołgów. Na konsoli Atari 5200 uzyskuje się to poprzez cykliczne wybieranie kolejnych portów joysticka klawiszem [5].
Jednocześnie z klawiatury można wprowadzić nazwę wybranego gracza.
Po naciśnięciu klawisza [RETURN] lub krótkim naciśnięciu przycisku Joysticka ekran przechodzi na następnego gracza aż zostaną wybrane poziomy trudności dla wszystkich. Po naciśnięciu klawisza [RETURN] lub krótkim naciśnięciu przycisku Joysticka ekran przechodzi na następnego gracza aż zostaną wybrane poziomy trudności dla wszystkich.
Nazwę gracza można wprowadzać także przy pomocy joysticka. Po wciśnięciu i przytrzymaniu przycisku ponad 1s. za pomocą ruchów góra/dół można zmienić wprowadzaną literę, a lewo/prawo jej pozycję w nazwie. Puszczenie przycisku kończy wprowadzanie nazwy i wraca do wyboru poziomu. Nazwę gracza można wprowadzać także przy pomocy joysticka. Po wciśnięciu i przytrzymaniu przycisku ponad 1s. za pomocą ruchów góra/dół można zmienić wprowadzaną literę, a lewo/prawo jej pozycję w nazwie. Puszczenie przycisku kończy wprowadzanie nazwy i wraca do wyboru poziomu.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -29,7 +29,7 @@ OptionsScreenEnd
;----------------------------------------------- ;-----------------------------------------------
NameScreen2 NameScreen2
dta d" Tank 1 * 1/1 Name:" dta d" Tank 1 *1 +1 Name:"
NameAdr NameAdr
dta d" " dta d" "
NameScreen4 NameScreen4
+1 -1
View File
@@ -178,7 +178,7 @@ OptionsDL
:maxOptions-1 .by $02,$10 :maxOptions-1 .by $02,$10
:(9-maxOptions) .by $70,$10 :(9-maxOptions) .by $70,$10
.byte $80 .byte $80
.byte $70 ; to match moved sprites .byte $60 ; to match moved sprites
.byte $4f .byte $4f
.word (display+140*40) .word (display+140*40)
:21 .by $0f ;76 :21 .by $0f ;76
+9 -2
View File
@@ -171,6 +171,7 @@ FirstZpageVariable = $61
_del = $fc ;$0c ;not used in 5200 _del = $fc ;$0c ;not used in 5200
_M = $0d _M = $0d
_S = $0e _S = $0e
_atari = $fd ; not used in 5200
_none = $0f _none = $0f
.ende */ .ende */
@@ -1739,14 +1740,20 @@ notpressedJoyGetKey
;fire ;fire
lda STRIG0 lda STRIG0
beq JoyButton beq JoyButton
.IF TARGET = 800 ; Select key only on A800 .IF TARGET = 800 ; Select and Option key only on A800
bne checkSelectKey bne checkSelectKey
checkSelectKey checkSelectKey
lda CONSOL lda CONSOL
and #%00000010 and #%00000010 ; Select
beq SelectPressed
lda CONSOL
and #%00000100 ; Option
.ENDIF .ENDIF
bne @- bne @-
OptionPressed OptionPressed
lda #@kbcode._atari ; Option key
bne getkeyend
SelectPressed
lda #@kbcode._tab ; Select key lda #@kbcode._tab ; Select key
bne getkeyend bne getkeyend
JoyButton JoyButton
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+6 -2
View File
@@ -1164,7 +1164,7 @@ CheckKeys
lda JoyNumber,x lda JoyNumber,x
tay tay
lda digits+1,y lda digits+1,y
sta NameScreen2+12 ; display joystick port number sta NameScreen2+11 ; display joystick port number
lda TankShape,x lda TankShape,x
tay tay
lda digits+1,y lda digits+1,y
@@ -1208,6 +1208,8 @@ CheckFurtherX01 ; here we check Tab, Return and Del
beq ChangeOfLevel3Up beq ChangeOfLevel3Up
cmp #@kbcode._up ; $e ;cursor up cmp #@kbcode._up ; $e ;cursor up
beq ChangeOfLevel3Down beq ChangeOfLevel3Down
cmp #@kbcode._atari ; atari (inverse) key
jeq ChangeOfShapeUp
cmp #@kbcode._del ; $34 ; Backspace (del) cmp #@kbcode._del ; $34 ; Backspace (del)
bne CheckKeys bne CheckKeys
@@ -1234,7 +1236,9 @@ ChangeOfJoyUp
lda JoyNumber,x lda JoyNumber,x
and #%00000011 ; max 4 joysticks and #%00000011 ; max 4 joysticks
sta JoyNumber,x sta JoyNumber,x
beq ChangeOfShapeUp ; change tank shape .IF TARGET = 5200
beq ChangeOfShapeUp ; change tank shape
.ENDIF
jmp CheckKeys jmp CheckKeys
;---- ;----
ChangeOfLevelUp ; change difficulty level of computer opponent ChangeOfLevelUp ; change difficulty level of computer opponent
+2 -5
View File
@@ -902,9 +902,7 @@ ExplodeNow
.proc checkRollDirection .proc checkRollDirection
; check rolling direction (for roller and other rolling weapons) ; check rolling direction (for roller and other rolling weapons)
ldy #0 ldy #0
mwa #mountaintable tempXROLLER adw xdraw #mountaintable tempXROLLER
adw tempXROLLER xdraw
lda (tempXROLLER),y lda (tempXROLLER),y
sta ydraw sta ydraw
sty ydraw+1 sty ydraw+1
@@ -935,8 +933,7 @@ HowMuchToFallLeft
bcs GoRightNow bcs GoRightNow
mva #1 HowMuchToFall mva #1 HowMuchToFall
GoRightNow GoRightNow
mwa #mountaintable tempXROLLER adw xdraw #mountaintable tempXROLLER
adw tempXROLLER xdraw
SeekRight SeekRight
cpw tempXROLLER #(mountaintable+screenwidth) cpw tempXROLLER #(mountaintable+screenwidth)
beq HowMuchToFallKnown ; "stop" if we have on left end beq HowMuchToFallKnown ; "stop" if we have on left end