diff --git a/MANUAL_EN.md b/MANUAL_EN.md index a57c227..9792b9e 100644 --- a/MANUAL_EN.md +++ b/MANUAL_EN.md @@ -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 -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. 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. diff --git a/MANUAL_PL.md b/MANUAL_PL.md index 9080291..f9790aa 100644 --- a/MANUAL_PL.md +++ b/MANUAL_PL.md @@ -26,7 +26,10 @@ Wybór opcji klawiszami kursora lub joystickiem. Klawisz [RETURN] lub przycisk Joysticka przechodzi do następnego ekranu. ## 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. 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. diff --git a/artwork/tanksv3.fnt b/artwork/tanksv3.fnt index ddd8678..78e514c 100644 Binary files a/artwork/tanksv3.fnt and b/artwork/tanksv3.fnt differ diff --git a/artwork/weapons_AW6_mod.fnt b/artwork/weapons_AW6_mod.fnt index 272cc87..8d23ec9 100644 Binary files a/artwork/weapons_AW6_mod.fnt and b/artwork/weapons_AW6_mod.fnt differ diff --git a/display_main_menu.asm b/display_main_menu.asm index 11056f8..5833478 100644 --- a/display_main_menu.asm +++ b/display_main_menu.asm @@ -29,7 +29,7 @@ OptionsScreenEnd ;----------------------------------------------- NameScreen2 - dta d" Tank 1 * 1/1 Name:" + dta d" Tank 1 *1 +1 Name:" NameAdr dta d" " NameScreen4 diff --git a/display_static.asm b/display_static.asm index da4db3c..12f00f9 100644 --- a/display_static.asm +++ b/display_static.asm @@ -178,7 +178,7 @@ OptionsDL :maxOptions-1 .by $02,$10 :(9-maxOptions) .by $70,$10 .byte $80 - .byte $70 ; to match moved sprites + .byte $60 ; to match moved sprites .byte $4f .word (display+140*40) :21 .by $0f ;76 diff --git a/scorch.asm b/scorch.asm index c8565ed..1e1e7b4 100644 --- a/scorch.asm +++ b/scorch.asm @@ -171,6 +171,7 @@ FirstZpageVariable = $61 _del = $fc ;$0c ;not used in 5200 _M = $0d _S = $0e + _atari = $fd ; not used in 5200 _none = $0f .ende */ @@ -1739,14 +1740,20 @@ notpressedJoyGetKey ;fire lda STRIG0 beq JoyButton - .IF TARGET = 800 ; Select key only on A800 + .IF TARGET = 800 ; Select and Option key only on A800 bne checkSelectKey checkSelectKey lda CONSOL - and #%00000010 + and #%00000010 ; Select + beq SelectPressed + lda CONSOL + and #%00000100 ; Option .ENDIF bne @- OptionPressed + lda #@kbcode._atari ; Option key + bne getkeyend +SelectPressed lda #@kbcode._tab ; Select key bne getkeyend JoyButton diff --git a/scorch.bin b/scorch.bin index 804cd64..67f18e8 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index 5086e8d..c41eee7 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/textproc.asm b/textproc.asm index 8c72510..600d809 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1164,7 +1164,7 @@ CheckKeys lda JoyNumber,x tay lda digits+1,y - sta NameScreen2+12 ; display joystick port number + sta NameScreen2+11 ; display joystick port number lda TankShape,x tay lda digits+1,y @@ -1208,6 +1208,8 @@ CheckFurtherX01 ; here we check Tab, Return and Del beq ChangeOfLevel3Up cmp #@kbcode._up ; $e ;cursor up beq ChangeOfLevel3Down + cmp #@kbcode._atari ; atari (inverse) key + jeq ChangeOfShapeUp cmp #@kbcode._del ; $34 ; Backspace (del) bne CheckKeys @@ -1234,7 +1236,9 @@ ChangeOfJoyUp lda JoyNumber,x and #%00000011 ; max 4 joysticks sta JoyNumber,x - beq ChangeOfShapeUp ; change tank shape + .IF TARGET = 5200 + beq ChangeOfShapeUp ; change tank shape + .ENDIF jmp CheckKeys ;---- ChangeOfLevelUp ; change difficulty level of computer opponent diff --git a/weapons.asm b/weapons.asm index 33612f1..baa9123 100644 --- a/weapons.asm +++ b/weapons.asm @@ -902,9 +902,7 @@ ExplodeNow .proc checkRollDirection ; check rolling direction (for roller and other rolling weapons) ldy #0 - mwa #mountaintable tempXROLLER - - adw tempXROLLER xdraw + adw xdraw #mountaintable tempXROLLER lda (tempXROLLER),y sta ydraw sty ydraw+1 @@ -935,8 +933,7 @@ HowMuchToFallLeft bcs GoRightNow mva #1 HowMuchToFall GoRightNow - mwa #mountaintable tempXROLLER - adw tempXROLLER xdraw + adw xdraw #mountaintable tempXROLLER SeekRight cpw tempXROLLER #(mountaintable+screenwidth) beq HowMuchToFallKnown ; "stop" if we have on left end