From 19200be905f4a43fa34d2276d6030a4d7b6c5287 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 18 Jul 2022 12:44:33 +0200 Subject: [PATCH 01/88] Game Over "animation" - TEST ONLY! --- constants.asm | 6 +++++- display.asm | 10 ++++++++++ grafproc.asm | 2 +- scorch.asm | 2 ++ scorch.xex | Bin 41225 -> 41422 bytes textproc.asm | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 68 insertions(+), 2 deletions(-) diff --git a/constants.asm b/constants.asm index 7721be5..8b12e22 100644 --- a/constants.asm +++ b/constants.asm @@ -36,7 +36,11 @@ TanksWeaponsTableL .by TanksWeapon1,>TanksWeapon2,>TanksWeapon3,>TanksWeapon4,>TanksWeapon5,>TanksWeapon6 - +;-------------- +XtankOffsetGO_L + .by 6,56,106,156,206,0 +XtankOffsetGO_H + .by 0,0,0,0,0,1 ;-----4x4 texts----- LineTop dta d"(%%%%%%%%%%%%)", $ff diff --git a/display.asm b/display.asm index dd36337..b896e45 100644 --- a/display.asm +++ b/display.asm @@ -93,6 +93,16 @@ dl ; MAIN game display list .byte $41 .word dl ;----------------------------------------------- +GameOverDL + .byte $70,$70,$70,$70,$70,$70,$70,$20 + .byte $4f ; 1 line + .word display+(40*32) + :31 .byte $0f ; 31 lines + .byte $70 + .byte $41 + .word GameOverDL + +;----------------------------------------------- ;Screen displays go first to avoid crossing 4kb barrier ;----------------------------------------------- OptionsScreen diff --git a/grafproc.asm b/grafproc.asm index 79e977e..eb28a06 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -462,7 +462,7 @@ endcircleloop .endp ;-------------------------------------------------- -.proc clearscreen +.proc ClearScreen ;-------------------------------------------------- lda #$ff diff --git a/scorch.asm b/scorch.asm index de26a6c..8e1e4cd 100644 --- a/scorch.asm +++ b/scorch.asm @@ -128,6 +128,8 @@ START ; Startup sequence jsr Initialize + + jsr GameOverScreen ; only for test !!! jsr Options ;startup screen lda escFlag diff --git a/scorch.xex b/scorch.xex index d1439d199b4d1a0694013e359bbaa88a0f586ec3..1c7db0a84ce03f4996fc0b95a63ce86ea689d6a0 100644 GIT binary patch delta 16390 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 itju&w$@bR%$;(F{D~ma% Date: Mon, 18 Jul 2022 07:02:09 -0400 Subject: [PATCH 02/88] sprites down the memory lane --- definitions.asm | 7 ++++++- scorch.asm | 10 +++------- scorch.xex | Bin 41422 -> 41422 bytes 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/definitions.asm b/definitions.asm index f257c4d..6b9f945 100644 --- a/definitions.asm +++ b/definitions.asm @@ -1,10 +1,15 @@ ; @com.wudsn.ide.asm.mainsourcefile=scorch.asm +;---------------------------------------------- +; Player/missile memory + +PMGraph = $0800 +display = $1010 ;screen takes $2K due to clearing routine + screenheight = 200 screenBytes = 40 screenwidth = screenBytes*8 ; Max screenwidth = 512!!! margin = 40 ;mountain drawing Y variable margin -display = $1010 ;screen takes $2K due to clearing routine MaxPlayers = 6 maxOptions = 8 ;number of all options PMOffsetX = $2C ; P/M to graphics offset diff --git a/scorch.asm b/scorch.asm index 8e1e4cd..7f25663 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1397,14 +1397,10 @@ MODUL equ $b000 ;address of RMT module ; TheEnd .ECHO 'TheEnd: ',TheEnd - .if TheEnd > PMGraph + $300 - .error "memory conflict" + ;.if TheEnd > PMGraph + $300 + ; .error "memory conflict" + ;.endif - .endif -;---------------------------------------------- -; Player/missile memory - org $b800 -PMGraph diff --git a/scorch.xex b/scorch.xex index 1c7db0a84ce03f4996fc0b95a63ce86ea689d6a0..8f7577ed0baf91dae0c025eb92610c565ef216d6 100644 GIT binary patch delta 78 zcmX?inCaYMrVSUY896pzw7#Gz$upOM_tb^&D;aw^F7$FSPpr5vUJ delta 78 zcmV-U0I~nh!vfC30v+j7{C>qlzrT_o{ From 5c38b7b12a8d0b02074846054e464ae813020cbf Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 18 Jul 2022 13:47:57 +0200 Subject: [PATCH 03/88] Game Over animation - still not good. --- scorch.asm | 2 +- scorch.xex | Bin 41422 -> 41459 bytes textproc.asm | 18 ++++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/scorch.asm b/scorch.asm index 7f25663..a99b6de 100644 --- a/scorch.asm +++ b/scorch.asm @@ -129,7 +129,7 @@ START ; Startup sequence jsr Initialize - jsr GameOverScreen ; only for test !!! +; jsr GameOverScreen ; only for test !!! jsr Options ;startup screen lda escFlag diff --git a/scorch.xex b/scorch.xex index 8f7577ed0baf91dae0c025eb92610c565ef216d6..7996ac972ac21f56314720734347168203f8a0de 100644 GIT binary patch delta 14952 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 Tqoe1Mr-)~I|G)>H3w{3=RPX`@ delta 14737 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 diff --git a/textproc.asm b/textproc.asm index 8b3c415..ae36574 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1837,6 +1837,8 @@ FinishResultDisplay lda #%00111110 ; normal screen width, DL on, P/M on sta dmactls jsr ColorsOfSprites + mva #0 colpf1s + mva #TextForegroundColor colpf2s VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs ; initial tank positions randomization ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1 @@ -1857,6 +1859,22 @@ AllTanksFloatingDown jsr RandomizeTankPos TankOnScreen jsr DrawTankNr + ; now we must clear sprites over and under our banner + lda pmtableL,x + sta xbyte ; sprite position in RAM + lda pmtableH,x + sta xbyte+1 + lda #0 + ldy #PMOffsetY ; start on top position +@ sta (xbyte),y + iny + cpy #PMOffsetY+32 ; banner begin - end zeroing sprites + bne @- + ldy #PMOffsetY+64 ; banner end - start zeroing again +@ sta (xbyte),y + iny + cpy #PMOffsetY+80 ; end of zeroing sprites + bne @- jsr DrawTankParachute ldx TankNr dex From d9012f448542243d14a52d4bb149fd77899487ac Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 18 Jul 2022 16:37:56 +0200 Subject: [PATCH 04/88] Good Game Over animation --- display.asm | 12 ++++++++++-- scorch.asm | 21 +++++++++++++++++++++ scorch.xex | Bin 41459 -> 41510 bytes textproc.asm | 29 ++++++++++------------------- 4 files changed, 41 insertions(+), 21 deletions(-) diff --git a/display.asm b/display.asm index b896e45..ff0b871 100644 --- a/display.asm +++ b/display.asm @@ -94,10 +94,18 @@ dl ; MAIN game display list .word dl ;----------------------------------------------- GameOverDL - .byte $70,$70,$70,$70,$70,$70,$70,$20 + .byte $70,$70,$70,$40 + .byte $4f ; 1 line + .word display+(40*72) + :28 .byte $0f ; 28 lines + .byte $0f+$80 .byte $4f ; 1 line .word display+(40*32) - :31 .byte $0f ; 31 lines + :30 .byte $0f ; 30 lines + .byte $0f+$80 ; 1 line + .byte $4f ; 1 line + .word display+(40*72) + :7 .byte $0f ; 7 lines .byte $70 .byte $41 .word GameOverDL diff --git a/scorch.asm b/scorch.asm index a99b6de..63fe8c0 100644 --- a/scorch.asm +++ b/scorch.asm @@ -994,6 +994,27 @@ ClearResults rti .endp ;-------------------------------------------------- +.proc DLIinterruptGameOver + ;sta dliA + ;sty dliY + pha + lda dliCounter + bne @+ + lda #%00100000 ; playfield after P/M + STA WSYNC + sta gtictl + inc dliCounter + pla + rti +@ + lda #%00100100 ; playfield before P/M + STA WSYNC + sta gtictl + inc dliCounter + pla + rti +.endp +;-------------------------------------------------- .proc DLIinterruptText ;sta dliA pha diff --git a/scorch.xex b/scorch.xex index 7996ac972ac21f56314720734347168203f8a0de..e0141b46239fb2f4d153bcee5ff86b4675caa0d2 100644 GIT binary patch delta 15024 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 VEk;B}%q8oHYkD8wnDVPV{}-erR$l-B diff --git a/textproc.asm b/textproc.asm index ae36574..f0250a8 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1834,12 +1834,14 @@ FinishResultDisplay jsr ClearScreen jsr ClearPMmemory mwa #GameOverDL dlptrs - lda #%00111110 ; normal screen width, DL on, P/M on + lda #%00111110 ; normal screen width, DL on, P/M on sta dmactls + lda #%00100100 ; playfield before P/M + sta gtictls jsr ColorsOfSprites mva #0 colpf1s mva #TextForegroundColor colpf2s - VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs + VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen ; initial tank positions randomization ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1 @ @@ -1855,26 +1857,15 @@ AllTanksFloatingDown lda Ytankstable,x ; cmp #32 ; tank over screen - not visible cmp #80 ; tank under screen - new tank randomize - bne TankOnScreen + beq TankUnderScreen + cmp #72 ; tank under screen but.... parachute + bcs DrawOnlyParachute + bcc TankOnScreen +TankUnderScreen jsr RandomizeTankPos TankOnScreen jsr DrawTankNr - ; now we must clear sprites over and under our banner - lda pmtableL,x - sta xbyte ; sprite position in RAM - lda pmtableH,x - sta xbyte+1 - lda #0 - ldy #PMOffsetY ; start on top position -@ sta (xbyte),y - iny - cpy #PMOffsetY+32 ; banner begin - end zeroing sprites - bne @- - ldy #PMOffsetY+64 ; banner end - start zeroing again -@ sta (xbyte),y - iny - cpy #PMOffsetY+80 ; end of zeroing sprites - bne @- +DrawOnlyParachute jsr DrawTankParachute ldx TankNr dex From f20ce14dc3469ed1779650885411b9604f4800e1 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 18 Jul 2022 23:51:05 -0400 Subject: [PATCH 05/88] moving GameoverDL to stop shaking --- display.asm | 36 ++++++++++++++++++------------------ scorch.xex | Bin 41510 -> 41507 bytes 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/display.asm b/display.asm index ff0b871..0bc5533 100644 --- a/display.asm +++ b/display.asm @@ -93,24 +93,6 @@ dl ; MAIN game display list .byte $41 .word dl ;----------------------------------------------- -GameOverDL - .byte $70,$70,$70,$40 - .byte $4f ; 1 line - .word display+(40*72) - :28 .byte $0f ; 28 lines - .byte $0f+$80 - .byte $4f ; 1 line - .word display+(40*32) - :30 .byte $0f ; 30 lines - .byte $0f+$80 ; 1 line - .byte $4f ; 1 line - .word display+(40*72) - :7 .byte $0f ; 7 lines - .byte $70 - .byte $41 - .word GameOverDL - -;----------------------------------------------- ;Screen displays go first to avoid crossing 4kb barrier ;----------------------------------------------- OptionsScreen @@ -164,6 +146,24 @@ EmptyLine dta d" " ; ------------------------------------------------- .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! +;----------------------------------------------- +GameOverDL + .byte $70,$70,$70,$40 + .byte $4f ; 1 line + .word display+(40*72) + :28 .byte $0f ; 28 lines + .byte $0f+$80 + .byte $4f ; 1 line + .word display+(40*32) + :30 .byte $0f ; 30 lines + .byte $0f+$80 ; 1 line + .byte $4f ; 1 line + .word display+(40*72) + :7 .byte $0f ; 7 lines + .byte $70 + .byte $41 + .word GameOverDL + NameScreen dta d" Enter names of players " dta d" Tank 01 Name:" diff --git a/scorch.xex b/scorch.xex index e0141b46239fb2f4d153bcee5ff86b4675caa0d2..ad02b1836b793df56f2f63475596b577a85de7cf 100644 GIT binary patch delta 16396 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 From 616452a01e5d4fc06279952e9172aa5d910a6b3a Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 19 Jul 2022 10:37:09 +0200 Subject: [PATCH 06/88] Texts and more colours on Game Over screen --- display.asm | 17 +++++++++++++++-- scorch.asm | 25 ++++++++++++++++++------- scorch.xex | Bin 41507 -> 41616 bytes variables.asm | 4 ++++ 4 files changed, 37 insertions(+), 9 deletions(-) diff --git a/display.asm b/display.asm index 0bc5533..72b17a8 100644 --- a/display.asm +++ b/display.asm @@ -128,6 +128,7 @@ MoreDown ListOfWeapons :36 dta d" " ListOfWeapons1End +GameOverResults ; reuse after game (remember to clear on start new) ListOfDefensiveWeapons :16 dta d" " ListOfDefensiveWeaponsEnd ;constant useful when clearing @@ -148,7 +149,9 @@ EmptyLine .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! ;----------------------------------------------- GameOverDL - .byte $70,$70,$70,$40 + .byte $70,$40 + .byte $47 ; 16 gr8 lines + .word GameOverTitle .byte $4f ; 1 line .word display+(40*72) :28 .byte $0f ; 28 lines @@ -160,6 +163,13 @@ GameOverDL .byte $4f ; 1 line .word display+(40*72) :7 .byte $0f ; 7 lines + .byte $00+$80 ; 1 line + .byte $42 ; 7 tekst lines + .word GameOverTitle2 + .byte $00+$80 + .byte $42 + .word GameOverResults + :5 .byte $00+$80,$02 .byte $70 .byte $41 .word GameOverDL @@ -197,5 +207,8 @@ activateTextEnd purchaseText dta d"Purchase" purchaseTextEnd - +GameOverTitle + dta d" game over "* +GameOverTitle2 + dta d" Player Points Hits Money " .endif diff --git a/scorch.asm b/scorch.asm index 63fe8c0..1bfba0c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -998,19 +998,30 @@ ClearResults ;sta dliA ;sty dliY pha + phy lda dliCounter - bne @+ + bne EndofPMG lda #%00100000 ; playfield after P/M STA WSYNC sta gtictl - inc dliCounter - pla - rti -@ + bne EndOfDLI_GO +EndofPMG + cmp #1 + bne ColoredLines lda #%00100100 ; playfield before P/M STA WSYNC sta gtictl + bne EndOfDLI_GO +ColoredLines + tay + lda GameOverColoursTable-3,y ; -2 becouse this is DLI nr 2 and -1 (labels line) + ldy #$0a ; text colour (brightnes) + STA WSYNC + sta COLPF2 + sty COLPF1 +EndOfDLI_GO inc dliCounter + ply pla rti .endp @@ -1019,8 +1030,8 @@ ClearResults ;sta dliA pha sta WSYNC - mva #TextBackgroundColor colpf2 - mva #TextForegroundColor colpf3 + mva #TextBackgroundColor COLPF2 + mva #TextForegroundColor COLPF3 ;lda dliA pla DLIinterruptNone diff --git a/scorch.xex b/scorch.xex index ad02b1836b793df56f2f63475596b577a85de7cf..a752062e4e580a33907b213ddfcc92b36b05cfdb 100644 GIT binary patch delta 15241 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 J-tgSa{{!2Ye3<|M delta 15167 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 diff --git a/variables.asm b/variables.asm index 8e89e01..c01a59c 100644 --- a/variables.asm +++ b/variables.asm @@ -18,6 +18,10 @@ seppukuVal .by 75 mountainDeltaH .by 3 mountainDeltaL .by $ff ;---------------------------------------------------- +; Color table for Game Over Screen + .by $00 ; labels line color +GameOverColoursTable .BYTE $80,$40,$c4,$20,$c0,$e4 +;---------------------------------------------------- skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30) .DS [MaxPlayers] ;---------------------------------------------------- From a7e1bd519ee8d30280f29ec86a98e849b9aaa243 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 23 Jul 2022 15:14:00 -0400 Subject: [PATCH 07/88] WIP: drawto barrels --- scorch.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scorch.asm b/scorch.asm index 1bfba0c..cc69038 100644 --- a/scorch.asm +++ b/scorch.asm @@ -129,7 +129,7 @@ START ; Startup sequence jsr Initialize -; jsr GameOverScreen ; only for test !!! + ;jsr GameOverScreen ; only for test !!! jsr Options ;startup screen lda escFlag From dc9e2de8df5091dc17765ead5eee1492e7600787 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 23 Jul 2022 15:14:47 -0400 Subject: [PATCH 08/88] WIP: drawto barrels --- grafproc.asm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/grafproc.asm b/grafproc.asm index eb28a06..0a4d415 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1909,4 +1909,69 @@ EndPut4x4 rts .endp +.proc TankBarrel + ;vx calculation + ;vx = sin(90-Angle) for Angle <=90 + ;vx = -sin(Angle-90) for 90 < Angle <= 180 + + ;cos(Angle) (but we use sin table only so some shenanigans happen) + ldx Angle + + ;Angle works like this: + ;0 'degrees' is horizontally right + ;90 'degrees' is straight up + ;180 horizontally left + + ; (we have to set goleft used in rolling weapons) + + cpx #91 + bcc angleUnder90 + + ;over 90 + sec + txa ; lda # Angle + sbc #90 + tax + jmp @+ + +angleUnder90 + mva #0 goleft + sec ; X = 90-Angle + lda #90 + sbc Angle + tax +@ + lda sintable,x ; cos(X) + sta vx + +;======vy + ;vy = sin(Angle) for Angle <=90 + ;vy = sin(180-Angle) for 90 < Angle <= 180 + +;-- + ldx Angle + cpx #91 + bcc YangleUnder90 + + lda #180 + sec + sbc Angle + tax + +YangleUnder90 + lda sintable,x + + sta vy + + lda #0 + sta vx+1 + sta vy+1 + + # draw by vx vy + + + + rts +.endp + .endif \ No newline at end of file From 960675d4ac8cee5a09b8a85398d5e9b343061e16 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 23 Jul 2022 15:20:19 -0400 Subject: [PATCH 09/88] WIP: drawto barrels --- grafproc.asm | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 0a4d415..66be19b 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1908,14 +1908,32 @@ EndPut4x4 sta dmactls rts .endp - -.proc TankBarrel +; ------------------------------------- +.proc _XtanksTableLHX + lda ytankstable,x + sta ydraw + mva #0 ydraw+1 +X lda XtanksTableL,x + sta xdraw + lda XtanksTableH,x + sta xdraw+1 + rts +.endp +;-------------------------------------------------- +.proc DrawBarrel +; X - tank number +; +; changes xdraw, ydraw, xbyte, ybyte +;-------------------------------------------------- + jsr _XtanksTableLHX ;vx calculation ;vx = sin(90-Angle) for Angle <=90 ;vx = -sin(Angle-90) for 90 < Angle <= 180 ;cos(Angle) (but we use sin table only so some shenanigans happen) - ldx Angle + lda AngleTable,x + sta Angle + tax ;Angle works like this: ;0 'degrees' is horizontally right @@ -1968,7 +1986,8 @@ YangleUnder90 sta vy+1 # draw by vx vy - + # add barrel start offset + adw #4 rts From 1de19dfd26fcf2e2c7a87635de7eab4e14cda6b5 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 23 Jul 2022 15:42:22 -0400 Subject: [PATCH 10/88] WIP: drawto barrels --- grafproc.asm | 53 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 66be19b..4a7d21b 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1578,10 +1578,10 @@ EndOfUnPlot ; ----------------------------------------- ; is it not over the screen ??? cpw ydraw #(screenheight+1); changed for one additional line. cpw ydraw #(screenheight-1) - bcs unPlot.EndOfUnPlot + bcs unPlot.EndOfUnPlot ;nearest RTS CheckX02 cpw xdraw #screenwidth - bcs EndOfPlot ;nearest RTS + bcs EndOfPlot MakePlot ; let's calculate coordinates from xdraw and ydraw @@ -1923,7 +1923,7 @@ X lda XtanksTableL,x .proc DrawBarrel ; X - tank number ; -; changes xdraw, ydraw, xbyte, ybyte +; changes xdraw, ydraw, fx, fy ;-------------------------------------------------- jsr _XtanksTableLHX ;vx calculation @@ -1981,13 +1981,52 @@ YangleUnder90 sta vy - lda #0 + lda #0 ; all arithmetic to zero sta vx+1 sta vy+1 + sta fx + sta fy + + ; barrel start offset + adw xdraw #4 xdraw + sbw ydraw #4 ydraw + + + ; draw by vx vy + ; in each step + ; 1. plot(xdraw, ydraw) + ; 2. add vx and vy to 3 byte variables xdraw.fx, ydraw.fy + ; 3 check length, if shorter, go to 1. + + mva #5 yc ; barrel length + mva #1 color +@ + jsr plot.MakePlot + clc + lda fx + adc vx + sta fx + lda xdraw + adc #0 + sta xdraw + lda xdraw+1 + adc #0 + sta xdraw+1 + + clc + lda fy + adc vy + sta fy + lda ydraw + adc #0 + sta ydraw + lda ydraw+1 + adc #0 + sta ydraw+1 + + dec yc + bne @- - # draw by vx vy - # add barrel start offset - adw #4 rts From 992130f267a0961fce5720cf17049c946426dc89 Mon Sep 17 00:00:00 2001 From: pkali Date: Sun, 24 Jul 2022 09:19:03 -0400 Subject: [PATCH 11/88] WIP: barrels anew --- constants.asm | 112 ++++++++++++++++++++-------------------- grafproc.asm | 135 +++++++++++++++++++++++++----------------------- scorch.asm | 14 ++--- scorch.xex | Bin 41616 -> 41425 bytes variables.asm | 19 ++++--- weapons.asm | 140 +++++++++++++++++++++++++++----------------------- 6 files changed, 223 insertions(+), 197 deletions(-) diff --git a/constants.asm b/constants.asm index 8b12e22..192eb5e 100644 --- a/constants.asm +++ b/constants.asm @@ -227,62 +227,62 @@ BarrelTable .by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02, .by $02, -EndOfTheBarrelX - ; right angles from 0 (horizontally right) to 90 (up) - - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,6,6,6,6,6,6,6,6,6, - .by 5,5,5,5,5,5,5,5,5,5, - .by 4,4,4,4,4,4,4,4,4,4, - ;.by 4, - - ; left angles from 90 (vertical) to 180 (horizontally left) - .by 3,3,3,3,3,3,3,3,3,3, - .by 3,2,2,2,2,2,2,2,2,2, - .by 2,1,1,1,1,1,1,1,1,1, - .by 0,0,0,0,0,0,0,0,0,0, - .by 0,0,0,0,0,0,0,0,0,0, - .by 0,0,0,0,0,0,0,0,0,0, - .by 0,0,0,0,0,0,0,0,0,0, - .by 0,0,0,0,0,0,0,0,0,0, - .by 0,0,0,0,0,0,0,0,0,0, - .by 0 - -EndOfTheBarrelY -; right angles from 0 (horizontally right) to 90 (up) - - ; one pixel Up for fix problems with colision check - ;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3 - .by 4,4,4,4,4,4,4,4,4,4, - .by 4,4,4,4,4,4,4,4,4,4, - .by 4,4,4,4,4,4,4,5,5,5, - .by 5,5,5,5,5,5,5,6,6,6, - .by 6,6,6,6,6,6,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - ;.by 7, - -; left angles from 90 (vertical) to 180 (horizontally left) - - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,7,7,7,7,7, - .by 7,7,7,7,7,6,6,6,6,6, - .by 6,6,6,6,5,5,5,5,5,5, - .by 5,5,5,5,4,4,4,4,4,4, - .by 4,4,4,4,4,4,4,4,4,4, - .by 4,4,4,4,4,4,4,4,4,4, - .by 4, - ; one pixel Up for fix problems with colision check - ;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3 +;EndOfTheBarrelX +; ; right angles from 0 (horizontally right) to 90 (up) +; +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,6,6,6,6,6,6,6,6,6, +; .by 5,5,5,5,5,5,5,5,5,5, +; .by 4,4,4,4,4,4,4,4,4,4, +; ;.by 4, +; +; ; left angles from 90 (vertical) to 180 (horizontally left) +; .by 3,3,3,3,3,3,3,3,3,3, +; .by 3,2,2,2,2,2,2,2,2,2, +; .by 2,1,1,1,1,1,1,1,1,1, +; .by 0,0,0,0,0,0,0,0,0,0, +; .by 0,0,0,0,0,0,0,0,0,0, +; .by 0,0,0,0,0,0,0,0,0,0, +; .by 0,0,0,0,0,0,0,0,0,0, +; .by 0,0,0,0,0,0,0,0,0,0, +; .by 0,0,0,0,0,0,0,0,0,0, +; .by 0 +; +;EndOfTheBarrelY +;; right angles from 0 (horizontally right) to 90 (up) +; +; ; one pixel Up for fix problems with colision check +; ;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3 +; .by 4,4,4,4,4,4,4,4,4,4, +; .by 4,4,4,4,4,4,4,4,4,4, +; .by 4,4,4,4,4,4,4,5,5,5, +; .by 5,5,5,5,5,5,5,6,6,6, +; .by 6,6,6,6,6,6,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; ;.by 7, +; +;; left angles from 90 (vertical) to 180 (horizontally left) +; +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,7,7,7,7,7, +; .by 7,7,7,7,7,6,6,6,6,6, +; .by 6,6,6,6,5,5,5,5,5,5, +; .by 5,5,5,5,4,4,4,4,4,4, +; .by 4,4,4,4,4,4,4,4,4,4, +; .by 4,4,4,4,4,4,4,4,4,4, +; .by 4, +; ; one pixel Up for fix problems with colision check +; ;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3 ;------------------------------------------------- diff --git a/grafproc.asm b/grafproc.asm index 4a7d21b..c21a1bc 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -637,13 +637,7 @@ SkipHidingPM sta CharCode DrawTankNrX ldx tanknr - lda xtankstableL,x - sta xdraw - lda xtankstableH,x - sta xdraw+1 - lda ytankstable,x - sta ydraw - mva #0 ydraw+1 + jsr SetupXYdraw jsr TypeChar @@ -760,12 +754,10 @@ DrawTankFlag sec sbc #8 sta ydraw - lda XtanksTableL,x - sta xdraw - lda XtanksTableH,x - sta xdraw+1 + jsr SetupXYdraw.X jsr TypeChar NoShieldDraw + DrawBarrel DoNotDrawTankNr rts .endp @@ -801,13 +793,7 @@ tankflash_loop ; ; this proc change xdraw, ydraw and temp! ;-------------------------------------------------- - lda xtankstableL,x - sta xdraw - lda xtankstableH,x - sta xdraw+1 - lda ytankstable,x - sta ydraw - mva #0 ydraw+1 + jsr SetupXYdraw DrawInPosition mva #1 color lda erase @@ -900,10 +886,7 @@ ShieldVisible sec sbc #8 sta ydraw - lda XtanksTableL,x - sta xdraw - lda XtanksTableH,x - sta xdraw+1 + jsr SetupXYdraw.X jsr TypeChar rts .endp @@ -953,10 +936,7 @@ DoNotClearParachute bne NoGroundCheck ; coordinates of the first pixel under the tank ldx TankNr - lda XtankstableL,x - sta xdraw - lda XtankstableH,x - sta xdraw+1 + jsr SetupXYdraw.X lda Ytankstable,x clc adc #1 ; in this point the comment helped us! For the very first @@ -1909,7 +1889,7 @@ EndPut4x4 rts .endp ; ------------------------------------- -.proc _XtanksTableLHX +.proc SetupXYdraw lda ytankstable,x sta ydraw mva #0 ydraw+1 @@ -1921,43 +1901,58 @@ X lda XtanksTableL,x .endp ;-------------------------------------------------- .proc DrawBarrel -; X - tank number -; +; X - tankNr ; changes xdraw, ydraw, fx, fy ;-------------------------------------------------- - jsr _XtanksTableLHX + jsr SetupXYdraw ;vx calculation ;vx = sin(90-Angle) for Angle <=90 ;vx = -sin(Angle-90) for 90 < Angle <= 180 + ; erase previous barrel + ;cos(Angle) (but we use sin table only so some shenanigans happen) - lda AngleTable,x + mva #0 color + lda previousBarrelAngle,x sta Angle - tax + jsr DrawBarrelTech + + mva #1 color + ldx TankNr + jsr SetupXYdraw + lda angleTable,x + sta Angle + jsr DrawBarrelTech + rts +.endp - ;Angle works like this: - ;0 'degrees' is horizontally right - ;90 'degrees' is straight up - ;180 horizontally left - - ; (we have to set goleft used in rolling weapons) - - cpx #91 +.proc DrawBarrelTech + ; angle in Angle and A + + mvx #0 goleft + cmp #91 bcc angleUnder90 ;over 90 sec - txa ; lda # Angle sbc #90 tax - jmp @+ + ; barrel start offset over 90deg + adw xdraw #6 xdraw + sbw ydraw #2 ydraw + mva #1 goleft + bpl @+ ; jmp @+ angleUnder90 - mva #0 goleft sec ; X = 90-Angle lda #90 sbc Angle tax + ; barrel start offset under 90deg + adw xdraw #1 xdraw + sbw ydraw #2 ydraw + + @ lda sintable,x ; cos(X) sta vx @@ -1967,18 +1962,16 @@ angleUnder90 ;vy = sin(180-Angle) for 90 < Angle <= 180 ;-- - ldx Angle - cpx #91 + lda Angle + cmp #91 bcc YangleUnder90 lda #180 sec sbc Angle - tax - YangleUnder90 + tax lda sintable,x - sta vy lda #0 ; all arithmetic to zero @@ -1987,21 +1980,17 @@ YangleUnder90 sta fx sta fy - ; barrel start offset - adw xdraw #4 xdraw - sbw ydraw #4 ydraw - - ; draw by vx vy ; in each step ; 1. plot(xdraw, ydraw) ; 2. add vx and vy to 3 byte variables xdraw.fx, ydraw.fy ; 3 check length, if shorter, go to 1. - mva #5 yc ; barrel length - mva #1 color -@ - jsr plot.MakePlot + mva #20 yc ; barrel length +barrelLoop + + lda goleft + bne @+ clc lda fx adc vx @@ -2012,23 +2001,39 @@ YangleUnder90 lda xdraw+1 adc #0 sta xdraw+1 - - clc + jmp ybarrel +@ + sec + lda fx + sbc vx + sta fx + lda xdraw + sbc #0 + sta xdraw + lda xdraw+1 + sbc #0 + sta xdraw+1 + +ybarrel + sec lda fy - adc vy + sbc vy sta fy lda ydraw - adc #0 + sbc #0 sta ydraw lda ydraw+1 - adc #0 + sbc #0 sta ydraw+1 + jsr plot.MakePlot + dec yc - bne @- + bne barrelLoop + + mwa xdraw EndOfTheBarrelX + mva ydraw EndOfTheBarrelY - - rts .endp diff --git a/scorch.asm b/scorch.asm index cc69038..53afad3 100644 --- a/scorch.asm +++ b/scorch.asm @@ -325,6 +325,13 @@ SettingEnergies sta colpf2s ; status line "off" sta colpf1s + lda #90 ; barrel fully erect + ldx #MaxPlayers-1 +@ sta previousBarrelAngle,x + dex + bpl @- + + jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks @@ -789,12 +796,7 @@ NotNegativeShieldEnergy lda #0 ; turn off defense weapons when hara-kiring sta ActiveDefenceWeapon,x sta ShieldEnergy,x - lda xtankstableL,x - sta xdraw - lda xtankstableH,x - sta xdraw+1 - lda yTanksTable,x - sta ydraw + jsr SetupXYdraw lda #1 ; Missile jsr ExplosionDirect jmp MainRoundLoop.continueMainRoundLoopAfterSeppuku diff --git a/scorch.xex b/scorch.xex index a752062e4e580a33907b213ddfcc92b36b05cfdb..129c7e05cad58ab19db180f7c3fa689ead15679d 100644 GIT binary patch delta 15952 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 Db|^b- delta 16107 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

=k(a^a-k4&}9LjV$n>YupNWyLEq@hGr>xK{it z?_xpT}eW%KOEm6H?ltPN|^nQ{sLt{OT`Y=S^Qba{S91RZf!` zS0dPPhA(RHVB|cWa_yFc-oJviiKF_s*M)1PCTMcd^H_d5LBrZa=c~--yh7z&!mBLQ zpK$z!1OgkxUg8NX5i^TM;Wh0!u&$${qoRp&rBCVm**0xIdr>M94W4bvYczbdO?ic$ zh6#IxDzDPhf281wm(ZlZM8xx6qxOsqR#4>iP~NY(xg zE}@K$p19fLvR}7RE6kXR0%|E`6j$9P0oUIV;&~c*iu$MMmrv2~7>M%z^Hd!MY2JT& z5W+~1=>1I;m%|Hb6>i5r_E@rW8?QAa6(q;jv4-LrTv{uR2A9@=Ln_Ra3LeSKaAkDQn7El~t5|NawHFBo*xea>C&bgLvIyoR-sLu(;*TDnYNtag;kSUgG-k_$ z(h2&1XQ@@%g7fnhsWi8WFBM}Owq$fyRU-{rRYyxKUo&hRzXd#caFv)!RXZ8(KdMtI zvUSGRX}Z)p2t9^ZWL47qoixi!^LNp#tu+7l)S0!7=KE;Yi!`6mtnD`?L-Svz`L#4ZK=Wmq-++k8@7bm^ zQ0}gd^;J_}9X8oB)dncFlFq262+rblC!JA;*Aghm*`uKj9NGTvQ10-D*@dk;{7SYT z2E~N;h3q|3*Bn#F!d_(=s?7~sCNK0`qOQXyejpme&mQWi9QH9S`F0|Ryd{^@)z@nI zt5l2mCtouEoP85eszZe7GL239xyE#b{aeMfs_#U)JNXX3#e7kp^>Rbc#Pb1+Sqc2nBaW zhY|wu?lCyLM~CVH!%^E79PjUp_Tg$$iXWQ??k@E&!X6XCO)%^aA<=Dt#R@IMxp5;d zrZ*6E04v{$@*=G)uef6CTxJG-dV${z;V6Zl4dEz-Uk-^}2_i*5u-{-^=fKG>G$vpX zZv-g8iiD9zi|jJ)MsSY`e1{!wEOs96x~GRad!oAB)I!|Y^0L#?TV>(dO~}a241Pe~ z|9}KW+nPQgKYc*(o004B%c!lHnVGm;oEs;k`R&a`Hc*|@kOO*=8AvMmODun6ZL*Vb zeBitKG{1Fyzhb7=$*f~Wrq+YP&Csg}dc`hk&FCAEi#p_ZFtdB>1oJKRC7>W$FS%w8-| z376OM-nBlb-{3ndj}N|6#Ao;J{co+m!|aUxzkFhPKGD6OsNRpc?_=uy7<)bj{o@_E zF~L(X+1Xp`=P$jiqkCG5`M=0~#k#ljKzp0$YxU<6^+NV1ZipJ_yxUpqAyUhiXX6t` zU32r?r8%3t)$jc6RMZeIW#O{i4dNf){^0EJUuEWRsX6$UuCtSVefzqCosBJDhQIH= z$}+?{=C%hP&VSrR_q^Qv-bbel+?2Ej*H-Q%)iryMef(Y0Eejm$HtgKp{AJ=znd^5o zpZFqSz{Fb?heVIf$}8p-^wk?Teohz^z&lxXM5zcL;LLSE`KvB%1VAi zJn2KdfAwP>?Qh8T z4`lm-T6;&GJyYIv*!AXo5#D^&NB$D^ycpGRSU4toyS(F_2y+W@$3=7bz~f?EmEm}a z<-BZUE=rqRTHA0abRlpmVABm=hLv<|;hxj)(9jZ2j|4`lC@!^+#byo1CpFbS@)X%?pu)}|$!{6XM z%(viT>WuJ!z^{B^e@nyR%;b&WthEuLIh?t&1%FaYa@hB+|D;(xfB^Pl$(|~QQo|zw zJ`|2mxb8X#W&g1j9Pk3xc$ZobFOO#s6yK_~FRz7CT2sy+G)O6DxjSY1blHhUu@8Rh zZ+OiYCGkgE@QjoAx6%H5skY&WZ@SciZ;SRlRQsMR`O>tPyS498k{Aby@yImbF-d}A zI0-#S@L46_kAB9(CgmD@{Uo`cZ<@w4MRIT*bw?LV>R@MAn=E&0mr)xv0pF=ZxU0F^ z9E_8~-|%k+A=Kf6{iFuy2_4}>?5nk9#|ew%P6)@LF{>0DDuFxnFmUv@{@NzP9{#_i zQ1XDxKnC`h9k(HN|ZI zSXS128 then reset to 0 cmp #25 ; 1/2s bcs CTRLPressedRight mva #sfx_set_power_2 sfx_effect - ldx TankNr + dec AngleTable,x lda AngleTable,x cmp #255 ; -1 jne BeforeFire - lda #180 + lda #179 sta AngleTable,x jmp BeforeFire CTRLPressedRight - mva #sfx_set_power_2 sfx_effect ldx TankNr lda AngleTable,x + sta previousBarrelAngle,x + mva #sfx_set_power_2 sfx_effect + lda AngleTable,x sec sbc #4 sta AngleTable,x - cmp #4 ; smalles angle for speed rotating + cmp #4 ; smallest angle for speed rotating jcs BeforeFire - lda #180 + lda #179 sta AngleTable,x jmp BeforeFire pressedLeft + ldx TankNr + lda AngleTable,x + sta previousBarrelAngle,x lda pressTimer spl:mva #0 pressTimer ; if >128 then reset to 0 cmp #25 ; 1/2s bcs CTRLPressedLeft mva #sfx_set_power_2 sfx_effect - ldx TankNr INC AngleTable,x lda AngleTable,x - cmp #181 + cmp #180 jne BeforeFire - lda #0 + lda #1 sta AngleTable,x jmp BeforeFire CTRLPressedLeft - mva #sfx_set_power_2 sfx_effect ldx TankNr lda AngleTable,x + sta previousBarrelAngle,x + mva #sfx_set_power_2 sfx_effect + lda AngleTable,x clc adc #4 sta AngleTable,x - cmp #181-4 + cmp #180-4 jcc BeforeFire - lda #0 + lda #1 sta AngleTable,x jmp BeforeFire @@ -1498,21 +1512,26 @@ AfterStrongShoot ; to start where the tank's barrel ends ; (without it bullet would go from the left lower corner of the tank) ;ldx TankNr - ldy Angle - clc - lda xtankstableL,x - adc EndOfTheBarrelX,y ; correction of X - sta xtraj+1 - lda xtankstableH,x - adc #$00 - sta xtraj+2 - sec - lda ytankstable,x - sbc EndOfTheBarrelY,y ; correction of Y - sta ytraj+1 - lda #$00 - sbc #$00 - sta ytraj+2 + + mwa EndOfTheBarrelX xtraj+1 + mva EndOfTheBarrely ytraj+1 + mva #0 ytraj+2 + + ;ldy Angle + ;clc + ;lda xtankstableL,x + ;adc EndOfTheBarrelX,y ; correction of X + ;sta xtraj+1 + ;lda xtankstableH,x + ;adc #$00 + ;sta xtraj+2 + ;sec + ;lda ytankstable,x + ;sbc EndOfTheBarrelY,y ; correction of Y + ;sta ytraj+1 + ;lda #$00 + ;sbc #$00 + ;sta ytraj+2 ; checking if the shot is underground (no Flight but Hit :) ) ldy #0 @@ -1918,30 +1937,25 @@ AutoDefence sta xtraj sta ytraj - lda xtankstableL,x - sta xtraj+1 - lda xtankstableH,x - sta xtraj+2 - lda ytankstable,x - sta ytraj+1 - lda #$00 - sta ytraj+2 + mwa EndOfTheBarrelX xbyte + mva EndOfTheBarrelY ybyte + mva #0 ybyte+1 - ldy Angle - clc - lda xtraj+1 - adc EndOfTheBarrelX,y ; correction of X - sta xtraj+1 - lda xtraj+2 - adc #0 - sta xtraj+2 - sec - lda ytraj+1 - sbc EndOfTheBarrelY,y ; correction of Y - sta ytraj+1 - lda ytraj+2 - sbc #0 - sta ytraj+2 +; ldy Angle +; clc +; lda xtraj+1 +; adc EndOfTheBarrelX,y ; correction of X +; sta xtraj+1 +; lda xtraj+2 +; adc #0 +; sta xtraj+2 +; sec +; lda ytraj+1 +; sbc EndOfTheBarrelY,y ; correction of Y +; sta ytraj+1 +; lda ytraj+2 +; sbc #0 +; sta ytraj+2 ldy #100 ; ??? mva #1 tracerflag ; I do not know (I mean I think I know ;) ) From 27bc443581bbe17abbdd78f1b3dfd7e15fda2ec5 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 25 Jul 2022 00:50:16 -0400 Subject: [PATCH 12/88] WIP: broken inventory --- display.asm | 13 +++++++------ scorch.xex | Bin 41425 -> 40625 bytes textproc.asm | 18 +++++++++--------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/display.asm b/display.asm index 72b17a8..443397f 100644 --- a/display.asm +++ b/display.asm @@ -125,13 +125,14 @@ MoreDown dta d" more " dta 93,93,93 dta d" " +GameOverResults ; reuse after game (remember to clear on start new) ListOfWeapons - :36 dta d" " -ListOfWeapons1End -GameOverResults ; reuse after game (remember to clear on start new) -ListOfDefensiveWeapons - :16 dta d" " -ListOfDefensiveWeaponsEnd ;constant useful when clearing + :32 dta d" " ; WARNING! 32 offensive weapons at the moment! +ListOfWeaponsEnd + +;ListOfDefensiveWeapons +; :16 dta d" " +;ListOfDefensiveWeaponsEnd ;constant useful when clearing WeaponsDescription dta d" " dta d"Tab"* diff --git a/scorch.xex b/scorch.xex index 129c7e05cad58ab19db180f7c3fa689ead15679d..c47ca91d3a85557fa35ad967bd2e4da17f3a6531 100644 GIT binary patch delta 158 zcmcb3m}%o)rVTABOh;@sx2bTlFwM1@JW)f1ZLW=glfTX8-5R`%K%vd2GXnQ z$27dHj~Sv zezE!Y@|vtP-&`K8#W?w5j2z3NxeIJ2AC3u<1k!6w=YL>X^nZa_AE!wVm&sa#`5@WN Ida;XL00SmJw*UYD delta 204 zcmdnEm+9hRrVTABOi%1Lx2bTlFzvOUJW)f1ZLht6Q@;J?-5R`%K%vd2Gt<8 diff --git a/textproc.asm b/textproc.asm index f0250a8..a2b5e7f 100644 --- a/textproc.asm +++ b/textproc.asm @@ -479,7 +479,7 @@ NoWeapon ; if we got to the defense weapons, ; we switch address to the second table. - mwa #ListOfDefensiveWeapons xbyte + mwa #ListOfWeapons xbyte NoDefense cpx #$40 jne CreateList @@ -534,10 +534,10 @@ ClearList1 bne DoNotIncHigher1 inc xbyte+1 DoNotIncHigher1 - cpy #ListOfWeapons1End + cpx #>ListOfWeaponsEnd bne ClearList1 ; And the same we do with the second list @@ -564,10 +564,10 @@ DoNotAddX02 ; add to the address of the list clc lda xbyte - adc #ListOfDefensiveWeapons + adc #>ListOfWeapons sta xbyte+1 stx xbyte txa ; now there is zero here @@ -577,10 +577,10 @@ ClearList2 bne DoNotIncHigher2 inc xbyte+1 DoNotIncHigher2 - cpy #ListOfDefensiveWeaponsEnd + cpx #>ListOfWeaponsEnd bne ClearList2 ; here we have pretty cool lists and there is no brute force @@ -715,7 +715,7 @@ ListChange jmp ChoosingItemForPurchase DeffensiveSelected - mwa #ListOfDefensiveWeapons WeaponsListDL + mwa #ListOfWeapons WeaponsListDL lda isInventory beq @+ jsr calcPosDefensive @@ -897,7 +897,7 @@ EraseLoop beq CharToList1 ; we are on the second list (deffensive) ; so there is no problem with scrolling - mwa #ListOfDefensiveWeapons xbyte + mwa #ListOfWeapons xbyte ldx PositionOnTheList beq SelectList2 ; if there is 0 we add nothing AddLoop2 From 513f13c5fcde7c4c9e9f31a2fd58bb2255c1b225 Mon Sep 17 00:00:00 2001 From: pkali Date: Mon, 25 Jul 2022 09:50:49 -0400 Subject: [PATCH 13/88] broken inventory rollback --- constants.asm | 5 ++ display.asm | 103 ++++++++++++------------ scorch.xex | Bin 40625 -> 41425 bytes textproc.asm | 217 ++++++++++++++++++++++++-------------------------- 4 files changed, 162 insertions(+), 163 deletions(-) diff --git a/constants.asm b/constants.asm index 192eb5e..9fdcd72 100644 --- a/constants.asm +++ b/constants.asm @@ -688,5 +688,10 @@ gameOverSpritesTop ; end of the Gover sprites by number of players ; 1 2 3 4 5 6 .by 130,130,136,142,148,154 +;-------decimal constans +zero +digits dta d"0123456789" +nineplus dta d"9"+1 +space dta d" " .endif diff --git a/display.asm b/display.asm index 443397f..c3ecec9 100644 --- a/display.asm +++ b/display.asm @@ -1,4 +1,4 @@ -; @com.wudsn.ide.asm.mainsourcefile=scorch.asm +; @com.wudsn.ide.asm.mainsourcefile=scorch.asm .IF *>0 ;this is a trick that prevents compiling this file alone @@ -54,42 +54,42 @@ dl ; MAIN game display list .byte $10 ; 2 blank lines .byte $4f - .word display ; 1 line - :76 .by $0f ;76 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :13 .by $0f ;13 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :8 .by $0f ;8 - .by $4f ;1 + .word display ; 1 line + :76 .by $0f ;76 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :13 .by $0f ;13 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :8 .by $0f ;8 + .by $4f ;1 .wo display+$0ff0 - :2 .by $0f ;2 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :9 .by $0f ;9 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :8 .by $0f ;8 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :7 .by $0f ;7 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :6 .by $0f ;6 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :5 .by $0f ;5 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :4 .by $0f ;4 - .by $0f+$80 ; DLI (black bar) ;2 - .by $0f+$80 ; DLI - :3 .by $0f ;3 - .by $0f+$80 ; DLI (black to end);1 - :38 .byte $0f ;35 ..... = 200 + :2 .by $0f ;2 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :9 .by $0f ;9 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :8 .by $0f ;8 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :7 .by $0f ;7 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :6 .by $0f ;6 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :5 .by $0f ;5 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :4 .by $0f ;4 + .by $0f+$80 ; DLI (black bar) ;2 + .by $0f+$80 ; DLI + :3 .by $0f ;3 + .by $0f+$80 ; DLI (black to end);1 + :38 .byte $0f ;35 ..... = 200 .by $4f - .wo EmptyLine ; additional line of ground + .wo EmptyLine ; additional line of ground .byte $41 .word dl ;----------------------------------------------- @@ -125,14 +125,13 @@ MoreDown dta d" more " dta 93,93,93 dta d" " -GameOverResults ; reuse after game (remember to clear on start new) ListOfWeapons - :32 dta d" " ; WARNING! 32 offensive weapons at the moment! -ListOfWeaponsEnd - -;ListOfDefensiveWeapons -; :16 dta d" " -;ListOfDefensiveWeaponsEnd ;constant useful when clearing + :36 dta d" " +ListOfWeapons1End +GameOverResults ; reuse after game (remember to clear on start new) +ListOfDefensiveWeapons + :16 dta d" " +ListOfDefensiveWeaponsEnd ;constant useful when clearing WeaponsDescription dta d" " dta d"Tab"* @@ -151,8 +150,8 @@ EmptyLine ;----------------------------------------------- GameOverDL .byte $70,$40 - .byte $47 ; 16 gr8 lines - .word GameOverTitle + .byte $47 ; 16 gr8 lines + .word GameOverTitle .byte $4f ; 1 line .word display+(40*72) :28 .byte $0f ; 28 lines @@ -164,13 +163,13 @@ GameOverDL .byte $4f ; 1 line .word display+(40*72) :7 .byte $0f ; 7 lines - .byte $00+$80 ; 1 line - .byte $42 ; 7 tekst lines - .word GameOverTitle2 - .byte $00+$80 - .byte $42 - .word GameOverResults - :5 .byte $00+$80,$02 + .byte $00+$80 ; 1 line + .byte $42 ; 7 tekst lines + .word GameOverTitle2 + .byte $00+$80 + .byte $42 + .word GameOverResults + :5 .byte $00+$80,$02 .byte $70 .byte $41 .word GameOverDL @@ -212,4 +211,4 @@ GameOverTitle dta d" game over "* GameOverTitle2 dta d" Player Points Hits Money " -.endif +.endif \ No newline at end of file diff --git a/scorch.xex b/scorch.xex index c47ca91d3a85557fa35ad967bd2e4da17f3a6531..10c8686385e25122761ac62f78f7219d99081bb7 100644 GIT binary patch delta 3213 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 @@ -479,7 +479,7 @@ NoWeapon ; if we got to the defense weapons, ; we switch address to the second table. - mwa #ListOfWeapons xbyte + mwa #ListOfDefensiveWeapons xbyte NoDefense cpx #$40 jne CreateList @@ -534,10 +534,10 @@ ClearList1 bne DoNotIncHigher1 inc xbyte+1 DoNotIncHigher1 - cpy #ListOfWeaponsEnd + cpx #>ListOfWeapons1End bne ClearList1 ; And the same we do with the second list @@ -564,10 +564,10 @@ DoNotAddX02 ; add to the address of the list clc lda xbyte - adc #ListOfWeapons + adc #>ListOfDefensiveWeapons sta xbyte+1 stx xbyte txa ; now there is zero here @@ -577,10 +577,10 @@ ClearList2 bne DoNotIncHigher2 inc xbyte+1 DoNotIncHigher2 - cpy #ListOfWeaponsEnd + cpx #>ListOfDefensiveWeaponsEnd bne ClearList2 ; here we have pretty cool lists and there is no brute force @@ -715,7 +715,7 @@ ListChange jmp ChoosingItemForPurchase DeffensiveSelected - mwa #ListOfWeapons WeaponsListDL + mwa #ListOfDefensiveWeapons WeaponsListDL lda isInventory beq @+ jsr calcPosDefensive @@ -795,27 +795,27 @@ invSelectDef lda IndexesOfWeaponsL2,y tay ldx tankNr - cmp #ind_Battery________ - bne NotBattery - ; if activate battery, we do it differently + cmp #ind_Battery________ + bne NotBattery + ; if activate battery, we do it differently mva #sfx_battery sfx_effect - mva #99 Energy,x - bne DecreaseDefensive ; bypass activation + mva #99 Energy,x + bne DecreaseDefensive ; bypass activation NotBattery - cmp #ind_White_Flag_____ - bne NotWhiteFlag - cmp ActiveDefenceWeapon,x - bne NoDeactivateWhiteFlag - mva #sfx_white_flag sfx_effect - lda #$00 ; if try to activate activated White Flag then deactivate Defence + cmp #ind_White_Flag_____ + bne NotWhiteFlag + cmp ActiveDefenceWeapon,x + bne NoDeactivateWhiteFlag + mva #sfx_white_flag sfx_effect + lda #$00 ; if try to activate activated White Flag then deactivate Defence sta ActiveDefenceWeapon,x - sta ShieldEnergy,x - beq DefActivationEnd + sta ShieldEnergy,x + beq DefActivationEnd NotWhiteFlag NoDeactivateWhiteFlag - ; activate new defensive + ; activate new defensive sta ActiveDefenceWeapon,x - ; set defensive energy + ; set defensive energy lda DefensiveEnergy,y sta ShieldEnergy,x DecreaseDefensive @@ -897,7 +897,7 @@ EraseLoop beq CharToList1 ; we are on the second list (deffensive) ; so there is no problem with scrolling - mwa #ListOfWeapons xbyte + mwa #ListOfDefensiveWeapons xbyte ldx PositionOnTheList beq SelectList2 ; if there is 0 we add nothing AddLoop2 @@ -1324,11 +1324,6 @@ displayloop1 rts .endp -;-------decimal constans -zero -digits dta d"0123456789" -nineplus dta d"9"+1 -space dta d" " ;-------------------------------------------------------- .proc Display4x4AboveTank ; @@ -1831,61 +1826,61 @@ FinishResultDisplay ;-------------------------------------------------- .proc GameOverScreen ;-------------------------------------------------- - jsr ClearScreen - jsr ClearPMmemory + jsr ClearScreen + jsr ClearPMmemory mwa #GameOverDL dlptrs - lda #%00111110 ; normal screen width, DL on, P/M on + lda #%00111110 ; normal screen width, DL on, P/M on sta dmactls - lda #%00100100 ; playfield before P/M - sta gtictls - jsr ColorsOfSprites + lda #%00100100 ; playfield before P/M + sta gtictls + jsr ColorsOfSprites mva #0 colpf1s mva #TextForegroundColor colpf2s VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen - ; initial tank positions randomization + ; initial tank positions randomization ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1 @ - jsr RandomizeTankPos + jsr RandomizeTankPos dex bpl @- -MainTanksFloatingLoop - ; main tanks floating loop +MainTanksFloatingLoop + ; main tanks floating loop ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1 -AllTanksFloatingDown - stx TankNr - inc Ytankstable,x - lda Ytankstable,x -; cmp #32 ; tank over screen - not visible - cmp #80 ; tank under screen - new tank randomize - beq TankUnderScreen - cmp #72 ; tank under screen but.... parachute - bcs DrawOnlyParachute - bcc TankOnScreen +AllTanksFloatingDown + stx TankNr + inc Ytankstable,x + lda Ytankstable,x +; cmp #32 ; tank over screen - not visible + cmp #80 ; tank under screen - new tank randomize + beq TankUnderScreen + cmp #72 ; tank under screen but.... parachute + bcs DrawOnlyParachute + bcc TankOnScreen TankUnderScreen - jsr RandomizeTankPos + jsr RandomizeTankPos TankOnScreen - jsr DrawTankNr + jsr DrawTankNr DrawOnlyParachute - jsr DrawTankParachute - ldx TankNr - dex - bpl AllTanksFloatingDown - jmp MainTanksFloatingLoop ; neverending loop - rts + jsr DrawTankParachute + ldx TankNr + dex + bpl AllTanksFloatingDown + jmp MainTanksFloatingLoop ; neverending loop + rts RandomizeTankPos - randomize 8 32 - sta Ytankstable,x - randomize 0 180 - sta AngleTable,x - randomize 0 (49-8) - and #%11111110 ; correction for PMG - clc - adc XtankOffsetGO_L,x + randomize 8 32 + sta Ytankstable,x + randomize 0 180 + sta AngleTable,x + randomize 0 (49-8) + and #%11111110 ; correction for PMG + clc + adc XtankOffsetGO_L,x sta XtankstableL,x - lda XtankOffsetGO_H,x - adc #0 + lda XtankOffsetGO_H,x + adc #0 sta XtankstableH,x - rts + rts .endp ;------------------------------------------------- .proc DisplayStatus @@ -1937,17 +1932,17 @@ RandomizeTankPos ;--------------------- ;displaying name of the defence weapon (if active) ;--------------------- - lda #$08 ; ( - sta textbuffer+80+22 - lda #$09 ; ) - sta textbuffer+80+39 - lda ActiveDefenceWeapon,x - bne ActiveDefence - ; clear brackets - lda #$00 ; space - sta textbuffer+80+22 - sta textbuffer+80+39 - lda #47 ; no weapon name + lda #$08 ; ( + sta textbuffer+80+22 + lda #$09 ; ) + sta textbuffer+80+39 + lda ActiveDefenceWeapon,x + bne ActiveDefence + ; clear brackets + lda #$00 ; space + sta textbuffer+80+22 + sta textbuffer+80+39 + lda #47 ; no weapon name ActiveDefence sta temp ;get back number of the weapon mva #0 temp+1 @@ -1980,26 +1975,26 @@ ActiveDefence ;--------------------- ;displaying the energy of a tank shield (if exist) ;--------------------- - ; clear (if no shield) - lda #$00 ; space - sta textbuffer+40+10 - sta textbuffer+40+11 - sta textbuffer+40+12 - sta textbuffer+40+13 - ; check shield energy and display it - ldx TankNr - lda ActiveDefenceWeapon,x - beq NoDefenceWeapon - lda ShieldEnergy,x - beq NoShieldEnergy - sta decimal ; displayed value - lda #$08 ; ( - sta textbuffer+40+10 - mwa #textbuffer+40+11 displayposition + ; clear (if no shield) + lda #$00 ; space + sta textbuffer+40+10 + sta textbuffer+40+11 + sta textbuffer+40+12 + sta textbuffer+40+13 + ; check shield energy and display it + ldx TankNr + lda ActiveDefenceWeapon,x + beq NoDefenceWeapon + lda ShieldEnergy,x + beq NoShieldEnergy + sta decimal ; displayed value + lda #$08 ; ( + sta textbuffer+40+10 + mwa #textbuffer+40+11 displayposition jsr displaybyte - lda #$09 ; ) - sta textbuffer+40+13 -NoDefenceWeapon + lda #$09 ; ) + sta textbuffer+40+13 +NoDefenceWeapon NoShieldEnergy ;========================= @@ -2057,30 +2052,30 @@ DisplayWindValue displayAngle ldx TankNr lda AngleTable,x - cmp #90 - beq VerticallyUp - bcs AngleToLeft + cmp #90 + beq VerticallyUp + bcs AngleToLeft AngleToRight - ; now we have values from 0 to 89 and right angle + ; now we have values from 0 to 89 and right angle sta decimal lda #$7f ; (tab) character sta textbuffer+40+25 lda #0 ;space sta textbuffer+40+22 - beq AngleDisplay + beq AngleDisplay AngleToLeft - sec - lda #180 - sbc AngleTable,x - ; angles 180 - 91 converted to 0 - 89 - sta decimal + sec + lda #180 + sbc AngleTable,x + ; angles 180 - 91 converted to 0 - 89 + sta decimal lda #$7e ;(del) char sta textbuffer+40+22 lda #0 ;space sta textbuffer+40+25 - beq AngleDisplay + beq AngleDisplay VerticallyUp - ; now we have value 90 + ; now we have value 90 sta decimal lda #0 ;space sta textbuffer+40+25 From 2c3b4d148ea1fc6a1ac0f521af9dfebbb3ed3383 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 27 Jul 2022 13:03:10 +0200 Subject: [PATCH 14/88] Barrels optimisation and more --- grafproc.asm | 21 ++++++++++++++------- scorch.asm | 23 ++++++++++++++++------- scorch.xex | Bin 41425 -> 41474 bytes textproc.asm | 6 ++++++ variables.asm | 4 ++-- weapons.asm | 18 +++++++++--------- 6 files changed, 47 insertions(+), 25 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index c21a1bc..fdae632 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -722,6 +722,14 @@ ZeroesToGo6 bne ClearPM6 NoPlayerMissile +BarrelChange + ldy #$01 + lda Erase + beq @+ + dey +@ sty color + jsr DrawBarrel + ; draw defensive weapons like shield ( tank number in X ) ; in xdraw, ydraw we have coordinates left LOWER corner of Tank char ldx TankNr @@ -757,7 +765,6 @@ DrawTankFlag jsr SetupXYdraw.X jsr TypeChar NoShieldDraw - DrawBarrel DoNotDrawTankNr rts .endp @@ -1912,12 +1919,12 @@ X lda XtanksTableL,x ; erase previous barrel ;cos(Angle) (but we use sin table only so some shenanigans happen) - mva #0 color - lda previousBarrelAngle,x - sta Angle - jsr DrawBarrelTech - - mva #1 color + ; mva #0 color + ; lda previousBarrelAngle,x + ; sta Angle + ; jsr DrawBarrelTech + ; + ; mva #1 color ldx TankNr jsr SetupXYdraw lda angleTable,x diff --git a/scorch.asm b/scorch.asm index 53afad3..2e584d7 100644 --- a/scorch.asm +++ b/scorch.asm @@ -325,11 +325,11 @@ SettingEnergies sta colpf2s ; status line "off" sta colpf1s - lda #90 ; barrel fully erect - ldx #MaxPlayers-1 -@ sta previousBarrelAngle,x - dex - bpl @- +; lda #90 ; barrel fully erect +; ldx #MaxPlayers-1 +;@ sta previousBarrelAngle,x +; dex +; bpl @- jsr drawmountains ;draw them @@ -1213,20 +1213,29 @@ LimitForce .endp ;---------------------------------------------- .proc MoveBarrelToNewPosition + mva #sfx_set_power_2 sfx_effect + mva #1 Erase + jsr DrawTankNr.BarrelChange + mva #0 Erase +MoveBarrel jsr DrawTankNr jsr DisplayStatus.displayAngle ldx TankNr + mva #1 Erase + jsr DrawTankNr.BarrelChange + mva #0 Erase lda NewAngle cmp AngleTable,x beq BarrelPositionIsFine bcc rotateLeft ; older is bigger rotateRight;older is lower inc angleTable,x - jmp MoveBarrelToNewPosition + jmp MoveBarrel rotateLeft dec angleTable,x - jmp MoveBarrelToNewPosition + jmp MoveBarrel BarrelPositionIsFine + jsr DrawTankNr rts .endp diff --git a/scorch.xex b/scorch.xex index 10c8686385e25122761ac62f78f7219d99081bb7..f399cec0d6f692fb815962f50f056c4fda602e02 100644 GIT binary patch delta 15046 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 Q3X0%PAA0a}_nE~10mc8qegFUf delta 14974 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 then reset to 0 cmp #25 ; 1/2s bcs CTRLPressedRight mva #sfx_set_power_2 sfx_effect - + mva #1 Erase + jsr DrawTankNr.BarrelChange dec AngleTable,x lda AngleTable,x cmp #255 ; -1 @@ -1350,9 +1350,9 @@ pressedRight CTRLPressedRight ldx TankNr - lda AngleTable,x - sta previousBarrelAngle,x mva #sfx_set_power_2 sfx_effect + mva #1 Erase + jsr DrawTankNr.BarrelChange lda AngleTable,x sec sbc #4 @@ -1366,14 +1366,14 @@ CTRLPressedRight pressedLeft ldx TankNr - lda AngleTable,x - sta previousBarrelAngle,x lda pressTimer spl:mva #0 pressTimer ; if >128 then reset to 0 cmp #25 ; 1/2s bcs CTRLPressedLeft mva #sfx_set_power_2 sfx_effect + mva #1 Erase + jsr DrawTankNr.BarrelChange INC AngleTable,x lda AngleTable,x cmp #180 @@ -1384,9 +1384,9 @@ pressedLeft CTRLPressedLeft ldx TankNr - lda AngleTable,x - sta previousBarrelAngle,x mva #sfx_set_power_2 sfx_effect + mva #1 Erase + jsr DrawTankNr.BarrelChange lda AngleTable,x clc adc #4 From 9b42e79b61d40cc45cee84cf6532cb987e0b7bc6 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 27 Jul 2022 13:44:20 +0200 Subject: [PATCH 15/88] Shields fix --- grafproc.asm | 35 ++++++++++++++++++----------------- scorch.xex | Bin 41474 -> 41479 bytes 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index fdae632..1d84aa7 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -722,20 +722,13 @@ ZeroesToGo6 bne ClearPM6 NoPlayerMissile -BarrelChange - ldy #$01 - lda Erase - beq @+ - dey -@ sty color - jsr DrawBarrel ; draw defensive weapons like shield ( tank number in X ) ; in xdraw, ydraw we have coordinates left LOWER corner of Tank char ldx TankNr lda ActiveDefenceWeapon,x cmp #ind_Shield_________ ; one shot shield - beq DrawTankShield + beq DrawTankSh cmp #ind_Force_Shield___ ; shield with energy and parachute beq DrawTankShieldBold cmp #ind_Heavy_Shield___ ; shield with energy @@ -747,14 +740,17 @@ BarrelChange cmp #ind_White_Flag_____ ; White Flag beq DrawTankFlag bne NoShieldDraw -DrawTankShield - jmp DrawTankShield.DrawInPosition +DrawTankSh + jsr DrawTankShield + jmp NoShieldDraw DrawTankShieldWihHorns - jsr DrawTankShield.DrawInPosition - jmp DrawTankShieldHorns + jsr DrawTankShield + jsr DrawTankShieldHorns + jmp NoShieldDraw DrawTankShieldBold - jsr DrawTankShield.DrawInPosition - jmp DrawTankShieldBoldLine + jsr DrawTankShield + jsr DrawTankShieldBoldLine + jmp NoShieldDraw DrawTankFlag lda #$5E ; flag symbol sta CharCode @@ -762,9 +758,16 @@ DrawTankFlag sec sbc #8 sta ydraw - jsr SetupXYdraw.X jsr TypeChar NoShieldDraw +BarrelChange + ldy #$01 + lda Erase + beq @+ + dey +@ sty color + jsr DrawBarrel + ldx TankNr DoNotDrawTankNr rts .endp @@ -800,8 +803,6 @@ tankflash_loop ; ; this proc change xdraw, ydraw and temp! ;-------------------------------------------------- - jsr SetupXYdraw -DrawInPosition mva #1 color lda erase beq ShieldVisible diff --git a/scorch.xex b/scorch.xex index f399cec0d6f692fb815962f50f056c4fda602e02..f884d61a822aad26478b14fdff3947d5cb38d40f 100644 GIT binary patch delta 13940 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 delta 13856 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 Date: Wed, 27 Jul 2022 14:00:34 +0200 Subject: [PATCH 16/88] Game Over animation fix --- scorch.xex | Bin 41479 -> 41486 bytes textproc.asm | 4 ++++ 2 files changed, 4 insertions(+) diff --git a/scorch.xex b/scorch.xex index f884d61a822aad26478b14fdff3947d5cb38d40f..20efe8d7eb884c8b94b19e57bfb6a9fdcb8825c2 100644 GIT binary patch delta 14131 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 TNAD0`7d+GY9vo2eW3T@O9`qy+ diff --git a/textproc.asm b/textproc.asm index bc1358c..8356be4 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1850,9 +1850,13 @@ MainTanksFloatingLoop ldx #(MaxPlayers-1) ;maxNumberOfPlayers-1 AllTanksFloatingDown stx TankNr + lda Ytankstable,x + cmp #72 ; tank under screen - no erase + bcs NoEraseTank mva #1 Erase jsr DrawTankNr mva #0 Erase +NoEraseTank ldx TankNr inc Ytankstable,x lda Ytankstable,x From 47dcfa1af47a74f984d1c6e3591937a3bc245404 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 27 Jul 2022 18:01:33 +0200 Subject: [PATCH 17/88] Final Shields fix Now shields are draw ONLY in DrawTankNr proc. --- grafproc.asm | 10 +++++----- scorch.xex | Bin 41486 -> 41505 bytes weapons.asm | 37 ++++++++++++++++++++++++------------- 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 1d84aa7..f37a81d 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -723,6 +723,11 @@ ZeroesToGo6 NoPlayerMissile + ldy #$01 + lda Erase + beq @+ + dey +@ sty color ; draw defensive weapons like shield ( tank number in X ) ; in xdraw, ydraw we have coordinates left LOWER corner of Tank char ldx TankNr @@ -803,11 +808,6 @@ tankflash_loop ; ; this proc change xdraw, ydraw and temp! ;-------------------------------------------------- - mva #1 color - lda erase - beq ShieldVisible - dec color -ShieldVisible sbw xdraw #$03 ; 3 pixels to left ; draw left vertical line of shield ( | ) mva #6 temp ; strange !!! diff --git a/scorch.xex b/scorch.xex index 20efe8d7eb884c8b94b19e57bfb6a9fdcb8825c2..b1adb604bb890face5a958fd1f32dd548b69f3e5 100644 GIT binary patch delta 14651 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 CELz+E diff --git a/weapons.asm b/weapons.asm index 9abbf98..7a522ae 100644 --- a/weapons.asm +++ b/weapons.asm @@ -767,7 +767,7 @@ ExplosionLoop2 DistanceCheckLoop dex lda eXistenZ,x - beq EndOfDistanceCheckLoop + jeq EndOfDistanceCheckLoop ;here the tank exist lda XtankstableL,x clc @@ -825,10 +825,17 @@ ShieldCoveredTank ShieldEnergy0 ; deactivate if no energy. it's like use one hit shield :) UseShield mva #1 Erase - phx - jsr DrawTankShield - plx - mva #0 ActiveDefenceWeapon,x ; deactivate defense weapons + lda TankNr + pha ; store TankNr + stx TankNr ; store X in TankNr :) + jsr DrawTankNr ; now erase tank with shield (to erase shield) + lda #0 + sta ActiveDefenceWeapon,x ; deactivate defense weapons + sta Erase + jsr DrawTankNr ; draw tank without shield + ldx TankNr ; restore X value :) + pla + sta TankNr ; restore TankNr value :) TankIsNotWithinTheRange EndOfDistanceCheckLoop txa @@ -1900,19 +1907,23 @@ AutoDefence ; now run defensive-aggressive weapon - Auto Defence! sbb #180 LeapFrogAngle Angle ; swap angle (LeapFrogAngle - because we have strored angle in this variable) lsrw Force ; Force = Force / 2 - becouse earlier we multiplied by 2 - mva #1 Erase ; now erase shield - phx - jsr DrawTankShield - jsr DrawTankShieldHorns - plx - lda #$00 - sta Erase - sta ActiveDefenceWeapon,x ; deactivate used Auto Defence + mva #1 Erase + lda TankNr + pha ; store TankNr + stx TankNr ; store X in TankNr :) + jsr DrawTankNr ; now erase tank with shield (to erase shield) + lda #0 + sta ActiveDefenceWeapon,x ; deactivate used auto defense weapon sta ShieldEnergy,x sta xtraj ; prepare coordinates sta ytraj sta xtraj+2 sta ytraj+2 + sta Erase + jsr DrawTankNr ; draw tank without shield + ldx TankNr ; restore X value :) + pla + sta TankNr ; restore TankNr value :) mwa XHit xtraj+1 sbw YHit #5 ytraj+1 mva #1 color From a01af2a6087a1fe923f5e83961dd938ee8d79cda Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 27 Jul 2022 20:55:14 +0200 Subject: [PATCH 18/88] New (drawto) barrels finished --- artwork/tanksv2.fnt | Bin 1024 -> 1024 bytes constants.asm | 42 +++++++++++++++++++++--------------------- grafproc.asm | 20 ++++++++++---------- scorch.xex | Bin 41505 -> 41312 bytes 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/artwork/tanksv2.fnt b/artwork/tanksv2.fnt index 8adfc4ee614183145db82050b05b142f90dbcafc..d4461acd915c8788d08427a9ea276436bd52186f 100644 GIT binary patch delta 42 pcmZqRXyDk;!XznE_kZ<&AZTQO0E@c+SHb+rjZ7h%KQi$%0sxi;6G#96 delta 16 XcmZqRXyDk;!ZewcId}6%CVoZ$Elvdm diff --git a/constants.asm b/constants.asm index 9fdcd72..8a6322f 100644 --- a/constants.asm +++ b/constants.asm @@ -203,29 +203,29 @@ SlideLeftTable ;----------------------------------------------------------- ; this table changes Angle to the appropriate tank character -BarrelTable - - .by $2C,$2C,$2C,$2C,$2C,$2C,$2C,$2C,$2A,$2A, - .by $2A,$2A,$2A,$2A,$2A,$2A,$28,$28,$28,$28, - .by $28,$28,$28,$28,$28,$26,$26,$26,$26,$26, - .by $26,$26,$26,$24,$24,$24,$24,$24,$24,$24, - .by $24,$22,$22,$22,$22,$22,$22,$22,$22,$22, - .by $20,$20,$20,$20,$20,$20,$20,$20,$1E,$1E, - .by $1E,$1E,$1E,$1E,$1E,$1E,$1C,$1C,$1C,$1C, - .by $1C,$1C,$1C,$1C,$1C,$1A,$1A,$1A,$1A,$1A, - .by $1A,$1A,$1A,$18,$18,$18,$18,$18,$18,$18, +;BarrelTable +; +; .by $2C,$2C,$2C,$2C,$2C,$2C,$2C,$2C,$2A,$2A, +; .by $2A,$2A,$2A,$2A,$2A,$2A,$28,$28,$28,$28, +; .by $28,$28,$28,$28,$28,$26,$26,$26,$26,$26, +; .by $26,$26,$26,$24,$24,$24,$24,$24,$24,$24, +; .by $24,$22,$22,$22,$22,$22,$22,$22,$22,$22, +; .by $20,$20,$20,$20,$20,$20,$20,$20,$1E,$1E, +; .by $1E,$1E,$1E,$1E,$1E,$1E,$1C,$1C,$1C,$1C, +; .by $1C,$1C,$1C,$1C,$1C,$1A,$1A,$1A,$1A,$1A, +; .by $1A,$1A,$1A,$18,$18,$18,$18,$18,$18,$18, ;.by $18, - .by $16,$16,$16,$16,$16,$16,$16,$16,$14,$14, - .by $14,$14,$14,$14,$14,$14,$12,$12,$12,$12, - .by $12,$12,$12,$12,$12,$10,$10,$10,$10,$10, - .by $10,$10,$10,$0E,$0E,$0E,$0E,$0E,$0E,$0E, - .by $0E,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C, - .by $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$08,$08, - .by $08,$08,$08,$08,$08,$08,$06,$06,$06,$06, - .by $06,$06,$06,$06,$06,$04,$04,$04,$04,$04, - .by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02, - .by $02, +; .by $16,$16,$16,$16,$16,$16,$16,$16,$14,$14, +; .by $14,$14,$14,$14,$14,$14,$12,$12,$12,$12, +; .by $12,$12,$12,$12,$12,$10,$10,$10,$10,$10, +; .by $10,$10,$10,$0E,$0E,$0E,$0E,$0E,$0E,$0E, +; .by $0E,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C, +; .by $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$08,$08, +; .by $08,$08,$08,$08,$08,$08,$06,$06,$06,$06, +; .by $06,$06,$06,$06,$06,$04,$04,$04,$04,$04, +; .by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02, +; .by $02, ;EndOfTheBarrelX ; ; right angles from 0 (horizontally right) to 90 (up) diff --git a/grafproc.asm b/grafproc.asm index f37a81d..1ab02eb 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -632,9 +632,12 @@ SkipHidingPM lda AngleTable,x - tay - lda BarrelTable,y - sta CharCode + ldy #$50 ; left tank + cmp #91 ; left or right tank shape + bcs LeftTank + ldy #$52 ; right tank +LeftTank + sty CharCode DrawTankNrX ldx tanknr jsr SetupXYdraw @@ -1912,7 +1915,6 @@ X lda XtanksTableL,x ; X - tankNr ; changes xdraw, ydraw, fx, fy ;-------------------------------------------------- - jsr SetupXYdraw ;vx calculation ;vx = sin(90-Angle) for Angle <=90 ;vx = -sin(Angle-90) for 90 < Angle <= 180 @@ -1946,8 +1948,7 @@ X lda XtanksTableL,x sbc #90 tax ; barrel start offset over 90deg - adw xdraw #6 xdraw - sbw ydraw #2 ydraw + adw xdraw #5 xdraw mva #1 goleft bpl @+ ; jmp @+ @@ -1957,11 +1958,10 @@ angleUnder90 sbc Angle tax ; barrel start offset under 90deg - adw xdraw #1 xdraw - sbw ydraw #2 ydraw + adw xdraw #3 xdraw - @ + sbw ydraw #3 ydraw lda sintable,x ; cos(X) sta vx @@ -1994,7 +1994,7 @@ YangleUnder90 ; 2. add vx and vy to 3 byte variables xdraw.fx, ydraw.fy ; 3 check length, if shorter, go to 1. - mva #20 yc ; barrel length + mva #5 yc ; barrel length barrelLoop lda goleft diff --git a/scorch.xex b/scorch.xex index b1adb604bb890face5a958fd1f32dd548b69f3e5..5dbb2317d1bb40b88efd8c52b335f1cae5223bee 100644 GIT binary patch delta 14086 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 pcU<$l()sKRKL<-nV Date: Wed, 27 Jul 2022 21:46:35 +0200 Subject: [PATCH 19/88] Robotanks barrel angle sound --- scorch.asm | 3 ++- scorch.xex | Bin 41312 -> 41340 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/scorch.asm b/scorch.asm index 2e584d7..0ca4320 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1213,15 +1213,16 @@ LimitForce .endp ;---------------------------------------------- .proc MoveBarrelToNewPosition - mva #sfx_set_power_2 sfx_effect mva #1 Erase jsr DrawTankNr.BarrelChange mva #0 Erase MoveBarrel + mva #sfx_set_power_2 sfx_effect jsr DrawTankNr jsr DisplayStatus.displayAngle ldx TankNr mva #1 Erase + PAUSE 1 jsr DrawTankNr.BarrelChange mva #0 Erase lda NewAngle diff --git a/scorch.xex b/scorch.xex index 5dbb2317d1bb40b88efd8c52b335f1cae5223bee..3b7d42a3e7745f4a1196a32b98485a511d4e9292 100644 GIT binary patch delta 14710 zcmb7L31Ade(w@m=auJe2ksVQ>aTg>QLKGH;n}7>R93qGu;=!m~Q4*9J6*^akNYWvb zMgx-f9B1f|&Ze`IC9Fnw_GfqHm}syU_mEW(503npFdm2~B>(q%CI_0`f7c`ZuBunB zUcGu%^=i)iDeT&x!n|2yjn@xkkIf02Gye(I=+Q27BQx2zm3uFhYk5*Jh@-8vt1l}w#M ztiH))Ybqg=iEkX)I)jjLtZ*uWlyO=V`c6Ga$_Cg_xc*>h(De*9$euD&F#rn1CQF0* zOA;{IpP$iokp?MSnXcR-j%4%OoimgOkbw3mO^nuR2ygUUIFq1#=QaZarpBbeok5f* z$r3_V5|Txf3#6DRCgLQ@V}vJ)kqE$*MogY2OB0ZC?``0cpXbJJ1HXeRrJUxCRJJ>0U@_*T%WV&6;wv-{dB z15>#B^0$W2k>)t_P6aW!rk-)a8(tbUP8E<#rukbFk@D$DhZ^b@&y%JDYqfL)qE~_*;xk|GP2({Lwj?MFM7q_~s_d*XK&)l4c+dhdh?pPt7D* zJSjDJz|U?zw}p9>2mq@wC;a2euKL${FN+=ST7xIZ*D@ z)pZ7s)mKL{!-X7Q1IaW9xi;UMq$OO)!-V;wpNLH)$QEU~c$9I2KgK3X7~+rjUa4+8 zEOI45;nYcQuk?p$eIST^J>+H&83F;jX#eEik`=`FAhBkxV6y4Uz&sF8u%>whDKodO zAeJzIEFn8mtBS3@RKmuk65k9qZU$LZ;{d$N;B)BXc^x3ermi5@9i$q74&vzCJ0ZUc zn@aGHgK+oeDn?L;`9W}V4e@>_RuPQcPsC~>DkQFoB<=6zFI%25Fw~|PTC0c-(h89M z0Br?abTum|Kp;IkX)r%U5D$f^Qw8ylVd^wN{8N}ZT@e2qrlttu(J+U5nqoMUtcBq) zUZG_Ct7Oxwp{l~>7lS5v@b`NW|-seP^(s+AFfQz1h6Zm08{Qwuv+E|>c~TDa`= zPtq=e<~uz~xH!V2bcm;^_#WGb3d&8Lt^7O;M+Il|Xqb{LeiP;nS1jalia(D)b&#j2 z(m_^8cTY~5yb?0@z1y$@=kmgt2<lcPzXwaD__1@shR)v~iWNm?`I)+dL14)4;;>M+k? z$$L&65v<*bTGoChc737&Y2+%H#>el|{6hJoZ&-r}e)8!V?~e~eR5$)r)FRb_Fzqi&tlL^Tk^od9 zQwQ_m`k`?fTwc3jf9Kge#>87cv(SPSB&NoBj$T*YneMbNL@0n|#yJBw6+|s#~b5GB$najon z<~kHJ_}JD;l|Et%<+<|5?SGut)z%Mfp{DTAuv>rHG^D$!6Ilq5`{O*hI5oI$oww}) zcK56jiZkZZ><6gYM#Xs)qCS$?)HI&9n8h^eH62f<+`@;L0(U6!41LbyI#K^E!k^-^ zD1Ce2!(ts+e2@$3ES`#MsXCjA>nNyU!0V}+PFoD(2FiGJOAxeoDsEUN76^i$rD)tp zaYDogSaCip`e#9#uYoqlx((v5sF+ICwN#u%)peMEHdWVC@Ic)_#q=O!zzJ*uV@6+{ z3HnxnhU3pt%>@)2DO-aQ+6HJ89E{XC7{EO=$0p~r{9MTKh8@WTjvM=|a!%$fA*U?t zTxVZ&7oapPWq3?C9%)U=ZSmdJIm~d8_M{BsF>hRO`$0$xwU^Cdq;xhJgH3Xd7(wM+ zF_O9lms}%i1Ql}BNQzqt)Wrm;a~Vpm<2qn8Z4#VvZl+5pFUYTV+FFc4o}4qPg~r6} z%Mnn&5XPAaE|wG8#-Hpoh|6JMBw(!xp7cgtZRhYLIYvEYc7{G ztI1NM+jRPduoGp!@Ia^Fgo;n7$LcsnLM9vf6Cvv{{S5o&kBIl5QpqYG(W^x|Qbf^6Bxv6Oe~3-EzNj3lEk#*o+a@%yC&i5TQuU^&4^5=J+RiKe5O2%1w-^ zQN1zsr#&I2_5x!L@|10AY-qz?VcW;U(hKgNUhO=M_F!#Fs84uM=?5|xbf?zb+TGMS z3Qe~$V%x>5Obos!_S+Xg^_x7^YK%uHQ2TfUL5=kYg^a|SrEUWa-n#c%Gg|dN6XFU*B;rg{TXuFJ0#{)3D@CZ zTFmTPhNHr+b2DWI&r9pu%oP8rX4>3B%PzSMr4{r-sX5dWYW_;ct`IQzjjrP8cwyPs)=FuE>c^l4J)-~8e?K&s+m_YAu!B8 zDR7g2Vj#{x1s;Yi5CQsto6DYc$N*0uX%?(hZ4d}JLU5lI7Q=*4m_5quk@k&M#nATr zj)2MDJ}-Fsl^DkA?)9C^gYlP-g~})#$v=|UwOS3fB9jR4rw22FOV)x*c5wfg4~;sK zuw%JNsL*xeZkM6HLez*lMDs_$)aWB^NspJ-%pQ2p4I_lSg8V>Qvql18WixCT&$MYt z=T2y&xdU6(_oTOGkGL;aUhx=VMfQA{eLArjCZ@z|QUN1nQ^0M=X($!S{$}*5_dj(aKn( zHERj8shJZ|LG3#qRBjILNd@h7p+@l<(e1}tTu{2J5RD6o+qSLtIyskvDRYao^GEXJ zJXm+XXuC%6pL&gm*Ga~8SS}H?^*U4)F0~e16vtbr_F8Y8a$xE!Ocj4e)GKWKcTjEE z-X1$UO6c6$9*w~^AuqU*V>&kyTla^wMB{tX#k3*IyY{`lLdXk*F;blsU?~pR%iGke z@X3#VPmW(D>i5KNfFXVrABgPm1&l*S2=vR3ZExM`4qD*wubIc*F0D!D`1cq3ui)&x zzmOTY{{sUznhSdGryc&jS_0zvz&z{A+KM~)Fi~Ym!*}T|46`$h8 z_OS~)?dwQpU)%RCWCk_^P&$Oy(JjAjVgB~({#(6wR~5JO;7Gf`4&KNgxgBLD5Et}0 zf~!Xr?BStbV&IMNW$yyc9<`_k!l61EgdpIo@WkJt^*t>R3xWgiTL1zCp#e5@w=gXF zBp8(Zp^m)=t~gT1SsC5k z^F^>n>6jBv#BidAytnU$W?`;rG-&}%T1b-?(I)MEz)Yv=5*pwT1kuOis}ILlAC2#Hia{93r%-VQ z6=yQ~KwPBKVEYd#0bq(w3BYIQl+0v!eniQ=@V!!LE5^VvN~5h919vE$w%*G;qQr?j zO&(!WXV6xeFf22fdp47*_pW*y`Cd3rm>|Of-3z zRh>e!5Dx-}rqV0~gutO`Gz$@-X;hs~vk(yiXY6dN=di85p9*}QI+xi(*#82y{{q|p zLbm_gVQuu>;Tv{-Bh{kR3JP;#$`i1Hv=x}&G8$mXaliso)eKO7O4;qWBRbd}VPN*0 zk=?^#OrTX_|Mp=F_w!79r%}JZ%#5mK93$k%f~aCPL^QYBUs|Geu#3jPh&M7h4P!U< zfvuP&`zS-GpVKop7YzZ4Z$EJmZL`@ zu_ApPi7_WEzp#O>mYdK8XWu{*4b(Elil)q8psCE%W}x=NkLV3-jNX7XG^ZG~2p+?l zryIR-Itn&kM}gMRIvq?R^|(SX#(>lFBfAZ8#GvC1F%WSuyUjRY5g{W6CLlI23?Tpr zUl@}uc;oEg+xg`W>9;|*YPmtHRM3!5|5H=lwG0?GQv33U+~E*RVqsEAZeb!x22w~O z8N$Sn{DR3KNnipnz zR0laG-Wh^O3_;u-gg7RS2tkYrLEOWXk{%E4jybtIN^P{wMpYa2o0+EPMH{WNQEkG% zJEs5ofI|FzV{i=YCzo1%7P|Epj1RtB=+*?r3g1AwHHmTKUmr}q$H`O-;v_0gX6gY} zU=B*jvFvOx_i{RFK*vrN(EF#ODF>rfjJa8hOq_(FmNEEPk|4Ogr8kQf1sFKOJ%;~o zq$Aje+eio0G4hNQhBOo$Dahwq(}AEjKs*YKq3&?Ta5J89lGz;p|H%h3%&Ycd>a$0X zW$Z;}%xd;nqMt0-bL@QtTY+PA;Q8Pks6SocVInw!xl8D+D#mj_@bL=H6MLdUP>?-= zIdn%GA)sr-y%`2L*Cu`Z;1K>AQ5L|$=GvG6(DypI+v#+w*GXCj8k?Fd=Z_s4q5W3D zZOdG-qeO(zPDh{=b2c$bfZgHSRftV^bUWi#T8Gn#$S-?@xes3A;k>eYTfz_Ld8ab( zZu$+OpS!G?QPs?)%rqb#6!vyb*}w~>DrxFXH#_vmag76>D2%Xb0JVgGyk~b?GcBy8 z3(fo9*MEA%VCiSIP_Y?WKkI*~c$}!m3B;B+tIfnett>{FhCZz7II+n&tr+rplYoKc%d^KsVaC(X@>tOGSzg^9o`hkj*p zgP#yRh(yDLi-y~4wheAEIvX6-=p=&B;6u>iV10ul=yAr?jgs~(OyUy>H|a?ZkEQzK z9nAKd+7gMHNc>USIVDm|B=(I@_~W#`#}kR=ZxDiDLxk3^E|HwRSn0c1Y57C@#Y#3R zQo9+AsGt#=W@a4ULZpcvx+m^`wBuReb~6YFjHC zR|%p_YTGIsvjnk*)LyD=Tq}rQSJnn98#f8!C{p`nW#bD7i&WNrRoR#;h?grH3kC68 zsbtaAh>MjmFr17 zk=JB5HcR~;O5`sW0XH}5=_;pHF37x1cu5vA4Z_R5gRI@Rp$KzgF8kEwz&5%Y8{5@J zwyXP`^$q%@t^ta{S#a#oQ0=PhgdhN%VKjDP)aUSRc+nN^EP%QxcbOub!^`<1%T=rF z%>0eeAeU#pC>(S})Hg6R1GFoNrM7cMhI%7R z;u)%bD5Wf!VEhPwZNByMyxmzi)W4M8N{XHn@>@1v<+xl;)5uF77P5C zrWr*nXpnNh*mtZlUW^;7jv$cE*{gu8lMdw)>zpj|oxKS?dznn#4@}_kDcb0vc5x*u zyaPX~nk6t?Jy?We1u?z4p$G@7``}ya8@607ayIyvm4z!$IvYxKiN`V=%NV-2AUbH` z3Ia}|#seu-hyQLZR=J(IUMz7z8wzK!|0zPWcx908k3n<87z+%1sl(jfYH!j$_@KpL8Rl+IK7>s&Ql8KG!sCR3O~l;Tl&OJ+>rf zEaaKB+FJT0M>n65);t>04BQHqj}kCCf+~Y(=N-89bgd$OiV){#R4Iclm=0Yq>S?a# zDL0E4?46D`-Jl}D^Y~kpf#^MZr|Zh(D^dfjPgeY5)d?;2*FN+fIsdZtNjL$0b`R60}?8y z6EZyr*Y+t@Kc)U?X8D0;5D8?*^+w2hR96!QAr6bGKe{Yh{gkJ+mgt_HwiecDK^Mk# z_f!?5fwWh;3_F_gtF46fSY`&ChAZJ)u>ZLRT*E!}gL7Fj-4&(h|x zrP>|pv{LabRnO_Q{;YP6s^|4u1go8=E>q)K>U;@r+76eI?NHojHy{mkA^kLjR0lju zZ*m#CARFuOY~0u&9a_4u-&MCh4R{V zHx@EYoZwO0-7zuNtgCJTi4j@fy9Gu4!7bEqNjYupK-1jr)=oI;I^4bm72-9w?^uO+ z-F*Qcp&TuET#=ovz$(e*t-!krxgsuZ#nTR5#H^WbAw|KES;-6KvJ=oC?YbMmWoICQ z-CtLVjup7}6|?a$&k}>lC$)(lb)*Mm-sNF-6@pU7!UGOH$`BX?54I z5a9YXI0F8=v`AP*cv{D%u<+u%bj2jp=@X!RqDLA0pP)Qar~SpDNPm93AKx2cK>gp) z)lI>FI{Dv^RN*#Tm*wF2{%eDD-wTF>R@#F_>P6c8b!A`_Ze`^Ts12g44Hnq)AWYFK z-vW0keOO-Emu!sC`xs35OQJKF@3A%R;MRnJ66Mo>1FZx87!D6GfMd@zrDHtGTZrga z3cKsZcv$j8aTf&gO-v*LFDmRIroJL!8h-)RV`rkYulE%)Nk2Xer3Ab%-Nn{nK|adVt5+#%NY55$mWEV$U>&<(0AHzA@l8^bZyxnBasF!=bku-CwOMc zmAm5WoqLX_K=~oDi{Yv0!h@CUNfBR35%;Eul_|kHdJtTxfR&AlLZ|Xd_uy!ZQL8Yo zx*rKqsv=b`p8y4|_`8Ncycyshx*C8I0bE$H2;f2r4um@X_7pl0lU@=S?u};yFwaQq-6vWv!TOHc>I0 zN_8vJ2eiZS$~#*q)X4c~w+p|v``Paw;3$k1dP(}E)ybnWUC`dqs14^zoE9M&WuVH)_NM$SU@3(iIRjym^73$>Q zEUy=Sqqa+dl>_+0>tqV`{VH_#YuFgv4M31!)GSt6TD}+Q5xbUG3is^MAvZCBSYp~t2o|>CjdcFp3VZFs4cM4^A{1o;>I$bD8ahU^oZo|2qR@s#qCAj3OKx}f1 z?W_ygA60hqh9moJvZp0V@W@qqqjk9l?Z?-1+=kx57Y>&0v3w`ugpr7x3AuQ~T)tn( z6JsbIGSQGP_Muq04ee*qj>Z;)z~}2t5%g>j5KXy^Juxiy(}zV-%7Zi6)ZsZ73(;Ale+G+DlZ=((u)8k1=^OJspENQkU{7uk4U!OGBD z8ykpr!K%9G)^SA`xu=fc`hAV6uhBgXqzxc$%2M492h;e5ShoT<8`IuEY=~jB#G~dl zoo*ngB($Rf_j)$b-goHF?kqD#yA>e~#6@mG;>eo>Za!tiyh6pjh*O?|VUfzRXra$K z6KKD|139zPS4s<>9{RJvn{j+ybNvr{!(0y(6jc=?r<054CGqKBMvN*H3VdUvV^7}~ zdj!eIMJ0ObFp-9=zI_b8*&er<<2Q4G&cZLZphbC1D1t7vK@9SM#${AHA-Tm;_UZu< zOy6?DB=71$(IB&{cF)vp+dALlk2tk2adSJdm7Pt&M_+VYRFI&8j;@BUgCiv_Yk+Z^ zG(L;te+-4uPzWu3gQ-nju%R@7ZQC5Im*p=ZeF>VSrH_z@Vm=Z#bqes@d?fcs4kOB; zjP0?yIgC&2y|ynE4X;Fpjb#fS z$6TM_(g0=Z<{GBZ^WbvV3>mly_liq+8PFAYJFI`ne=HEmk}tTk(idy215aYp*yElO z8pnp{-P_PTc*;@sba4#109J(Vn2JS(MR@h<8v+aLWxghW!z>=ny}d2ahiP9YaXRhc zFG#bW8J64xUdlPmep2>k;0+-8|L{qb&)mkpy-nkEijg6}OnxD+-ih6JI&tdIq=#mM zdCTVrG9YO11jxC~-LusMs^vzob@&Tdcqo>uuhhnDlo8(VteJD62nkaVl~mb_67*lp ziBaEHiu@}q9dgv=O6U!y#Ejyr`ZvDj!i5W^lyd*GF?i#=q~AC%%Xuz?^Ck6F8o0xz zR?=1|oJy(^+PaqlEee?LPDIjPrS`|RS}`K4b3|6x2v?aI*|@KQh;up8!Dsv3OsQ6E z|LBF#{^;{bC!ZZU6t*i8)R@Bk4l(1>hpF#zDu}*Es8H&AnpXQ(NVl!MgWtMM&Jhaa zTtScv5+cRjbe6E9U`6QveFb$7)7?nduF7L!=mLNv5G@F$b-O8E0=2&N1>!Sw(C{K> zfqmLGy)q>U6+o%aP_lx`BC@{aQe=I*!)qU=Up!0$gF(j0$Eh{|l$?CTg2)S~Ir%h2 z%Jd4lXNC0c+L5bv73%ZIISG+9Y@Vq40(}xkeSwbOA?K#cIZvgh3k6kqzwbG^z96k* z%J3q_jC|!7GA+eDOc3ntpiT$v5i&WxM|y1C?E~HtUX*ua?iO~qBI{pF>)5j$Z+v@p zN@eQ?ST|wQ_waDGzr2x2(jV3h;2A@7GQo_%vW!hMo2MC@X?70H*g~^&X~uIjJC9~O zPqXuB#tSsNfM#r^*#gbjMzag4Eqgo7-bu5IXm%ORevxK7Y4#49T~4!$X|_bOOKA2k znk~}omuPk=&3+lae0Je{%=#iAa|ya0FP zpAL1RC&1E+CVJEf9%z9ulx?h>F1!e4?Xb!(W=`tjgu!j9e=*VKv4oGrKhg1+5E=VB zsS+TJCxoX~>BRbh{Ex*&u0fQfMwgW?){OmEtofHLXwu#dtt)Y&$71TSxM00&h0@a- zMh$-xd6jItp%e8ViwL>6sBt0Vibj?Mw=$PW{}SmB8*YtWLM{FEv;*nPhCw_M52jFc z9`!$57SSUGAcdWDqz=rWf=loyW??__3bdcWe#@GICRmVA4>->-qU zAyQ;H=ZL8;Dr$T(FSYTByi^uebh0Oma>uiIJM$9r2Nrbxi{DI%(H>>4IE)1yhIxD=k-He`H9d$c%KACLM%y{_Ovx0h+TscHD}0)B4;4+uZG zfd_o9h;K5rqSNZwFw^UmOcfHor!E+M#j$Hi(|phFz^$C6`R(* z6Ft}S)Y|9rc9g&3zG>hccil5_MtYF&r#cC@kIIj!X=?J_SCHyUFGzJfR8U>;kAeuH z^Iu1G<1b$f%x*kbgecpFA_TrB6G1{88!pqX!{x9Sq{Gg#J8iOrEaS=et;yN)PZdU1iun}t(qpJ&P!v`OIdhyD&j_{b_bLKBu`b@F3 zxBl&SPJ9tNFmcW!+X{D-mRG#h{E7LF3HC=b3&r{mj6=pP-(K(k$G6|#e8+?ZrCtB* o+$oJL=_8FP87?g;86<5iu^tdh-VP5BCwCHOO8*0y&MWc%2X_0j1poj5 delta 14794 zcmb7L3t$vQ(%#MHO&&`?Sb2m26^RB69?Gf^Ks|-91k~d#vhq+CNl@^G5hkyJKr%6# zl_SyZW^b2?nV7+ipkD6W6I37@4UW${^xyy?Bue54ddUBu@P9qKd4PC#zmJ{ns_N?M z>h9{Q>dwF3jX3&lgg2adb$7(bFfGmTYJ(@Ew? zVhM0$eL5i=2@E3ZM-noK6%OA_DmXP3xWiUbF~Ew#&(<)}&o?t7+myRx16rZjY~HP0 zO*E4&@6OJTXh^c@S@Kn466@dQyi<;b2!O|`Vw_q>_><#s*A_0Qu5Kh4qSxwryu*u7xC zKSJCW!QGIj4_+vf6Hv8#48=3_p-(58v8ma7ZcoIceoGjlMmC#&vMa4#%lf&5%q4au znY8@PU10{dWFik@BX}UkR(?-SS)d;gO6vldL^at){T512^>I^I;hRTmN(0vm=sj@U ztxe=^D&)R?f}8!gH??y1K-Xcbng7cw%#UWY+qT}#-IB$9K08!JA36^-FCf7TEj~C& zP2d*W!Jf-tzn#g1`{%=8Ra1H-lW^tpc9e$N3|yr+i8d7#m5LuzZhlt%CZa~ylva^E z=&INJD<4yhH*wqYq*8%+4I4`XP=kq^v#zzYru1|QQNNQgtRBAJD2xzOAeInMtZcBX z%q<}mCW|A!ME!x4F(C?mS7XkaDyU2Y! zDL>(bI(yXI+3J;}(O8N9BzSAZ`QRG=kK)(f`V-!eS_iH|5dyo4OF7fCl1nIMC|z3v zSM5CEwFD}OBT~o@R1t?kD6j@7X^#{N(P5FO5OF67sYRYFzRI-0*Rzh&h6R)T=V}{e zk$XI}Hg(aDyMqyGAFRXgz2uyin0(FVZ*9l!F3TbTE3xEcv85Tf8U0{=LNzT}q#~*# zi-gRlxqd?y$IzxK|By)_fC=xM>Et2 z?8UDr8N8h=+)iHJPQKbs278({llhokUaFpu4YhKD;FO6_S><%LI@O5QN~tpFQzIp3 zaG3fnWbWgWBgF)td{KOtio4i6=bOx0}*nD_(Oy@QZ|#{Qv6JY|9A~sur1q;Myo%81B^?w@JCq_vunXO3B!V2@#K4_!oWOu!alWX z>W()XM+@~+TrW=;Ydqv?nQ+(QB$ClDzSe7y4e9Of3=^09ir$nny|SWqMcoS9;uEZo zetIA0>|O)YWegUu|DOQ%R5m(yI1lwBT1Scbr#4_VV$_neCB?OR;?;b-Z{Le*loIFL z=km8I387ja)GGcaxnRDe7h%2vPm#k8?9#w$a(F56C*TVdpupKNI1ESMxo4h%_F%b> zKh2RRusC`Hl@9OWQ(i5pBKpE9uPtZV5⁣&_eR=QFsjjShGc>jcxEB*fQT(iM{U% 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 VHgH#6*?W Date: Wed, 27 Jul 2022 22:40:53 +0200 Subject: [PATCH 20/88] =?UTF-8?q?AI=20=E2=80=8B=E2=80=8Buses=20White=20Fla?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ai.asm | 7 +++++++ scorch.xex | Bin 41340 -> 41352 bytes 2 files changed, 7 insertions(+) diff --git a/ai.asm b/ai.asm index ca248b2..c47413f 100644 --- a/ai.asm +++ b/ai.asm @@ -170,6 +170,13 @@ loop lda #99 sta Energy,x NoBatteries + ; if very low energy and no battery then use White Flag + lda Energy,x + cmp #5 + bcs EnoughEnergy + ; lower than 5 units - white flag + lda #ind_White_Flag_____ + sta ActiveDefenceWeapon,x EnoughEnergy ; use best defensive :) ; but not allways diff --git a/scorch.xex b/scorch.xex index 3b7d42a3e7745f4a1196a32b98485a511d4e9292..0dd635232af0107081d94f37b477d0f98cdf42c0 100644 GIT binary patch delta 13410 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 Date: Thu, 28 Jul 2022 09:53:01 +0200 Subject: [PATCH 21/88] New (smaller) 8x8 font file and optimisations. Second tank shape added. --- artwork/tanksv3.fnt | Bin 0 -> 1024 bytes definitions.asm | 12 ++++++++++++ grafproc.asm | 13 +++++++++---- scorch.asm | 2 +- scorch.xex | Bin 41352 -> 40655 bytes weapons.asm | 12 ++++++------ 6 files changed, 28 insertions(+), 11 deletions(-) create mode 100644 artwork/tanksv3.fnt diff --git a/artwork/tanksv3.fnt b/artwork/tanksv3.fnt new file mode 100644 index 0000000000000000000000000000000000000000..10a4dcefb1607d669dd784831cd422ac14893499 GIT binary patch literal 1024 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 delta 15352 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 Date: Thu, 28 Jul 2022 17:42:49 +0200 Subject: [PATCH 22/88] 3 tank shapes --- artwork/tanksv3.fnt | Bin 1024 -> 1024 bytes definitions.asm | 1 + grafproc.asm | 4 ++-- scorch.asm | 2 +- scorch.xex | Bin 40655 -> 40687 bytes 5 files changed, 4 insertions(+), 3 deletions(-) diff --git a/artwork/tanksv3.fnt b/artwork/tanksv3.fnt index 10a4dcefb1607d669dd784831cd422ac14893499..ddd8678d0ca1309d01660ba9a4f3240373937505 100644 GIT binary patch delta 37 ocmZqRXyDl3%qYPwU*8z||NjpLD0uMWU*oF(|K&G3GA?BT0QK7rNB{r; delta 16 XcmZqRXyDl3%(yw7aVFE`0!9@8EC&SR diff --git a/definitions.asm b/definitions.asm index 359cc94..f04b4ae 100644 --- a/definitions.asm +++ b/definitions.asm @@ -30,6 +30,7 @@ char_sandhog_offset = char_sandhog_________-char_digger__________ char_tank1___________ = $20 char_tank2___________ = $24 +char_tank3___________ = $28 ;Weapon prices (*10 on screen) price_Baby_Missile___ = 0 ;_0 diff --git a/grafproc.asm b/grafproc.asm index 591af35..0058d68 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -631,11 +631,11 @@ No6thTankHide SkipHidingPM - ldy #char_tank1___________ ; left tank + ldy #char_tank2___________ ; left tank txa and #$01 beq FirstTankShape - ldy #char_tank2___________ ; left tank (second shape) + ldy #char_tank3___________ ; left tank (second shape) FirstTankShape lda AngleTable,x cmp #91 ; left or right tank shape diff --git a/scorch.asm b/scorch.asm index c7968c2..f6b9c10 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1422,7 +1422,7 @@ font4x4 ins 'artwork/font4x4s.bmp',+62 ;---------------------------------------------- TankFont - ins 'artwork/tanksv3.fnt',+0,320 ; 40 characters only + ins 'artwork/tanksv3.fnt',+0,352 ; 44 characters only ;---------------------------------------------- icl 'variables.asm' ;---------------------------------------------- diff --git a/scorch.xex b/scorch.xex index aecb1b6781b9cec73c760129fbd65721e1178069..654586c47ee8e84ce8c89ec9e00e81cc55f3ec11 100644 GIT binary patch delta 12591 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 delta 12566 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 Date: Thu, 28 Jul 2022 17:54:38 +0200 Subject: [PATCH 23/88] All 3 tank shapes visible --- constants.asm | 2 ++ grafproc.asm | 9 ++------- scorch.xex | Bin 40687 -> 40687 bytes 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/constants.asm b/constants.asm index 8a6322f..ee47917 100644 --- a/constants.asm +++ b/constants.asm @@ -7,6 +7,8 @@ ;=================================================================================== TankColoursTable .BYTE $86,$46,$c6,$28,$c6,$ee TankStatusColoursTable .BYTE $80,$40,$c4,$20,$c0,$e4 +TankShapesTable .BYTE char_tank1___________,char_tank2___________,char_tank3___________ + .BYTE char_tank1___________,char_tank2___________,char_tank3___________ dliColorsBack :10 .by $02,$00 dliColorsFore diff --git a/grafproc.asm b/grafproc.asm index 0058d68..065c9c7 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -631,12 +631,7 @@ No6thTankHide SkipHidingPM - ldy #char_tank2___________ ; left tank - txa - and #$01 - beq FirstTankShape - ldy #char_tank3___________ ; left tank (second shape) -FirstTankShape + ldy TankShapesTable,x lda AngleTable,x cmp #91 ; left or right tank shape bcs LeftTank @@ -1999,7 +1994,7 @@ YangleUnder90 ; 2. add vx and vy to 3 byte variables xdraw.fx, ydraw.fy ; 3 check length, if shorter, go to 1. - mva #5 yc ; barrel length + mva #6 yc ; barrel length barrelLoop lda goleft diff --git a/scorch.xex b/scorch.xex index 654586c47ee8e84ce8c89ec9e00e81cc55f3ec11..aa117c6e19b3f94ebaeb8d8abff88c32f28b7c6f 100644 GIT binary patch delta 1255 zcmZ`&e@q-j6u!3yrJ>ft)CP!3hg2vkh|nO=3MGxmi7R3Xh#1qYy%?~iaM02_fxF%1 zreg2{*9l(2mgH)3z&2TXbkCZq+tgYvrHRSa7)@*%|0!p%v0P)S@>hK;KjM#=-F!3q zeeb>b=FRMq!7UkFB)=l7q@R@ck;MJ>MOaTb8z4cR&uP@d=1z2t?za6oXFGW0T&h;_=g7wkpAV1!w^(a)-dKD^Z zM-?h-#}qn5qJs?V+p*~Tjhn1+o{jHoM!dc65yZ5na>PAN)rg*^GF!A?z3(TApl=BTWzU0TzvC;4vN`_!YL@$cOF>gpoA4UxQ&$H)Cj4SNCrE5=

#oJs&bdkGjlV{z?s5x}l zC{ijGH&U5octfC7DoGgrApI11odpgbZT5P?a-53|#pGBZepj{906Jcy5@MW7NGRM^ z)BY0HiC#m!WVa51wlD_JWQurq4sW9HJhWK4>Q zrW--!{^q{H+-jn;K38z#-L6!oMl?x@7h)3{B-~7Q5G#jpuCZ z<{zB%BsYaDVL31v2=J+_quZG?=ZO;){Mg5!CuEroPHC20i?JkKWnq;L>X)JXHS`g|xF9#}4IepwrsdN<1?w z9O{fHG!zy)EL03jh!UT|9DPsXpEKH5p6ih97Y@pHBSLAwI8W(Gp+_E*i-vaiRv-3L zUkhwz)yF@@3;o;iGPuqPT}6<^+FS>7o*qg+bM2bZ>a!cK`Ru~mzE6C&d|T-1!*00V zaw0EH41s@DZPgZ1#7bymRMs}nS6X8j|F kopxttua-RVLaZQmN36L*F5M!J7vRf61rO^#x-;_r1nY4yVgLXD delta 1186 zcmZ`%e@t6d6z06bz@joU`IQa43qo+Ce+ZJ6Z7^Kis8AF~Aw;vSIz$*h3tQI;6#CkW zO!mUM6Gp;Ylg5K6I0o+qL1qDj9ayzhcsg@juC6+>lZQ5EnWx1@|66&{%y()K$bWrXQsYgC4 zQeHkLQZEVhBbako(GxYvI`|C7YU>!@sol&l(Q0J4+girZZ7og-^-6yWM6^j8gun#J z!)w+tCTyrn(LoJ1H|&La(cec%B*R6Qgm=k`{4^i=)i!+gilKB67dx*sVFHxY&}rE*t%i?EL@9 zlwC*aAuHDzeEQvIAjSprRY!2{wQ26g4d3w82&wXrG?ZFDDjITHQk`VTN$#&NcDYzY z%BI7rK{Q2^C{NM`f*_ZOF&I9nKT8hbNZZjm>Yn5yT-Y1t!~V$cl8*YB@Ac5qV1!%p zFyfAsxI#P#{JEC7#KcS92jSmV^U&H(svj<+b!c)h`WPLY=E7QcR#mGN*w&`8@vE$9 zl8+`+o+Wyv4cf^#+rBy8s$KTS_R6hIF80Su#HkV4BSs2X8>}97$&41Dyp+V!=dr5e z5M06!J9w_ib-FG+QA^ZW0$AOd#XetaXAU&sXlDidiVL03vNwIC%kucVJC+=bo8?dKw#YpxPx&se#+1I*)e{<*1!P%(PaPw61xCz;zj!o_!*;iJLhxb zmpxhN>fQ$X@cr&92?4hyVL*ASr;*cFdD#02*G1BSw~nma!u7kdwy)|`X+r-HyHd|Kv@e_=zB^ccom~9|gZWP?Ke#sL{sZA`3w!_o From f9fc25ec0fe0029cfdce25f95c804210db2bda3f Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 28 Jul 2022 21:38:38 +0200 Subject: [PATCH 24/88] Preparing for better AI (invisible shot) --- scorch.asm | 5 ++++- scorch.xex | Bin 40687 -> 40708 bytes weapons.asm | 12 ++++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/scorch.asm b/scorch.asm index f6b9c10..6490802 100644 --- a/scorch.asm +++ b/scorch.asm @@ -77,6 +77,7 @@ .zpvar UnderTank1 .byte .zpvar UnderTank2 .byte ;---------------------------- + .zpvar TestFlightFlag .byte ; For AI test flights ($ff - test, $00 - standard shoot flight) .zpvar weaponPointer .word .zpvar dliCounter .byte .zpvar pressTimer .byte @@ -335,7 +336,9 @@ SettingEnergies jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks - mva #0 TankSequencePointer + lda #$00 + sta TankSequencePointer + sta TestFlightFlag ;---------round screen is ready--------- mva #TextForegroundColor colpf1s ; status line "on" rts diff --git a/scorch.xex b/scorch.xex index aa117c6e19b3f94ebaeb8d8abff88c32f28b7c6f..c5bd32f410ebd4e881ed611a223fda49cb7f520b 100644 GIT binary patch delta 15563 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 delta 15566 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 Date: Thu, 28 Jul 2022 22:08:43 +0200 Subject: [PATCH 25/88] Small memory optimisations --- scorch.asm | 10 ++++------ scorch.xex | Bin 40708 -> 40701 bytes weapons.asm | 31 +++++++------------------------ 3 files changed, 11 insertions(+), 30 deletions(-) diff --git a/scorch.asm b/scorch.asm index 6490802..ad82fa5 100644 --- a/scorch.asm +++ b/scorch.asm @@ -272,6 +272,8 @@ skipzeroing lda #0 sta sizep0 ; P0-P1 widths sta sizep0+1 + sta colpf2s ; status line "off" + sta colpf1s tax @ sta singleRoundVars,x @@ -322,9 +324,6 @@ SettingEnergies jsr SetMainScreen jsr ColorsOfSprites - lda #0 - sta colpf2s ; status line "off" - sta colpf1s ; lda #90 ; barrel fully erect ; ldx #MaxPlayers-1 @@ -336,9 +335,8 @@ SettingEnergies jsr drawmountains ;draw them jsr drawtanks ;finally draw tanks - lda #$00 - sta TankSequencePointer - sta TestFlightFlag + mva #$00 TankSequencePointer + ;---------round screen is ready--------- mva #TextForegroundColor colpf1s ; status line "on" rts diff --git a/scorch.xex b/scorch.xex index c5bd32f410ebd4e881ed611a223fda49cb7f520b..24b64282615b93cc4f95d83ce99540a14862b88c 100644 GIT binary patch delta 14865 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 I*^7Pt4{KE_SO5S3 delta 15034 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 Date: Fri, 29 Jul 2022 13:27:59 +0200 Subject: [PATCH 26/88] AI internals --- ai.asm | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ constants.asm | 1 + scorch.xex | Bin 40701 -> 40783 bytes 3 files changed, 57 insertions(+) diff --git a/ai.asm b/ai.asm index c47413f..d6c0828 100644 --- a/ai.asm +++ b/ai.asm @@ -320,6 +320,62 @@ NoUseDefensive ; Toosser is like Poolshark but allways uses defensives jmp Poolshark .endp + +;---------------------------------------------- +.proc FindBestTarget1 +; find farthest tank neighbour +; X - shooting tank number +; returns target tank number in Y and +; direcion of shoot in A (0 - left, >0 - right) +;---------------------------------------------- + jsr MakeLowResDistances + lda #$00 + sta temp2 ; max possible distance + sta tempor2 ; direction of shoot + ;ldx TankNr + ldy NumberOfPlayers + dey + +loop01 + cpy TankNr + beq skipThisPlayer + lda eXistenZ,y + beq skipThisPlayer + + lda LowResDistances,x + cmp LowResDistances,y + bcs EnemyOnTheLeft + ;enemy on the right + sec + lda LowResDistances,y + sbc LowResDistances,x + cmp temp2 ; bigest + bcc bigestIsBigger + sta temp2 + sty temp2+1 ; number of the farthest tank + inc tempor2 ; set direction to right + bne bigestIsBigger + +EnemyOnTheLeft + sec + lda LowResDistances,x + sbc LowResDistances,y + cmp temp2 ; lowest + bcc bigestIsBigger + sta temp2 + sty temp2+1 ; number of the farthest tank + +bigestIsBigger +skipThisPlayer + dey + bpl loop01 + ; now we have number of the farthest tank in temp2+1 + ; and direction (0 - left, >0 - right) in tempor2 + ; let's move them to registers + ldy temp2+1 + lda tempor2 + rts +.endp ;---------------------------------------------- .proc PurchaseAI ; ; A - skill of the TankNr diff --git a/constants.asm b/constants.asm index ee47917..1892553 100644 --- a/constants.asm +++ b/constants.asm @@ -20,6 +20,7 @@ CashOptionH GravityTable .by 10,20,25,30,40 MaxWindTable .by 5,20,40,70,99 RoundsTable .by 10,20,30,40,50 +AIForceTable .wo 400,500,650,750,850 ; starting shoot forces for different gravity flyDelayTable .by 255,150,75,35,1 seppukuTable .by 255, 45,25,15,9 mountainsDeltaTableH .by 0,1,3,5,7 diff --git a/scorch.xex b/scorch.xex index 24b64282615b93cc4f95d83ce99540a14862b88c..7225e6e8fcf7ba716794320fd276ceda74a8a6d6 100644 GIT binary patch delta 14385 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 RQEf(`{-MCGIWL?~{y#DkcLD$a From c725fd38274572e4238c6fd763e2bb18b3c89623 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 31 Jul 2022 16:14:01 +0200 Subject: [PATCH 27/88] New Cyborg AI --- ai.asm | 338 ++++++++++++++++++++++++++++++++++++++++++-------- scorch.xex | Bin 40783 -> 41187 bytes variables.asm | 3 + weapons.asm | 3 +- 4 files changed, 290 insertions(+), 54 deletions(-) diff --git a/ai.asm b/ai.asm index d6c0828..7496005 100644 --- a/ai.asm +++ b/ai.asm @@ -59,7 +59,7 @@ AIRoutines .word Tosser-1 ;Tosser .word Tosser-1 ;Chooser .word Tosser-1 ;Spoiler - .word Tosser-1 ;Cyborg + .word Cyborg-1 ;Cyborg .word Tosser-1 ;Unknown ;---------------------------------------------- @@ -155,55 +155,7 @@ loop ;---------------------------------------------- .proc Poolshark ; defensives - ; if low energy ten use battery - lda Energy,x - cmp #30 - bcs EnoughEnergy - ; lower than 30 units - check battery - ldy #ind_Battery________ - lda (temp),y ; has address of TanksWeaponsTable - beq NoBatteries - ; we have batteries - use one - clc - sbc #1 - sta (temp),y - lda #99 - sta Energy,x -NoBatteries - ; if very low energy and no battery then use White Flag - lda Energy,x - cmp #5 - bcs EnoughEnergy - ; lower than 5 units - white flag - lda #ind_White_Flag_____ - sta ActiveDefenceWeapon,x -EnoughEnergy - ; use best defensive :) - ; but not allways - randomize 1 3 - cmp #1 - bne NoUseDefensive - ; first check check if any is in use - lda ActiveDefenceWeapon,x - bne DefensiveInUse - ldy #ind_Nuclear_Winter_+1 ;the last defensive weapon -@ - dey - cpy #ind_Battery________ ;first defensive weapon (White Flag nad Battery - never use) - beq NoUseDefensive - lda (temp),y ; has address of TanksWeaponsTable - beq @- - ; decrease in inventory - clc - sbc #1 - sta (temp),y ; has address of TanksWeaponsTable - ; activate defensive weapon - tya ; number of selectet defensive weapon - sta ActiveDefenceWeapon,x - lda DefensiveEnergy,y - sta ShieldEnergy,x -NoUseDefensive -DefensiveInUse + jsr PoolsharkDefensives firstShoot ;find nearest tank neighbour jsr MakeLowResDistances @@ -293,7 +245,68 @@ AngleTable ; 16 bytes ;ba w $348b L$3350 .by 18,26,34,43,50,58,66,74 .endp ;---------------------------------------------- +.proc PoolsharkDefensives + ; defensives + ; if low energy ten use battery + lda Energy,x + cmp #30 + bcs EnoughEnergy + ; lower than 30 units - check battery + ldy #ind_Battery________ + lda (temp),y ; has address of TanksWeaponsTable + beq NoBatteries + ; we have batteries - use one + clc + sbc #1 + sta (temp),y + lda #99 + sta Energy,x +NoBatteries + ; if very low energy and no battery then use White Flag + lda Energy,x + cmp #5 + bcs EnoughEnergy + ; lower than 5 units - white flag + lda #ind_White_Flag_____ + sta ActiveDefenceWeapon,x +EnoughEnergy + ; use best defensive :) + ; but not allways + randomize 1 3 + cmp #1 + bne NoUseDefensive + ; first check check if any is in use + lda ActiveDefenceWeapon,x + bne DefensiveInUse + ldy #ind_Nuclear_Winter_+1 ;the last defensive weapon +@ + dey + cpy #ind_Battery________ ;first defensive weapon (White Flag nad Battery - never use) + beq NoUseDefensive + lda (temp),y ; has address of TanksWeaponsTable + beq @- + ; decrease in inventory + clc + sbc #1 + sta (temp),y ; has address of TanksWeaponsTable + ; activate defensive weapon + tya ; number of selectet defensive weapon + sta ActiveDefenceWeapon,x + lda DefensiveEnergy,y + sta ShieldEnergy,x +NoUseDefensive +DefensiveInUse + rts +.endp +;---------------------------------------------- .proc Tosser + ; use best defensive :) + jsr TosserDefensives + ; Toosser is like Poolshark but allways uses defensives + jmp Poolshark.firstShoot +.endp +;---------------------------------------------- +.proc TosserDefensives ; use best defensive :) ; allways ; first check check if any is in use @@ -317,10 +330,25 @@ AngleTable ; 16 bytes ;ba w $348b L$3350 sta ShieldEnergy,x DefensiveInUse NoUseDefensive - ; Toosser is like Poolshark but allways uses defensives - jmp Poolshark + rts +.endp +;---------------------------------------------- +.proc Cyborg + ; use defensives like Tosser + jsr TosserDefensives + ; now select best target + jsr FindBestTarget1 + sty TargetTankNr + ; aiming + jsr TakeAim ; direction still in A (0 - left, >0 - right) + lda #0 + sta ActiveWeapon,x + lda Force + sta ForceTableL,x + lda Force+1 + sta ForceTableH,x + rts .endp - ;---------------------------------------------- .proc FindBestTarget1 ; find farthest tank neighbour @@ -377,6 +405,210 @@ skipThisPlayer rts .endp ;---------------------------------------------- +.proc TakeAim +; targeting the tank number TargetTankNr (and Y) +; A (and tempor2) - direction from shooting tank (0 - left, >0 - right) +; returns angle and power of shoot tank X (TankNr) +; in the appropriate variables (Angle and Force) +;---------------------------------------------- + ; set initial Angle and Force values + mva #90 NewAngle + lda OptionsTable+2 ; selected gravity + asl + tay + lda AIForceTable,y + sta ForceTableL,x + lda AIForceTable+1,y + sta ForceTableH,x + jsr RandomizeForce.LimitForce + lda ForceTableL,x + sta Force + lda ForceTableH,x + sta Force+1 + ; now we have initial valuses + mva #$ff TestFlightFlag + ; check targeting direction + lda tempor2 + jeq AimingLeft +AimingRight + ; make test Shoot (Flight) + jsr SetStartAndFlight + lda HitFlag + beq NoHitInFirstLoopR ; impossible :) + bmi GroundHitInFirstLoopR +TankHitInFirstLoopR + ; tank hit, but which tank? + ; it's our target or not? + ldy HitFlag + dey + cpy TargetTankNr + beq EndOfFirstLoopR ; it's our target! + ; if it's another tank then check position like ground hit +GroundHitInFirstLoopR + ; checking only x position of hit + ldy TargetTankNr + lda xTanksTableH,y + cmp XHit+1 + bne @+ + lda xTanksTableL,y + cmp XHit +@ + bcc HitOnRightSideOfTargetR + ; continue targeting + sec + lda NewAngle + sbc #5 ; 5 deg to right + cmp #15 + beq EndOfFirstLoopR + sta NewAngle + jmp AimingRight +NoHitInFirstLoopR + ; Angle 5 deg to left and end loop + clc + lda NewAngle + adc #5 + sta NewAngle +HitOnRightSideOfTargetR +EndOfFirstLoopR + mva #5 temp2 ; set counter (5 turns) +SecondLoopR + ; make test Shoot (Flight) + jsr SetStartAndFlight + lda HitFlag + beq NoHitInSecondLoopR ; impossible :) + bmi GroundHitInSecondLoopR +TankHitInSecondLoopR + ; tank hit, but which tank? + ; it's our target or not? + ldy HitFlag + dey + cpy TargetTankNr + beq EndOfSecondLoopR ; it's our target! + ; if it's another tank then check position like ground hit +GroundHitInSecondLoopR + ; checking only x position of hit + ldy TargetTankNr + lda xTanksTableH,y + cmp XHit+1 + bne @+ + lda xTanksTableL,y + cmp XHit +@ + bcs HitOnLeftSideOfTargetR + ; continue targeting + inc NewAngle ; 1 deg to left + dec temp2 ; max 5 turns + beq EndOfSecondLoopR + jmp SecondLoopR +HitOnLeftSideOfTargetR + ; decrease energy (a little) + sbw Energy #5 +NoHitInSecondLoopR + ; Angle 1 deg to right and end loop + dec NewAngle +EndOfSecondLoopR + rts + +AimingLeft + ; make test Shoot (Flight) + jsr SetStartAndFlight + lda HitFlag + beq NoHitInFirstLoopL ; impossible :) + bmi GroundHitInFirstLoopL +TankHitInFirstLoopL + ; tank hit, but which tank? + ; it's our target or not? + ldy HitFlag + dey + cpy TargetTankNr + beq EndOfFirstLoopL ; it's our target! + ; if it's another tank then check position like ground hit +GroundHitInFirstLoopL + ; checking only x position of hit + ldy TargetTankNr + lda xTanksTableH,y + cmp XHit+1 + bne @+ + lda xTanksTableL,y + cmp XHit +@ + bcs HitOnLeftSideOfTargetL + ; continue targeting + clc + lda NewAngle + adc #5 ; 5 deg to left + cmp #(180-15) + beq EndOfFirstLoopL + sta NewAngle + jmp AimingLeft +NoHitInFirstLoopL + ; Angle 5 deg to right and end loop + sec + lda NewAngle + sbc #5 + sta NewAngle +HitOnLeftSideOfTargetL +EndOfFirstLoopL + mva #5 temp2 ; set counter (5 turns) +SecondLoopL + ; make test Shoot (Flight) + jsr SetStartAndFlight + lda HitFlag + beq NoHitInSecondLoopL ; impossible :) + bmi GroundHitInSecondLoopL +TankHitInSecondLoopL + ; tank hit, but which tank? + ; it's our target or not? + ldy HitFlag + dey + cpy TargetTankNr + beq EndOfSecondLoopL ; it's our target! + ; if it's another tank then check position like ground hit +GroundHitInSecondLoopL + ; checking only x position of hit + ldy TargetTankNr + lda xTanksTableH,y + cmp XHit+1 + bne @+ + lda xTanksTableL,y + cmp XHit +@ + bcc HitOnRightSideOfTargetL + ; continue targeting + dec NewAngle ; 1 deg to right + dec temp2 ; max 5 turns + beq EndOfSecondLoopL + jmp SecondLoopL +HitOnRightSideOfTargetL + ; decrease energy (a little) + sbw Energy #5 +NoHitInSecondLoopL + ; Angle 1 deg to left and end loop + inc NewAngle +EndOfSecondLoopL + + rts + +SetStartAndFlight ; set start point (virtual barrel end :) ) and make test flight + ; xtraj+1 and ytraj+1 set + clc + lda xTanksTableL,x + adc #4 + sta xtraj+1 + lda xTanksTableH,x + adc #0 + sta xtraj+2 + sec + lda yTanksTable,x + sbc #4 + sta ytraj+1 + mva #0 ytraj+2 + mva NewAngle Angle + jsr Flight + ldx TankNr + rts +.endp +;---------------------------------------------- .proc PurchaseAI ; ; A - skill of the TankNr ; makes purchase for AI opponents diff --git a/scorch.xex b/scorch.xex index 7225e6e8fcf7ba716794320fd276ceda74a8a6d6..1d3e3c5f0d17e40c37ba6d5fe2eba4f0d93f8a38 100644 GIT binary patch delta 15867 zcma)D349bq)}NW&At8eV96_LASun~G6=haA0&>Oy1jPeUh9f|L1Vj`SadLGMlXRHL z0O9Cr#vVFJ$8?-1xJDV}5XeNs_M+eZR$UHvB_=D0vx*DuhvfTL_vAovKZh{g_3FJ> zuU=KXdi7q-pWZk9d&4t|55 zB=Z)(m*4sZPrSUJ@LOe`5c+cFAn#<`uyc*tUzG7F_h?cFN^W<~hu9WdjPx4MPWG&<6 z0T7hQ&#;xus3`I8 z_Yv#uj(@F#`h!Nh%{`5om&$y*P%nbJMh(Jn5=ail1}3X#nJ9zb5iLk}pe8mX#4NB*F5l^&iu&l}KMVw)l^w>i65`D)I zDER&kgZdY_KNO?s@KZh*K^gaLG=JY*B9%0OaX4mMiS3IA$fpjzbhQXYb}P7jjVMQg zScyFyxYzk(V59E`Zk1TGTGSPqx(=@p*qv9*jDJCLv&FPZ(^l%b+SQ`P-;bn+vswOu zB;CMfTm3^xYdD*O26MSP33nIK)gq^GV+lAqk_j408WKqGU9PJCcpFosPrlH6517}do@FZ{V96L6*0)tAz34qMvY}p9u z&^`oi>O*{2xOf80-h@jaoSF2FCu4fw;G1^O7#wPq4Q=s6BWVLkZ;-ZuE;fO_m?;DI zhWiIO#uadfP0Bq5+!2#L}%j+qo|0e8}57bnYx^U10S%WsK5_6g*iK!)ri zOZJg{`x=8`<}dB?a`h|OP$h3;T{6#>?Q*%AU8n9aBqwv1Ok%ifCIN!44MP3RXfqo8I{fqTz{WYc2a{qcmUb{C)AH?~SN z$c9nt_~bAqp+ZAu!YWo*t*%~eTk;jMtN*)AHW{-Q8xeg6iqyO8hN@A_;fA8ac$ zUui*2J~}G7falJfXjxt=9^bA;D4clQ?Q2$?dTAR<&c8}-SSe{ctd#!>f94{uM*6?w z&ouMCI6P4WDC+F!4-D{#7oe;$R6j5?{Wde|Gnf&yMl`ygnR#>Br0}&N6y+K5%vv$n z+ZlOnt!P_0`>gg28g!wnJEFl4BX*u|p{x56o#XjsSom)LdH&3od~m392J&OU1KvC3fy+A5pWvnk}CD9?5){D31!9qn=>0xp=EmM_MDeI^qjE z^(JBFKS52XT~46v%a>|G{WgaGjh|VL@4*k9wYNJK3U-aVQcJkciSh>Fz91oC{zjBH zNvnZ7L#RIb>7+N7;<|34gJAg?oik^tZR6ghukX>a^{}T9)4(Z&Ti_$g=Y*>z z$`^!tgD8I^(1CJ>aBu2*fhI66R2lJ_nEFV4F#ptNMD>8hSz@Qcg@yr38sk5IO5$)3 zX$5A+97xPOHpe1mrO#lqoTldN&N?8DF#$h&%J0mW+?|;E)_-8iaOg(vt&cBSnlIQ& z=g_t~K}H=UWpSBA%I4M+&)||3M9Cyyon5 z_pxPpxpgjUtC7u-vPRDrVq^E`usOS|7w}C9v48j?L8+`D?x&`Xbc}RRVnAsJ=&MnG zZBHXg8VU4Mvrerb$ze7^Mbte9J~-C`Y0_`fHa?bv=?Z&U2eGUkI8Uo`;xGGaAj+nsPLi(i<3><#6{CDVLi-Y9|sY zi%bTX%mkRs1DHHU8qKXtzlVA#Qkg_7>899NT{ch^B^lL3tA8?fY>@kBV)}!FZNFol z1;F$WFr5OaAudQ}lAkWz0z6QS#r4r*Lzz;@B$bHJO@$4@JEt~Z-rni#6f zeFRohx1ODLaZ5L-6APe$RM>0WQfdU25!--;u*Yk~DrKX{<|)sLEURo1*?i2$0*vls zf|Tvx9v3jYPY4*^MS_&aJt;^mw^)$!xu*oFfO}eyO_XOA=j53+8^PAe&s|3{*OIx~ zpH-gFwwAD!Qe~2HHr?u##{?{k#|1W9c|u@wltluYt2`;7`Naa7e@bBUm8S)^Kx50S zacn$MsUE{Ty)h-)OC(Hx%}zylR$!^n-7|wwpQ2_{dj`Rul0lm03(jvvLum(TDa{Dg zguvfvyfyhls~0YO$pS1@OL`ca_XjLp3zjeoXVThg(shHmvS#DzYGoZ!mndr~ci&^m ze8GyITGEZNv9VR~+}#If{N8brR|lbiF$6nOelfOWnfi2ed+)coq8RqNC>UnDI$vMh zaxB$kxA@IDaG!F~4+$?Pa!=%Rbw-7^MF$++@6lJiN2=ZVSIcFvCAnv;RIv|^qmm8ejWF=Puzc*Im!{Tx|kLl z=&FAPlZo0d`K0b^Q_L<~tZcvnQ=Y*BqsE`^)O7dr7-Tdq?_+mar1G>Z2)8ROo847c zPNh()h&ft0N@9%MQFwju5z&&BNV@|2uqL27IV4sMz6hudzT}OV zg6=hqZb*=623a$j(TVz?L*^(EtE7};paI7$Gd&Ugp0agWG-^?~VtapN-k z>6=cE?i)F57Vya&HQ0tUpF0NI4zu%>nl#d!g(kBL)vr(FNI8Ly;PCbp1b^6GxHK|1 z4O@ODX-m_$u2$>@r{)XlYd6xL9c?e6P1}jGgyP#_zc9!>hIb6xIleuBI*iRhpE0y| zcMdJO>i%r@9VR>?QwOi?nhSIcf+i}gs~k$jI;wp|SxVHfQ_IMyr9@dq0tUFZOYy+e z9lnq%X$(E&{@kP0d|BPE#Zi@>di!mLk}Pg9b-)4h*y))N_X4=!?2BKM$#}v zx=878Y`^CIXX;YZ7u(!(9vtdu#u5A4MLP3cKl7rUVYY7<>Mpe2EQ*k;na42|&b9Mn zkl7+1lio4YGw3^kTYN(`E;vQQ^={?^9cuj9i@X`dkvrzB z<+*-qc{!5Cg*0ry*74jrzHH7A$0`xw0xj^7x(;d+>6}0_jGBm22X!^xCGbTtz#>um zK%pr6FY*+03mwa~B79S9MARjHR-`WJCJ`ehK8EB<~C?Ajvv{gyQ z_{o^}$(RpFqxuPGs)%xw1R0#vHGDiZbUZa|JgW$hWQT#130F?d9^0V>y*#WB&mU|@{u;+;OJ0C+JJ)-!<(e7hK`S8lt_|qvnti3El%U|Iz7R> zPLvw@tRdz&UHOq}n62L}GLN z^d#^#+gL{e0cQkC=1EkTpHD`#7)@J5_-(7rxky<>QC8DVq|-jEK_7rZYth}m6GE2M0_2~{{HuO_2b6Z1q1Ky4g6rw3NScJ8HnMSwB!XkW64%JT}ckX zEF}d*sUXBrLMJG3(b-9MVzraKIBlG=pe}s{$I;4kgpFx6p5>6Ug0!ySN@)e;bkhnv zcM*-Ef!h|M*dC(Tty45`&Je|p5XBy9u*MPx#Ow~Uh#jRK((WOOhXf+1q31lL)x&o5!oL^G!xmg(@xMT}mQX$Tx00I} zmK=u_sh!%$uqc?Ot+w$`cbBPE2<-}?!vhpU*TsDnAkm!#WOQfo7=VhsW!Q~q!4+iC$oQx6 zhc+EOJz%X8VF!&e#FEv5524UQUM}-ZDj4+W0OZ%1B8{<^h~ZS>5lBEJ(>DHpOW*)E z(BH^&><;78Xur0y5DlXNehdYc(MMbK{ZWg(BeJez(6b6^D~b`%*3&IGxzMBvVrn!; zW7kfx2(YXm;tMq^q6rhRw6W3rqvi-x2$2`U#RU{DaeNxN)8%q0X=HW>fWZ5@;qYzh zn=-a!dLSB0=;Td7j1Z0AMMXk0cK_Z&jK+#r*|Iv<><*U;@l2Xdco1i?<2lZ0t>MRW ze3Se*W2IadV7bHMNRO`4j2NOWrVq2616oQGNh6f_3*&9q;-S@cocG|1QKD9ZPUO3= z%aU%sj?E{&KmIbJ30FH~zQEmsZ6RZUz}-ufdx=BaGVURP$t3N)kKMVjuVb$61cdx$Sixrabi zXb8HpYx^p5&oVBS*r_KMbJ#E}7=Z|v>!7^~mHP|WgZ}CQ_U*cZc4defhz$0w-Ojr| zd~~$K%`*#@GjXZ4S{^Eppx)H(<`p*|h*q2BD9+8>xMhLfYWyiTZ~h+$sskd`KDBQC z>;m4ufH%K?ZGnarrS=671pr}kDp5^|Ckd>nEx{b^lzq6B^BfRUhN;o@BVs9OT*!4^-{=fMlO?kP(YHC zvkCH5c85HL-N{^BBhO>=B7 zp-r@9TbKrJW4pQ0p{=JwyWdrJP;1oFUpBb%8V(Otf0SI94Irl+jh!5|HvBIad%|6L zFg|6Tut?X4vL_17KUySL`rGV5sVu#iecKaRcaXB_uU;NCLx7n!aMOk0Ef;49YN9ez zP-Bz_1VC(u)0AoSrRaRJuUE|j!tP!|`va)1nI`PMTWFsqxF;_fWR_Ma(}kv4f-j7l zC4kbsZjsf5x^;^Nx{oXxc2fWWHKqMOQs9V%d0~Z zHOw|IH82Xjow_POy-7UcRHHr6JD7;P#C?IGfEBL_L}?H8Bp3(dPfZuhgS1ZA_?5Ik zx5Vj!E|x=+3l$W#U%L*TCaB5iMIo9-O$dmtMWL4zsLT>9=?P8K1z(I6Y+4i0H6Vg5 zx;RsqZRF6QLGnB>pf1{M(5$vt92ZWsr)UioWMCcYg2mG(#bOqoS@98~J&2$Vuo+kKyESWCorb?^D2&48ktv2cbz1scd;voqb zf@Jwytf>hsTRUBFCpP~*_m;+tD~TP4=_L9+ldY|N zl4F{HvFEAKnr61rYY#!AJ+#`@ukF~qG=spU3N57%3bGTcI0dVC+FItw8j+s+_og7V zsG9)fX@~K_nB99*G&As>oQ2nt*+Q4O6n}r_n{E0QJ;-l%*3K4GQ_^Ix=-(n|;c-4X z_-W~E!FDuVvw}r#`_ls)vxT6sQL9F4dc|)rZtxI?wX2X07x3|nQSPc=1tj~lH>>`)YAtU#_Jul z`)x&?g-coz-!4Y`%L=ds?=66(h`E?5xUEZuIvy0p*o4~yvCfFr*!Bm7MzyWlf4_70 z9HG#BPMIS#-S1R~DKnhh96_0@l@e)buAt1*N|CfQPw<4*&k8yIiL zT?G%bb*){SS(fx+$dDV-kt3H}poY+CBI2^HU?kmdE*CcBdG;4mbU0Vr^}7!>+eM{} zis^=!buPq}lBkqBAfK|6N>?tj4l14nu=H?lhln%SPO*KvXgjdZj)dGEQQ0GMMCD}y{Rbz2aio0lqwv9%h1 z*+GLp^6!5O&l9!kpY3uYTcPQy*^APNFulX7vdgt4sCojLS!mHNb?z`dqsH|LhU@et9GwQv--td zB)A9>MlyJ9QdZTKCrxfaso{LI`u+am`p>DigF%L~^L(hYaCQc8&*Q=s_Yx0}X$voB zboQNg-SPj-p!)Tv_KG;_?LpL&if8*i6YrRl@<+eypsjkHeCWpD&u<83n!|9}%YFZf zKRD)Xp!Y)}@{4g!2+Z=)D4iB8KyT=I=Gss~D;^3)qB7bU#?0G*&@{98#foBF8?*J@ zK=XZpXynU>`hFlowd}b8rGqG~6=@wU-R}D#>6&G$uYmL;{GAgp}T6gh@FI|W;)dwSZC z<<}#fqDZ)FM8~DPizPa>dkVK_3b%I($4}9>-$6JN1uYaW8kO>%ZsZu?DDkkFN^gSL zDQ^CpOtZqE%YiN&Omj;4eir~d5v+w9ieN2f!&{+>i)&DU81tgw2wwuFaBx*qAdNI7 z$XMkAKOvqA;43HtST!Zsix%k{g;aELhmjl5?Q>^_d~SQq4!*Gd9;bWP%KIbM5^f!F z|8-^R%#}DpTtEJov1?=m#^EBZ|f%zA504%tW%f2pUA7^QP_IRGtqO2q_CJiC$ zLLOTsWnW-f+1AIMzUp_zS#ECCfWANo2ZB@;AxBh4ybhmnulwCq^BiwJYmsWxd~B`s zMp_;F1{fuUt9>N_!-fq-dJU!>cHQ>3X902pv>hN9KxGuusG2R3J8dtn7;I1D*<71p zlU3S#!HqJ1VLL*Uz%fxASK4kiODap-!)Dut184UI7s`7slsVY!QBK|*+rAd@x_0Cl zAAV>qVutYu>xCh&M8g&LOS#G8_0*?2R?qi@E;x7$QqG@U&H>%$T`lT>cx6dvv@(Aa zxHQ9IY2GL8J1#+A!twpEg2m5DRH8lZsPx`9%=2wyok%mXl{h8P?nI?k^0r2^Ua3L@TGBvo zyRZo~J;N7TM3-g`?esQ9+BU=s*J~I15avv)WOKNU1c^l)lXAIdX|l}<_yxcLY^A{z z3dtlFbUHw?sp2-$;Lo#Qih{;H+})4HPh$inM%X=&w1Xs8 zpm(;8>-W)yShj*U#kn?+SP`~pO+d*Pc6J~^A?X?lI8e{x)lckNKAT=SQEx$915u5e za3fDDqg-}}O$lmfcepY)j; z8uAJ&ig6{88R`Dx+IyqM6|#B$`wHEc)~3dfAwgqdiFV}`7VN=w0~eIPU>orQQ~m-I z{bJ~44tdmCbYOfiJa9kkz-FRsCZjizU@UMq5nPDsOgQ%2 zj2hhajDVIlzld6@9p!nVjshSp+dnjp-b`R~2g`=aIq zKqne;oTgcN*3$b1s<3Xop$+{inzDZIfOFWX_OUxb-hqo`bvptL!6X zWxLh=%!Uz;yP!iUtLaYSd^h+Gc>FeYM)q9@LINj!WAfg`IJsc#z+GiD>5<5%rwlfy z&PD57Sf~JLJ#E%5>NXSX2LheKj^=DByQy1<>R^@hE|fg!WoRK3{nhS#SgAX7o9~Jx z{UKP+2x?Zs1$i&tU@v1&kA8}WnV~O>c^DgN`HWnY_Dra5X=y2q6qvs}uWw#EvI`3?y1fx$y3Tm;c2VT3BZ@}o|J|NvBOFKBSEZu#J#3LDs_xa<9lO6pLUH$HQfU5{MS2yE z!K+}=S$7V0X7|^$?!RhN%CWXaRcor$`Uf=zSIj*}GQTEs&y&m+GWSc8*-GaAon-#g zLFWF0WPU^Denm1blDQX1W*eE?OfuVvHS=4Nd6{GeN#+%j`7e_BBgy=ZWd4U_eor$0 zmttB3BL z&yAiv6b6RQ6Bu6YXBTWXyaxCN@D-5BWgOXb;T$D_C!H26E=ka}76JD%J00E_Y|>F; zPSo#9xZ|F`)qyJ$xDZiK(Ib0YUXamgr2la?YP;-D?!paL;C2Csod2q3pc1Y&)T80TP1dPJbw zcQdH1{w-o_1a2Yu3q&%4N__+Xn)q*n}e%OLD9Vrk!Od+CAj{l`U6S6b^%4KHc$Q`Vkp20pW4n9zi zoZBS-Nb=c8;u~bGA4z^1Nf1oC13$#so|>A9i@530oJ+Lr$+ZION3F7VSLN&|)D@cF zrsC0qbBynY8kcB!@k`ts6y;G=N+Z?Lq19ALCMXG0D0X(YdUfe^;nr+?DW|Axk9gC7 zVRzhh-_%qbhXaFsw|ee`{IM3Kyj)uFnt~&I5ppu!-qEfR?S}h)fQK;zJHPw<=ER#i zgV=UvcAjlkZV2q?31$lNN=6grPe_zNF}TZv(ZF3EjD?+Q$iTW;64KFFs-xROI_le{ zBj?Rj4cJ!`x-{bqr=UV};Z{7 zIe9D-laIq+a7=PcO(H4$cr*!)su@jiglJlg4FFTOX%%taV#OF^P9+2rz~0u8XF)kV z0`GDJ>khHFx0}V7E*6eX9=_Q2XT%fkV4`g*YgLZ$xKeS1$IXqS{HbR|`)`rLcZ=R? zK+>hi10O2Yf0e@Vv!2AFHBE|>Ka&E|*)c&R@)cjfgDfzSP59RO6Kb8Me*FSqz{eO$wSr^) z_Ty!6OWns^&XI^3<1)Dyzu>u07RtEj2B7|Gk$e4%gB=U*k4k)<6e3;ZpprLLze6l1YzI4 zeQy=NRMW>XbK~=Qu3hh)`{rtNLjT+TFz@jf^LKo3^0Uj4eSbG~!Qu^W`Q20B#QuKb z(wBF?@!^->3>-CS#j~9B-noCYes?V_vR9wck1Sfcax>Q4J0G3??EAh$?|x)C%ei*! z7LI<}5|@cYStsesq00 z*s%YD{qC%7N5Z5*vTKUPz1aEB5f!#0m9{S`ZF4GYEmgME%KT$_AI|dN(6sxUSg8KT z6JB?W`%|TRool$U!tHY1a&Ki(Ro#)mHQ(r}IzKrt)_p*}f@LKwFkIv!V&}x*Z8;yV zekL732$wzL9N2u+_GX3qylbFCRHypSi|jG~S0el2p%(F4i&%Gz4J1ttObqt+-9>_8 zL*22|q*uT~W7dh1x-x)2DUcK-m&Eg7>H*ozJ?^zlt_(~L4g~mcFedi)+tIr1Y6Upp z1)T9N1&|tup%4^5tZ>+tRiLYl$^SWI@Frhj7F60MRH9M15|_lf_ei*xJ=uU~w3lr_ z`?I`NbtlOLZv(!~+IOP%je9jI+RG!__pM$}G%$vHJ+XM)=7k0rFM1G5EM9U|q&%$N zbOVX=I^;MqPGg$vwKFYMrylp>ia`^8qo>`BeY1kf_i>fHpFJUl`J=tT@7NFh5bD^W zI4{)`I>I*6ua6pboiTfzvB79GX7TzHz2FW#Bn-MFR@ECM_G76rsdrU2zTWZzW;od`5@8Njoo&FTBdBmUZgjn0>8y;w)iiJ!M;^~#%tMns}~)2M(%1gL!DA1ndVK} z5R8yMvIVOALD7=-(NfFSWN%=i6ZvxpBu}oYJ8s!}RU|fVV{(}7%Sz=DZ~Q`U{G;CZ z$Gp|0tyTDwjdo9mV)NEM5%Y~mVjX15$^VUA> Lee3bH+r2ouFd>u6#0?M6__N4EAR7q|;Gz5qqIYn~or!xM{)z(mznOxOMcCcpWx` zOd3e+;dHWm2=S+ra57mwkoc3?%ZU-h&1p%fJ8?a64|3q;!u2tv3nLhkGv`jl1S-6? z*tV%jBx-fOa!2P*YRI)PR~aZ?@Oj_AbqN2V)OIRU`z{y{0*u-1tK7I^E@K*Z|0{YA zg*8g5xX13tG6 zvR?ElgCQulyui6;YR#Ikg$NaO;ju)sI!FB)noJ9DOBdsrPirc|HG;U`0u@Fla`Q^K zw51&H-R-!6Z(9uYN6jv$_bzUBF89^_MiJa~Y7j0Vk?d$nWU`jZt#W}eH;;XHUi5L? ze2!mIQ*m-E;cDk@sxWAB7OO=hIvs^~skn=B&*s)YPqc)ZiuL|{Xy=mQRd>-SZ{_y9 zB3B6hpsB1P3dg){C-Ns9;sPwsICX9F^?hVv-jp z6oprkJd;rD2#cgWPAEZxD?~~}KQYvzOc8xd8$2OsD06ruJ@jpDlcSPbZ5Ut7-Xj*R z4=nGLFP1=FvE`cwS=T)%&{ z-{0c*r)+46T5X@Zl*hHdDyCZH2f?HGgsSx(&l!(qIa4K9MFLu!?1}W%{sE!Cmy|g1 z2TAD?8>tv%1CdX;3DcC37EBV%$^#Z9TRdwC#wj-cIEt^E;2ZptsM6&hPrca_#{S|q zSlRbM(`rn~wo?h(cVGekksvfFQE^rc7{h@SO&A!zMX28|czqMHEzLgf!3lS`F8H$h zr_=^bifPQpzHBR(F6+pgRbEuPsBV$-(Z4dT7M<(2uAqtOFA+u?`d*M^!hbX4{L&s#Xr{`fg*-&!qR{Z88F4V_VcFiPK}SMP8^e> zeccHck4eraW}MW&L4gkRbS7vD!-Y9X8=Ko_nT3~CVcL7cPI6)j&7d+va3`6$# zXAf2{&!(hZ!VjHwb@IEYOXsd$L&aZHbubmD(wH#QsG33B zP2zOQ^fAyNy|NUSbrT%~%eyFmGbpT8ypFw&Vy}^@@TO10n?g*JXs6NE-+sMD#KVdw>#z_>7Fr0HTBBlYgRhwh>pbGb99iwPGS225y-|GhZ_MuJE$ za8qYOV(x*NcDX2Ts!-&%oGI?E17em1_{BNDu)(yuF^z?PTh2)6M(JyeFIw6`os~0L zTiqbD0g{Wv<3uhN|A$D!)_g$J<3uP@|A)Zs%SG)eLQ%-FzgRM@(co{H47q|wF3#H^ zRF$r1^f=nhLWx{7b_Y#K*;FEwtaqHoHzUOA5lR51`T_Aie8=_tFrEuzt?r;v3oqTnjhWhFtJ9UEtDH?4=b1U(rV)E(0}*@eoN2{D^w*KRnY$?rhl2pC1MScSBRTQLoJbu{B;2P zw*c&a2VnmmcD#&Q1JmJAipH zU>*Z9H@q^N%S^N{e}|xj@E*3f?jhlKNTk^vuN(l(d1`iMqTq1=cG_d$fFToP9U22i z#0XnpDySDqz(82BdO9RrRM%qr;*dfh9)|RV*~&m3Ds!td zw}n1;4&#-pm{OCjq|~3*#FTmkns`H}Y+zDj1Gb(GACFkd7(cz(J>Q&0X=1Ey#c$v> z4e#0Q7hmZGbz=cEgb905JjncUD{&6KAO855RI8qlgi`gSBnawfl28VFT#3=$L*-&# z+)FXM?@Bj*fXZcJGnH405vo`i&m!@>k9%w>*q-;z`iK-BBeV2Bhccn# z7!fwhn={Qb*g~)Fp_mqXsZgxGM}-n~9~D-p`ze|~K+$|N70T2I6;|qOxySgW`!{QQ zVW(H7M0-VqOVj;SytDvQg{_?*6BbcyT-Nz9!JqmuY288HUjc}j&;#lY>OfEJ zdFGUqlv>2?-tAMb<8L8a1{$a)Sdq#qup}!iqGOAD>I*d$@Yk!OR_FP9jmfQ~FirM~ zf2IV%(+Wr{<7NMf{Utq}(GY8~0Y~>Q>8sHr&FGPf`}2K@y)Tg1w96IN>CSJxWNKU| zZY17krv37k%YZ^j>5Ax#){P`;ao^zp3iFU_x|OTl#O+zG28s9Bv@v|l>%uHPVYB{I z7!&hf$^j$NW|%#`Sp5VOO#KuSj5&X{QnS@hGAU?W*&wX9%j*^vLAdn`i-q-#>zEX3 ze`-ro$I@i8I2JJ>ldg3tUNmF0|dkntq?CEe!vC_%96dCBvH~bdT>PKm#U}pwAfETe^o9 zUG*NHaiax~gxq0I^wsbe-Vjjt_sRyyEJ=97L9VBWiiI@=F9>fEtJMw;} zq-p{;^5b|`k7SLg78_Nz=S_V9O0s){xr4KejqgcUBu&diE4^6<48spTZrB2F{ZL|b z*tCD+{d?|XmT8sVnRk!i=RlN;bD96T;Jds{x7GR8{YC(7G>anSnu9r+g3#K15M<7T z2jsVHYzO*wta=Y9#Z zYtavV`s$H8VsJQCj5otqwjv>+<6njY1P7KopvCF3_oDq2+4`QP!yV#WA| zLVEKtH05dtSW|H^pCAU0WW(l7$O_<{yM2E23nU)@W++==GO)m)(INt`V~Es8GdHhErKlFKWs$b{3ko7}xE_Ra z6q}aw%(L34*pG@=QIInCCX@&(`d&w~M$v|mv~o8+^*eVOS{zFqtJ~+*Ir$wAf(9jJ zUdKpU7p^Z8Z=@=^JesPbsF=w*asv$}72ZhQL+$ElS^)kws%Fvxw9=2NH_!sKbrsDT zO|vp-)(x~pI|`cqR2@sB9QNrtKAt){o;o(3{V9+X-Xsp7;y@}6V)8+_L}i=fXG#LX z0lFk0AE-+*i1GQ6Bv)g5GK6*j2U~}sv;#QUF=Wt=tJ(PQW725$XootGcDzU!mqBa? zGl;5Jv**>+mTD+JL9;sfhwZ9e@3)<4p7k4pKA0AuD}yOxbe&zb(E_9_prL-W067b2 z=qg%(q{UTK?N1Akw18%Yv!UkLP+!ZlvHk@MCNTb`Z2Sc_{$*_ZS7N!obc8P*`H|bQ z)6^MMOH%VG@?Uq)$CgLShYYrxK$_hboDlEDgFKSs9tt0Pg!$m3Y)$%*t$u$dx^X%A z3%>)t?i+{FNW>kFl5G+b=Euf}7L!qbmp2fC4l|~cGVdTz955tIN(2?70R_BR_Sm)SNFVwZL^y0+m%Mpk6oRK<1@ATXm zI;eMROv(}4NC!l0zY0~@A|EAVjuP8MJ3x6O0diYAj}qt6hwMCqFeDv<{PN8>vR}s3hh>PEtG%HUxQH;DqXab$mH&{m zvu!-|2YbUNmN^5b>p^`5=yf&Bn;5PJYRQjzl`Dk5(gHA;!59SNV5|PW5DcZijldlI z9R$Yd|C+!u{ofLprT;up`To>z#w7PA&=%VvJL>Wlh~Kf=JSDOs7PBFofLY=E+oSgIU&!)r3G@(dBg@Yds3P1!mYbP2^tsCa zf0Gr$^rd1t^B4%aitv`5iixOi*`}Zbc5I@7ePoI|9teG@3Y`90;+VcbwcUb;EenSG z{-c-2o2=Rf|Hm9OsIjx_V3E;#%bi(|^p=@3h%E-OJp&ZOro(M^Ah87nWNbl^OhCnw za_yC9!4+iCNY*3xyHpMy5w2c|Y=cf2V=3r4hgim;bOra1Trjwlu$vBN7YQ^N#}poq zQ-^HU#{cgCzzoeIUgR;OSn{LS2lVFdS&CnuSxADhtUiVU(`e5t#uT)$D?XwMi+oU{9E&`(b^UTD>2&#`G^SXor2UL8uv4i(2OgbxDunGtrV&nJu|vI z9;7kZ8N%Jzg6%7D-_;(suOu`njIGs_%knBW+WEYsTHSpi*d;-yrH6dXNbSD-hE92J*nFkF;(e?o<^}A47p=R6l7A zusTXwCFF=zi9l6o2<^M{<&+yUUwodpSOAy2%XDot9*Hf_c2_MbZDqpt@Srl`t;X#x zb+{Hui1uwT5pU~n$MRi1ZpPzWYHovm_!LRkuIlXasa?KEl6FQ(6uW%R()q~Mryc6@ z+5QZ3FaQZ!zlJW~$(_FNPM>Y(#hp4Nv9}wiS zv$h0IDs>K6fZc@A(K8it1=d+xWD8pvxQRSRzW~gp@CMuNy|LpMXS*1PZn;f81sWK zds#3seCr*4X);a}YdlRj7;P)p5}I%NJ1iz3ag-{GwIh&E5V~jmIvR<_!^E zmxVl&@Q3hd1`oHDqfNBsbS?z9n|isip>1MAyUEkIU2jwxq?kOV&AUcu=VTA80pyIM zxtpWjM!0R26z3_0^Qn@o37%0^-me}^oO7+PU9QSoExaWqG;U`+25H}pX=FayB!+18 znlBrvHbC7%wPdw{0^95*tDmk zYd{2Bba4xvVHVM$3}v>MHcq)!>^n~Vff?cbiwqo{sqz)8oFMYuwYOec%PeO$I6;{q z+Vnhik|){A2JEG3*-`qr(W@|lV2tP5$}xp{=eWIb`%8;fdA3IuxZ{+^J=@plc8wMb z7ch2x4R&z4`2?Coi3d}7iO9`bsxp-ATiKbqHUhiC0VkFaEnUfAz}WF)bTFKC(|00b zvEC*dx9h$J>@b2$NHi5=xB*dT^DY}3!-H?q(781sYWOL=79)(>(RyuSgHi4M`$NOi zF$CGlSC~)}1fd~Bz4nK*EO<zx2JTz zg&k@~U3hb4_1m=E_L=%NZQWd{U8`=X6yK(5lU{=3s1%#1`i@>oV5N7cWNmtzdS1ub zsY^1mA?W+oWlW zf=}Dvb-AwL53$p#!;<=egq(pU303unrAANYWHB|M9tMHE;GiVn?7g5>5)}22B-C*e zi#iX3S?gg*JK}0MB88jRi62Pe+t-Vl)P{#p1qe5K!A>&Q&c7dluD$~eZu;NgaA9Ouh5%fE#Z2D)qmWl+hJ|vy3EOZ8;Z@RlC*zq zs%V6p}A zx*_yU=0*GRp=JJJ627)9&*WdpV(lIIWKL7tD)FTpBVWpN_)07qMEu55oov2$M^@#w zbIcEo*8R|GK+_vN)vx8i<-vuw<|xVH$s8=2-dPKWKYlsVA%=weM67{zJq@rf=7_!= zk>rRp$5?PPumy_R8D0`9VF^ZTdizu0PIJ_kAdvbpL538!d$ffPIBzA=g9DpqlskI> z;E9whqE4h_VH#Uw6@SS`1v1I=qN76TjDi-N= zW00C2?r?I0dqeEPScvVaHf{xtR|{^ zmFt8}@*f3Rt_7_E%1uC#;Y>jl2P(NXUWu=Z|06=jD(~JWXYoSSD6DlJeHI`uKx+Z=093^=&6>?Fdlw>+C$C+IY^3wsXB{#* z?M0cMUW@D`a4ZbRv#?qylB*W_gktBAWe&OevI81K7h z7Se@j$mm&dq{LDdx63QCZ#7OmwVRBip4i<6$t0H?_P7W4?s@gh15%Z1x)YVlmx0Tf z4LFs0Lw;kQ3?**Zw+W82p@BiHX%?^2Edy=qGu5p}}+T-jCHwrb*PnU67&t36Ui`|r1_=r3%aw9qRu{AM=rXD^{~$YPxji}}a$7V531nNu5lzKC)xp~JT;+?-j2H3Eb#=eo^%5Y;FrggY z*#XNa;fC>&S?y-XJy~2+fvl2Hqh~2_J=84J=&l{2-10)uqJzEr7uyqFML?nhJS~c8AVNiO&qw(doud^TJ z$DATd=D|#n!d*$C_vq&dW>_pr`XY+x^Aubc(6VpQD

~2cKGn#2LFEIwfk?%|1rg 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 Date: Sun, 31 Jul 2022 16:44:18 +0200 Subject: [PATCH 28/88] AI optimisations --- ai.asm | 110 +++++++++++++++++++++++++++++++++-------------------- scorch.xex | Bin 41187 -> 41208 bytes 2 files changed, 68 insertions(+), 42 deletions(-) diff --git a/ai.asm b/ai.asm index 7496005..b5333bf 100644 --- a/ai.asm +++ b/ai.asm @@ -158,56 +158,24 @@ loop jsr PoolsharkDefensives firstShoot ;find nearest tank neighbour - jsr MakeLowResDistances - mva #$ff temp2 ; min possible distance - - ;ldx TankNr - ldy NumberOfPlayers - dey - -loop01 - cpy TankNr - beq skipThisPlayer - lda eXistenZ,y - beq skipThisPlayer - - lda LowResDistances,x - cmp LowResDistances,y - bcs EnemyOnTheLeft - ;enemy on the right - sec - lda LowResDistances,y - sbc LowResDistances,x - cmp temp2 ; lowest - bcs lowestIsLower - sta temp2 - sty temp2+1 ; number of the closest tank + jsr FindBestTarget2 + beq EnemyOnLeft ; calculate index to shotangle table + ; in temp2 we have x distance divided by 8 + lda temp2 :3 lsr @ and #%00000111 clc adc #8 - sta AngleTablePointer - jmp lowestIsLower - -EnemyOnTheLeft - sec - lda LowResDistances,x - sbc LowResDistances,y - cmp temp2 ; lowest - bcs lowestIsLower - sta temp2 - sty temp2+1 ; number of the closest tank - ; calculate index to shotangle table + sta AngleTablePointer + bne AngleIsSet +EnemyOnLeft + lda temp2 :3 lsr @ and #%00000111 eor #%00000111 - sta AngleTablePointer - -lowestIsLower -skipThisPlayer - dey - bpl loop01 + sta AngleTablePointer +AngleIsSet randomize 0 8 ldy AngleTablePointer @@ -349,6 +317,63 @@ NoUseDefensive sta ForceTableH,x rts .endp + +;---------------------------------------------- +.proc FindBestTarget2 +; find farthest tank neighbour +; X - shooting tank number +; returns target tank number in Y and +; direcion of shoot in A (0 - left, >0 - right) +;---------------------------------------------- + jsr MakeLowResDistances + mva #$ff temp2 ; min possible distance + mva #0 tempor2 ; direction of shoot + + ;ldx TankNr + ldy NumberOfPlayers + dey + +loop01 + cpy TankNr + beq skipThisPlayer + lda eXistenZ,y + beq skipThisPlayer + + lda LowResDistances,x + cmp LowResDistances,y + bcs EnemyOnTheLeft + ;enemy on the right + sec + lda LowResDistances,y + sbc LowResDistances,x + cmp temp2 ; lowest + bcs lowestIsLower + sta temp2 + sty temp2+1 ; number of the closest tank + inc tempor2 ; set direction to right + bne lowestIsLower + +EnemyOnTheLeft + sec + lda LowResDistances,x + sbc LowResDistances,y + cmp temp2 ; lowest + bcs lowestIsLower + sta temp2 + sty temp2+1 ; number of the closest tank + +lowestIsLower +skipThisPlayer + dey + bpl loop01 + ; now we have number of the closest tank in temp2+1 + ; and direction (0 - left, >0 - right) in tempor2 + ; let's move them to registers + ; in temp2 we have x distance divided by 8 + ldy temp2+1 + lda tempor2 + rts +.endp ;---------------------------------------------- .proc FindBestTarget1 ; find farthest tank neighbour @@ -400,6 +425,7 @@ skipThisPlayer ; now we have number of the farthest tank in temp2+1 ; and direction (0 - left, >0 - right) in tempor2 ; let's move them to registers + ; in temp2 we have x distance divided by 8 ldy temp2+1 lda tempor2 rts diff --git a/scorch.xex b/scorch.xex index 1d3e3c5f0d17e40c37ba6d5fe2eba4f0d93f8a38..83648bab7a7106445781cf73fac7c54e4c72baa7 100644 GIT binary patch delta 13843 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 Kf8qHy`Tqb8R&zK2 delta 13786 zcmb7q349b)^8ZZk1V{!s96_LotjNj{1Z7lCxx)a0B8ngbB$y#2C?4n{PDs)uBT=2 zr46r2v{wp{v_X}K*vIL^lAF^L(0BSx$=%zAkDuO*ApLZhA=xKQR!yM7XM^RCCP|@a z`}+G@ACSXhWu~jW1drG-=H`2y%7t@7^zW5e;A0>R0ZxY{bp;)hs7ay^CG`S*C8^Q$ zy`(-y=Oxul7bPxgCS{8QZNptm=q4#-KGk5kbTrCuHD=Ky=`jtK?;YAI#k%2Ri9VJb zT7}g3sN}XlfC@?NBX}fkQ;xlCT4h;ayTq4P2aZX4wEfnp(2k;T>sRBqjVen6_Y?^y zqXL;yXdJg9pX+@y4vPN)@f$5alKbefxD9=)$ zz)r=su2R%E&}vD44&LSdA-LB6t?;-~lcj_enZ6pI5Lk2-mU3gB^ND;Z>ob&-zPdI` zu?BjPGltI#^d+Z>-)IXAq~;ht9|IN$BT2Y}!fH_`3L^+C(+C3%84yhIU#hBqe+yS) zSW;N>Oeq+pcYz%}qtJSVij)S+7xuGL${MA>o07|#)5vTqa9DDhU|`TqW25AbZE2J& zQJ^^{mCUFtwFX|57~ZQ=KxKHUlvV8j1FtFYZYO?{O>2~XdRM9f-MbQ7YGdj6f=a9@ z#Snnp;*F{q(qViE+}NGw`o9;t5m1v!NFl*O$=zsp@^${Q`I$olZK|oI8yO@mAV~&k z3+PhVuLbntntS`ZMi&W3qqIAVgkw?KT}8t2C~ZuU@OG4DD-zy~awrp2)44P~3VUg( zOnYQHE7O2Iv~&;c+0zh;wtVVPSLpvzO;zd^-lIx<#ZHgsyho2ZU*W3=Dte616WptR z0g<;TYK-7k)HY$7ER12x&_>+Y>FO;}*c)nBjHRXt-$W@fs)d4tKkqfU9ff z*tf(@n+<`vg|n@`Jm)k%&mDDsW26swBg`H#Z_=QYEAWh?`{1PCKrd=?cx^GtJlS48 zn~l>BGKWFFJRz5S8-+FG?O&EbS}yT<+8TnV_vJMw@p=BJlN-IJvP|-tm;h&ak8h)M z4_{GOQ0K8VoB4cS-mrOcQqsPBK7Xg}GyG+QI57ONpwu$N#rI8eWs;Uj!Crb^QwF6) z+ldJh2?RoOtQgaIgE1;QVQ|o#*r> zQQrHxq0<^H)l31Bp;NXe?C0mZ+7}<+?W&G^wr`OWMn^y3vpsZTzS!?)_t*gY%oD}|Lng=$3tbr;H5-G^nY?jtf*caiKX6dsj* zys%jIZE^`qWM7f+n5;%Io_T^>;#RE%Temc4HRWd09OFNmI<_U7`2D{9L(DVT8Llmq zu`M2!`Hk8mGM}$4lKBGdQ5nN8mNEPinct*6Ci6uGTW~zNUw<2BdJUn=pu~7RiR*26 zqF8SR_6j>2bBF~CHBYzZ5dPD0sBxa`{!%fOx6y_2oJdau{FTAnkiR{QkG7Z1$5ypE zqxnMYTq|}kj}Xz;92Hg#Ol8&D0a?}BYSNc#*^Ik?p*BypVWw86IVmZr3i0=$X}7xG zmGpk#Kb&ynY%0ZxtFlmyo!!0GRhGgbm*9@_*Kni=f9fpV7={42u5NzTT(?{KLmcIhV=NA@) zW;WU=6y?6pCfJC1!LoMM>La-KHfUqSzf2$Iia1sn#S?7HKM6}>&P#na96vL}4tJ|P zf!(D&iQUDVJ3ENk;pR1|7+c-L@3i`MWadGPotYc?opn2y5Ly*k613x#XcmqmmP6!+ zk!5Lh?)W1%!eh-XD<#?6Zdgt+tQKM#K4-tO8M zvc$uj#*iLsaAbf))ojf_D$t%`y7#~?gx&j!6@%flB7I0Mi0%FPjHgl+Xj2N3fU~$KKGew7@ zn5do|&>VJ3?Tgwn(xaP}Q`0iimQ&D#@N^k|V4Z^&Fa-@~*V3yaQX>{M;!-g$eL^a( zpl2MxZu$@~?Y!(m<69(dFv|@%#ZS{$nLiQjvr=8>ar3==ky)_ks!-P*ZU1sXIL-~n zyl7(Z^AawRh=ASigUlYc(D%B9-4I_7-sB%>aKRlH@$q>n*rs-QVON6^$8Az)?c<;xO+zPTyOL;pZNz!34w zWyun&j_B;U817NqW@k%6&umGJV<{K|8?e=quv%=hbFRk~+~$pZMEYu|O<@aR zSrOT?$P1w@3%w9$|HT0Ts;UAUQj`ADcFVLySCIVwJ%FGzlahQCR*^;G_leC||oZ4`*S^o+t^uG1wY7Bg?#`_M8Kx)jD^5U zsC5wrM3)U(Y-Sg4C=!N;YbWyxcE=;eQPAmgm|F?^9O$Pl;$E&3&U!Pz;0$A+#K36j zIcBl6ftf4i6RebqNUJ1rl`#V)53^3%j@?eXacO9>qR*Kj2&~hIY%c4@?+(aWNzEBT zIqQI&BJ05KPBJJ?30oo*TO$;^!W5?jcZ6bFgyJRUuttyzVx}=CW8_1WwsJ4EdP(zA zFqS!b!ArGX((nFnTlkkZFSbQsH@1g8wA31Sjy9ArJp?w;1`kt3AfGmDU(M94!>D|V!D1)GQ#*s&c4_Q8qnSRm{r4LCjY_@R4&Y8f?jujqQ-iq4fZjQb+(xch#UctfFD|5o8TTRkk~N-GIor3O+dv#l6pN_a0MBr zKjty~7l~W@wg;|8ClUe%WtgRy_Fzw!7pw8J2-iSFMPN56F-)DY$oi)-rvLXo$M6v1 zdXZme3Y}%zjctRR6q4(9ma@ktd2fCA^fMCQ$ZCgC*o^|cm8HlfBkhh{Iqnyzudq^! zkufl?r^t0=kn&tjhM2M-)s;c&0>q_U>@vi$-7;yU$K%m5X=WRM4GoshPaVBYKcM1} zWmlCE#LRIb%n<|L!NdS-M__j`RGzV!uc-6PZ1Z@KNMz~zS-2&g$aha^jyaLBe^-i9<&xP`y)Bwd@~jeRp{JT#2*e+7xAyv9d?APJIS?M#rGc??h++# z{tB*ZdaY5`38v^bw2G1@O2GvEyc#cvl3iFHOxC+KiIU|nkTVR3)4SJ-(wX^EV7_Ge z!{zw~R=nN=Kr{e^5801yM%)$0#dpi`RWn~Yb*gNeRP%tOnCc%bLIJIQnxhCsG-Cl; zYaW#9GmC_-RI@;;UsWV@r<#YP`ZYzuBB^GfRR3a;uvMygSgJ255+0Rm9+B#ci-g5e zy-*}95#L%kK5o90l(b>K82xanSrl)5cuxNX1rC-K|4 zi>uVRe4#pq=W*koESFD_H+cd-mSDpF%G_5vbc>Ysv=Sc}b02vppng~BsYh|~g%Ulk z9;L-2CH`o;IQfxb<9;jwXKqS%rN`FUSP15uLo) zn$}l~+9UmX&ypFXxt-GB6?j2B_ek$~uknX{70y!rHE&$qVNcBDYRPcg+-e*C@Glia34Iz^+r} z#u>6dT9_eglf~LaH;e8?{mfJFbvGt$;TXSOhD~}+A9ayKT~8fN)4%iLlE+QVDw`^E zFJu`eC-!*s4%c)!)U9c%Z0To6WS3U520MVJ%39|*fP-tOS8EtLMb^_GQ8AdICjx|+ z@sOASwHdP2nbJ5__9xoFr8xzn0ufvx@^pEoS%8TB)VV@8*JyQ&kUU!3!tCU+tT2+n zRsB-vHd-Cq(K+$TPPVvn**p_#rponQWc$9y*~cikvb2g-jDI*%0{e!&{P02vEWC3E zTI&u!|6_^ga4^Fiqpt8Ac9j{nhY{ChFn-Ble(;HxCHvg;FjMT|;7GlzdNaE)vf8me z5ZAGur(;M@QTs7qq%ari16NvKwgs_I=a6-Wk!toF1~;rp428O4RYu97_)|wM`geo9 zruV1F{vXPw%3(KRbYs!beH&Y}_a_^@V)J4y87q*cehHHw%k#BU#T%E5Fi#byFX?Zd zA+B7)-8@4M#VBpwyUG(smnDscK`8<61Y2|Ww8X|4qO#E}4Q4w>XxKVur| zVET^;Q-g4}e1q5AL0R96cu##_@$01zbzi3VDum^V&x^F9)#q`Z6&E=MxK^-w_ew>} zP;kZ0RQQUTl}epw$OPeKMO&#PC0TQpDLiV)Im;DZ)mA8cH8(AT0)F@kK#)`Sd0N0#^i{Ng?^aaTz1)UuhvB2G&Qw%&O-{+hSNJ@j zhG>}zl8&BG9P`_kicb}K_mwhy#3Wn8_4=BvidMnI6d`7v2g#NpOv-JLPutF<+Yy$| z3Xn5K*rwoKvR!H2s@M;$cA%W}lA^t&2s;!`S%VLxOaO6V9V-;ISP&INp4*r*wzs2I zukJvL5SFfi2?uZ2;}H#@h{;ZVr-Iao8qL=l0|2fl>TiAx%agVGpB$?A-Lmek>j{R_ z`~OF-P6>YP;D0??8H%=-XqA}KTs$Cn$``?SiC{`aQ!bx;_qulq5sJt}B+NKD;zhkVI|%FVqI%)pSU_gN|kA%Xcek zDssmXzq59?!fMc^9Tce9M^lbu*kM)Ojv*6V7tlO)EP3Oqikv3u%L36Om!bqh0}yg7waS85<(o7;bZ$2&MrF6 zb8AJh##GztC-uUQzM9UXii!0kVq-wvb)K zvK@?cTwH|?Bt;j6ZuO@y3YSnd2}AoPg*cmf=qDr~0elf{0IMd2x?u1pR`$OE(PM5T zdUVumlZxx_6um3Q#$*!`pXXN2>b(-zfc(!k@zuV9&x-h0?B`f9Yo$2p@xE~@DKQG4 z%O9V^K4b9t+T*LuE5%!~hT!k)tXuH+$*fxzxg|?dYc^6dt*8t=aQ_^nhq@ty6OAeX zyR6>pD@Yp?E>`Iy!rA*s;n{2Q<^Rd!?$db@G78a1O_hZcQ(|jYTI%(ZNLzR}>OTB_ zES^`(5hpt5qe6p}46Al`=8+t%9-XIYd|@r2Is-s~@DwX$*Z}_wZ~&VD zG$6V3S(pxxjcg)o*;V{0R@2%3qQQ3m&)9Am_X~WtT*Eg^_;bGEoK;V|dJ(La1|sqD z4b~t*782RkO=9JBR(grAdLIvNzQQ4>x77C~{eo3XkT;Ag0p_k=ENhi0Yl-r%zSIhm zB$+*EIT3!TGr+n5ycy2rzGTDIvN;7UfApEYgvOA|XyDc}UD7{r7{x$Vuh(zFO%pfI z8&J+3NbuirOqeKHh?W~Hr*ZDhVDI8k&})AZ_YLZLENE*Ii?avCOe_jyi~j6saifb- zO}t0^F?&|m;S@3#ml;p}V#Ehl+j_C$VgjGf4R(3WT6?ePU2QcF7tgLvMWI6&e(>z- zu4Y#|X68m9v&zgfBs@#PIzoZ#X_l);D)6pQLU2qdCU`FlaUE&vXxP&fN&@cFgqITS z#f@I;(1TZBv6ZFVy64#lAlIHHeJB8#8*!CKEfYn(1m45_{l!q6ZRJ6mUtE=IbultM z)*FRtD;sW%-WT7ir{Q)R%|N*Jv%w$|3x6>PHqScvEyfQTw4eH&H@<#K$%zA@v=awI zvBj3J(v}W=hMri2B|yHYFNN+mQkZ6}23m#-!?E-XHW1L#M%`=lLM)>bfkp*x_3Yu; z#E{ik(+FWR^Lj;FrriMr`0^S@lKYL&>%ja!iS#E@Z#D{e zEXLyV>pal0#{<(sP0x@i`N`gWJGoYes(f!?^5b8Cct-z(CwseMnL)?M>TV&HRpgWY zJZy;s17{zLC73zeb7mpl_)V$4aN$CEoXq|8*{}!OW)zmU`|`ae&o(Vy4yD?(7`X-e zBSzL@<(6m}T=5aS%|96T@p#$(>;@|^a@sL+?(RVGx?>eHQ26|CMb#I1Yk`$bXo{2d zQu{YAz~)&t&KO+mwszn^gavr=!JNhSNJEvsO@ScsLf{?Z%L5-!6}I8rwIf|7c^bd6 zaAoBGeTB7e(@wk=tjuSrtU}-;nZ@(vwI*3>BfVQ)q3}2AH>|`{XkYlE(HM6p8lckt zM$|+;0gn!S<#=?c#MHb^7vH8(e~kN4ko4Xd`lEM9PsZpUeSq9hpow;wn<}3At!sC& zF^n&7NPIOLCZVp-7{gIlXs~zqHm3XXR;8!&g_Ze7uEee@oY^*RSP7eafqDv0k_5Ai zCARl=MMzny;WoYyZ)^A_v#d8ee8v1`V3)*gzP04m@c*t7t8cUOIKSCf;(UoO@y6F} zp4qnROVkH;U7}*kzgcerzZpE*`_5ty@A{ne`SSQe-$tJI6%L6Pu2!Zm-_{&oZD`V% zAha0Dm~)nLKc_k8DE9)*`IK^-$u;L6l>7f^&Oa&l3!3vU%DqT)KBL?gnsc6VTgjID zCFNeC+z{n{Pr3i5+#e|SE6V*3<$g`M|3kUoQ0|YE`z_`EM7iHl?qyWgB<3tr)HWra zz9hN?8@QyHpwzQ8?n^>m1)rbOxJ&pfhJwWXPp4!nN{GDzP!#QD1=~0Z-(L2e9#$9A z!F?SXGAYq@n}>Q8OU!TaPhtv2!TZunq=ty8hCW9TezTJc>#V`@fv*Z$Qrop84t%Ef zGG<;KN*R5vQo=g<#kn`=??+}dR8cI^S4=D1zC_~AXGY^#fTxCSz@r(@n)!`5f$$zU zTpHnA8`;)4PQgdrRvXHkZ1=?SdDyx*)Zwd+lci^*;>o(A+q)1EHAmw)TtPGAjasOW zw0g!R?ux3UO6n973VWzI@?L%~p4je3ty90z>htCxf$arDY}xQw_P%&Z=WPjt!4zQp z#k;({EvmTX*_&Kz72ihTDaDsBJgqpqv5|`|LdIzoD?RLgpJ&%#802|JQdMzr{rdbF z^}oxX!LlkImP)N~Y|h`GKc(QlLiTSK{>Q6*;YmfkUl7pP{P$@NIHj}Hu{j|P*!pRIl{{WO^HjQDn5EZmx& zo{mRx&IG}u*k3BJ0qX~&Gr6O4W<2_eEw3^0*li)v|80#&u|EGP9`Y#aP(g69D>;;O zgefTsN`e(7&Foa~mBOuB`@8&-ikFld`lQ}|$36F@<314V@4wkQ65=OWk=ybZNihbF z^~b7d?C8X}W{ex-{}yNV0Gz6NAMeECqa#B-Ky=C4EUtMjwtIW7%)!kpw9hEOTdJkc z^>SSa<%$Z+h7tG2LhQlI63X*f8&LdOT zp(l3?0~K2u_HFgyRnQ`+M0-$5s;Ymw2<%<;&lG__)(orFS$}Nf5BXR)QOI+Nn-JuO zhNmUg^rYhVhf!!~%`ifI+L(ny0EXQ7IJs}KVZ~u!DWMdwx3?8q(RRk-TaD$#2#dQq zSq$%B;cDmMPilQqIVpyE+VA6S+A#@L(qj^evB#yRCl$x9k-~pdc+{XTEJY#sFsc5l z6t1ggl7!I=Dc-$G3P|TLBD5HxHd2B{ITztya}3J4*n0pmU@P@du)R9!(&=9z9 z(~Q8RO*0(#Z`!k|Y12;~|2nGb$Cies*B>e2ZJzoUN|1uuEAb){xJW#0JyC(MPdwpq z54QP4JoDU(m-C-hMDn^}cToRhiD+Hl|Hk>7PVUfK)fj$9y9uWFzvbqOv)5Z^NBR;v z`}(s!gM!8J7;FdfFb3sF81MLwUUVg0MI|0s|7_gSJ!c0j-E(mG3kSNprmuar(6jT+ zvtRs}kkb3MyXQXq{HAShz5CInxE{CMH-GUHqWVVD7fHVvx9o*oufFr?7k!70&v;7k zy?OSZ&0k%Pj_cBW*n^9ftz3s)_WFB&{^;u-14li$f)_m7cFD&-ywG*X#0N5-5VpR4 zHsRKBtIJ>4&-`TWGi2gocgH^-kN8;maIv(!hq$LaS*$I;!MyX}vGUuZVzQ-j$up_v KL9^#l%Krl92PR?w From d7501b5c7c5b25dbe641725d76017a2d33ae49da Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 31 Jul 2022 18:35:51 +0200 Subject: [PATCH 29/88] All AI tanks works but... --- ai.asm | 183 ++++++++++++++++++++++++++++++++++++++++++++++++--- scorch.asm | 10 +-- scorch.xex | Bin 41208 -> 41490 bytes textproc.asm | 2 +- 4 files changed, 181 insertions(+), 14 deletions(-) diff --git a/ai.asm b/ai.asm index b5333bf..e10c23f 100644 --- a/ai.asm +++ b/ai.asm @@ -57,11 +57,23 @@ AIRoutines .word Shooter-1 ;Shooter .word Poolshark-1 ;Poolshark .word Tosser-1 ;Tosser - .word Tosser-1 ;Chooser - .word Tosser-1 ;Spoiler + .word Chooser-1 ;Chooser + .word Spoiler-1 ;Spoiler .word Cyborg-1 ;Cyborg - .word Tosser-1 ;Unknown + .word Unknown-1 ;Unknown +;---------------------------------------------- +.proc Unknown + ; random robotank (from Poolshark to Cyborg) + randomize 4 13 + and #%11111110 + tay + lda AIRoutines+1,y + pha + lda AIRoutines,y + pha + rts +.endp ;---------------------------------------------- .proc Moron jsr RandomizeAngle @@ -154,6 +166,7 @@ loop .endp ;---------------------------------------------- .proc Poolshark + jsr UseBatteryOrFlag ; defensives jsr PoolsharkDefensives firstShoot @@ -213,8 +226,7 @@ AngleTable ; 16 bytes ;ba w $348b L$3350 .by 18,26,34,43,50,58,66,74 .endp ;---------------------------------------------- -.proc PoolsharkDefensives - ; defensives +.proc UseBatteryOrFlag ; if low energy ten use battery lda Energy,x cmp #30 @@ -238,6 +250,10 @@ NoBatteries lda #ind_White_Flag_____ sta ActiveDefenceWeapon,x EnoughEnergy + rts +.endp +;---------------------------------------------- +.proc PoolsharkDefensives ; use best defensive :) ; but not allways randomize 1 3 @@ -268,6 +284,7 @@ DefensiveInUse .endp ;---------------------------------------------- .proc Tosser + jsr UseBatteryOrFlag ; use best defensive :) jsr TosserDefensives ; Toosser is like Poolshark but allways uses defensives @@ -301,23 +318,173 @@ NoUseDefensive rts .endp ;---------------------------------------------- -.proc Cyborg +.proc Chooser + ; like cyborg but more randomizing force + jsr UseBatteryOrFlag ; use defensives like Tosser jsr TosserDefensives ; now select best target - jsr FindBestTarget1 + jsr FindBestTarget3 sty TargetTankNr ; aiming jsr TakeAim ; direction still in A (0 - left, >0 - right) - lda #0 + + ; choose the best weapon + lda TanksWeaponsTableL,x + sta temp + lda TanksWeaponsTableH,x + sta temp+1 + ldy #ind_LeapFrog_______ ;the last offensive weapon to use +loop + dey + lda (temp),y + beq loop + tya sta ActiveWeapon,x + + ; randomizing force +-100 + sbw Force #100 RandBoundaryLow + bpl NotNegativeEnergy + mwa #1 RandBoundaryLow +NotNegativeEnergy + adw Force #100 RandBoundaryHigh + jsr RandomizeForce + lda ForceTableH,x + bne HighForce + ; if Force lower than 256 - set weapon to Baby Missile (for security :) ) + lda #ind_Baby_Missile___ + sta ActiveWeapon,x +HighForce + rts +.endp +;---------------------------------------------- +.proc Spoiler + ; like cyborg but little randomizing force + jsr UseBatteryOrFlag + ; use defensives like Tosser + jsr TosserDefensives + ; now select best target + jsr FindBestTarget3 + sty TargetTankNr + ; aiming + jsr TakeAim ; direction still in A (0 - left, >0 - right) + + ; choose the best weapon + lda TanksWeaponsTableL,x + sta temp + lda TanksWeaponsTableH,x + sta temp+1 + ldy #ind_LeapFrog_______ ;the last offensive weapon to use +loop + dey + lda (temp),y + beq loop + tya + sta ActiveWeapon,x + + ; randomizing force +-50 + sbw Force #50 RandBoundaryLow + bpl NotNegativeEnergy + mwa #1 RandBoundaryLow +NotNegativeEnergy + adw Force #50 RandBoundaryHigh + jsr RandomizeForce + lda ForceTableH,x + bne HighForce + ; if Force lower than 256 - set weapon to Baby Missile (for security :) ) + lda #ind_Baby_Missile___ + sta ActiveWeapon,x +HighForce + rts +.endp +;---------------------------------------------- +.proc Cyborg + jsr UseBatteryOrFlag + ; use defensives like Tosser + jsr TosserDefensives + ; now select best target + jsr FindBestTarget3 + sty TargetTankNr + ; aiming + jsr TakeAim ; direction still in A (0 - left, >0 - right) + + ; choose the best weapon + lda TanksWeaponsTableL,x + sta temp + lda TanksWeaponsTableH,x + sta temp+1 + ldy #ind_LeapFrog_______ ;the last offensive weapon to use +loop + dey + lda (temp),y + beq loop + tya + sta ActiveWeapon,x + lda Force sta ForceTableL,x lda Force+1 sta ForceTableH,x + bne HighForce + ; if Force lower than 256 - set weapon to Baby Missile (for security :) ) + lda #ind_Baby_Missile___ + sta ActiveWeapon,x +HighForce rts .endp +;---------------------------------------------- +.proc FindBestTarget3 +; find target with lowest energy +; X - shooting tank number +; returns target tank number in Y and +; direcion of shoot in A (0 - left, >0 - right) +;---------------------------------------------- + jsr MakeLowResDistances + lda #$ff + sta temp2 ; max possible energy + sta tempor2 ; direction of shoot + ;ldx TankNr + ldy NumberOfPlayers + dey + +loop01 + cpy TankNr + beq skipThisPlayer + lda eXistenZ,y + beq skipThisPlayer + + lda LowResDistances,x + cmp LowResDistances,y + bcs EnemyOnTheLeft + ;enemy on the right + lda Energy,y + cmp temp2 ; lowest + bcs lowestIsLower + sta temp2 + sty temp2+1 ; number of the closest tank + inc tempor2 ; set direction to right + bne lowestIsLower + +EnemyOnTheLeft + lda Energy,y + cmp temp2 ; lowest + bcs lowestIsLower + sta temp2 + sty temp2+1 ; number of the closest tank + +lowestIsLower +skipThisPlayer + dey + bpl loop01 + ; now we have number of the farthest tank in temp2+1 + ; and direction (0 - left, >0 - right) in tempor2 + ; let's move them to registers + ; in temp2 we have energy of target + ldy temp2+1 + lda tempor2 + rts +.endp ;---------------------------------------------- .proc FindBestTarget2 ; find farthest tank neighbour diff --git a/scorch.asm b/scorch.asm index ad82fa5..641ec00 100644 --- a/scorch.asm +++ b/scorch.asm @@ -420,6 +420,8 @@ DoNotFinishTheRound ldx tankNr lda TankStatusColoursTable,x sta colpf2s ; set color of status line + jsr PutTankNameOnScreen + jsr DisplayStatus lda SkillTable,x beq ManualShooting @@ -428,9 +430,7 @@ RoboTanks ; robotanks shoot here ; TankNr still in X jsr ArtificialIntelligence - jsr PutTankNameOnScreen - jsr DisplayStatus - pause 30 + ;pause 30 ldx TankNr jsr MoveBarrelToNewPosition lda kbcode @@ -476,7 +476,7 @@ StandardShoot jsr DecreaseWeaponBeforeShoot jsr DisplayStatus - ldx TankNr +; ldx TankNr dec Energy,x ; lower energy to eventually let tanks commit suicide ShootNow @@ -1221,7 +1221,7 @@ MoveBarrel mva #sfx_set_power_2 sfx_effect jsr DrawTankNr jsr DisplayStatus.displayAngle - ldx TankNr +; ldx TankNr mva #1 Erase PAUSE 1 jsr DrawTankNr.BarrelChange diff --git a/scorch.xex b/scorch.xex index 83648bab7a7106445781cf73fac7c54e4c72baa7..6a3daca426beac128443fa0fb65220e1f7fd93a7 100644 GIT binary patch delta 16834 zcmb7M3t$vQ(%whjl4MoT`H=Ux*00@{$0F3Wy-W16D zFmvuF@qW}i%p1YMe@PPURjZf70L#&BEXsQ)9ORcBU zv>&TtK?e+=YxHnhQ059@K{zJ}W}>tTgNR}lh7#oop%+n%LSGDNs<1_Bwlsq@)AT$u zY&Dayg4y*FGq8ZUFol`8S|2-CqVzx~4xgd;K7Hipgs`!x+44i9DPU!zHCjxwz76aD}hAC;KLm*AN$ zR=a{ZPX3UI`SCes;j<8NxG(dE!fF?D*EBWpSg4s&#|!OSvCR-JWKyS_LeXkW@0SU26O zSd0ayppPZ?kMF@WmR3lRXSbZ$j!H?11G1WQEOfj3r_j>Ccl;|-U4;}8?64(x1;^fE z7t?#C?B!gvNte~IB|9o4Yj85jiQ)2tnIy-+71)B=q%DRkM2AJZgYZw0h**?~{1a3f zPZIQ#HZYVL_@SoZf8ER?Hlmw4>*Yeoq+JCK^h-jmB)kdD`rN*6a>*}3@H4@h`wLad z;AtVp0L_GGT7D7SvF*PI786jy!p5o9E^F|lK;cdb!H+21N5aBd2k?D{;P>6|NjCKt z;oSE^4e;3S1xM%HaYfabRN+=4d@nHL3lt->C=>mIaVmOtdnXnj3Md64jr1*p^pHS)(j`*6xX3HlIWv+HwG1Mq~ zIgcW6Wt%;ovmVWKwoEPyNm`8T2_4fuM|XQAC5C@nQZDe%i~IsQ9qA%7;9h002}=fR z^j(vZ!GCM2icu`Wj|5-efLp;NDi?%v#G5g8$mG*gU?Ggq$!5#XRfdgNr>&>rv>!nU zwkD2iP{Mpx4d^!tiUDTE=ct+rdo$~_W9sIq{y#N5@2uP4^lllOVR8xH!(;DuGzuBl zCe>6K6vObXLWY@1-L4}u=Isk>7S=AbKY5z=a!{bX{NSiEP~pZyqXXZgvb(U(4wa>7EwgWLl-PtZakWRGAW z)Z%%9hXf1_9A zc_K5MY5wD1{`jXquCm{I-^}~o%zQJmAgd&+BI}iGCA%sskhM4KqpYv9EZM`dCucvA zy(Ig^>^<4eYzlWI+o8llW*x<%auuI1vdo63?BWAmbyuS;3Dhf!$S|#G;6d z_<-!18kwWcy;h}L&qB_X^%==)BPu8Itppn0DA?3fENP47PmzH6$R~su^%ynZ4keY6 zf8i;essEJVujyHoq^(q`a$h*UV9@55oVGsEHzf0&T3wpCsy4B4nWU z5cy9cf`KG32~-%#x)AiK0uM(LM9l{h$s!$t5}gJZ5-frt_W^(zbDvGlZ~HGUKVUjk z02-IJS>^nkDO|qWbhfiCu?x}r*rXvz-E_PgCiS&+7w^-(7VoY}gIRQ(5}AK+k}ulx z?xVbPRv9Bzay~B*xqv6cH=x8zRDp2$Dk0dEz+O^>J)fbZocIissT9s57vyZ?%8HBX zJ+?L@S19L?$QP56{DoZMX4@HjQ$*}-fjA6I^%C#wyN9xgEJa2w9T9ysMqWG0iCRuV zy|nxzUXo$9uc0hPotto$72M=pqw_O(GrKM4?WnaI?-1;QPJ1V1t#k-{n0>|oBW{C6O#ym zmJy1Z%;!?=Swif|_g|sK9BE;%&=enOg8Ua!`R5S1kY7aPB7QO1v4qI^LLRDx6{r^0 zqFPu7kEMqssEdzjKk?^k-U5SfGa7-!9i$t@$CQ!WS@vB~C#?hJfl zPh^#As8AEGB-CHGM1^_BRJiPS{F1eJnh^$o%QW&h==Il*UEd=02=k4K^rt zr`>$KyQ&ikRedS5=Xp0Z5*}jz`C%CUEmDoTP2!5xDv9G%N#fQ)AJ=1c*NJig%dZzP zy-pF+yFrwT`HiB?@h(wb$CrrmdY%^*6Q!BYzb!EKr6BvZkhPWMZ6R6upG_ItzJ+kx zqV|Wb&6b}x7nh~e(33y zG11>Wg!$ehV<4vwy^%@mOhbj7}OVXeBAXiutJDD}XjYQAX0NUb@> zq@<)8dZxG|d}HXY@HL@3!zrP0IA7Spao`WMnXD;|1{@7iroc zsQR!R>AphueY%(W3<@|e|7u)2AE0k^rng0iCiomdjouSlYi|BAqyTtKbS z(?s4J+Qwp;R)kW**U1$S&*noF^%Y=SGX&t%Qh)eLM1fbOqh*Devp_qGZX!rmV^o%S zsO18p#p)f=ibTa|&Haj?k~;Y5qCNLv<=V(BrS}o9ID8|It>w9UuV?G9Y3ZkjL~K&b z%C&XnJG=yc*o^pcl2uOV*3n)b+34D^cO1zVwQX0Dp95W& zQtSLOQA;WO%dmEs@rx!qo$H+Kiz*{^Tp`Ac`MtGselb+<@o6`k@QBMCu%JsJ=p2Mi zlvz&&go;(?UaPu^Wa2&bmdH#nL z5R#RJuX_P2vVMB#2mOI_ecIa>o$OCKLdjYh`tFXrU~={fO#D3bwOOLn5S}=-0*R)-|^J_wy&B_{cj4dT;Se9v;3BY9>(7a^$v`xcAf79$(-*? zjc=oHsR-O=Fc&#~M5KTs#MFz0MM=WR#C;fe_Ollg9Hf(}cAdnzr5Ayel27)W!j&KPOAZ*yI z0T-h)-wpPgba6tWba#O+$Qpl(EOuH-HV^<9+Xbgw4-O&25d_DTPzKhZ0TCCxGlS=Z z{}q{C2xA1X#401ZTfT_2C>QSABJf)TJsj3mwN>D^3egf~32!o{3d6Z$I^Fa`w+Gmt z5FJ5`MvpoTTLOt5rRoa~7_BEt>C_o-BXGi@bw`PIHDrx)u&-X#o6hqV2~Ih7Sn7;d zNz@mYB>3V${+z%Yk2vext{SU)f>19NM+NGp;;3-c6JQhJsH2N?(Sc^HT!26di;vmHnz=VYwfQ-1{{=>neDBlHu%g2{!5}_$X^ikGs3si zfpn0nguE|_yPsA4g5-k!2SjZrx#;C@MC~BC=<7q0{sl>IC+QueS$iKie<$i!B+MW_ zqQm20HLi$1tn^ zB<+B~q3IN92Mmr%pOE&C3D15)h94yvH`&zVr2Q_P%74Q*1rhaQ`uvz!dPIaz&Bnsn zR`nnHxc@;VPsfc(KS^>il#@E48?EXGBo~n)Na$}Q7oj3Z=tGi=SkZ?Bds!}mMUc$@ z(5XI+sbBUw!rwFEU?gtIYv4tykS z5e8!!3Dk@fP=X^H3-r(=cRy?wuh8wHf^MIi=|){iHToWw*iSqTc-@SjBB78w7A4Dg z%FN};h#nJYj|h6Mu|GRgeT9NlP<`D@$54qe0ED)px9HLB|8omi{Y2O87u0Da9PfmZ z+lS7EW+aP)cUjE###wZ5^r;tWo2mab4i)dt3fZ*hBSA|HP>)(-jQX+}o^;GI*aj}! zu0a#R0~KU=1+k2?qAF)Fs@&#|3XK2FS$YixqBR6VYMErz;sDk%(HKb4NlIAyR9p3UM5K(Bb(yz^=wrkNKt*^g+HU6$v{)VrR6(`J1}P$T0L`qViicx7wF>r$ zkI`-7BAY|aO2pk&gF>`W^|z(mjBGkL-AlXm|Yf68;1o z{MO>dvIsVlu-UFXX$@{CYyLvz5Ue9>8mTCP^@Lq>kc#7Xty(a1jPUPM(*Z{@A8#2w zup;$C=|q%3j;=V64^4E(0^k@?0duVuKl~U#Ew|!fNrwjSda}z$W_2f-w&P}mT54e9 z>{?H~x!2d&uYaPuOszt6SBRd9AQ-wX?z94k?kqr~JB!Z%Q0y%?TnQIcfd+|O{{;RN z_EKkEZ$vyr$BdHX^r%WSrczwQ{52B&X3I~y&tA0>70M&<#!(9wA-SB4@_0OIIhl3=m4N%S zsqrT54Fy{=J;^;ma0dcCcF^Ve6lDqBID*X^FdN>DTv@$m+69jXv0{3M^G6&q4;H#7 zx5XSR42-9T!-6$hkzFt2?5op@k<&%Up!o)h9^H9OCYwqV@?2LT`tjA}#Z2n}f8>Ll|D2M<6P6 z1X(%seU<4ohrfe3sFRo2Xt*I9i_o2Cx1$D)?>o8O!Q)Qu&HCMr$bmIw$9}=vGQA)B zBrYNvOAMw`qlr(!^(_C6z}zyI!R4!d83L_gobh_e;27M78)v@{6td62@S-_ZxHI%2@NW)f`q#D zLc<$Qexp$56dL~IaF@FL}Yu2>nvaR{y~6-$?i>pa1mOCX5@ z^Zl;jdxebURq??wcMHA=xc{y8G#nOAyynv48gRG$xhr6{8xMFVKQ^4bxdgPC!HcUs zR=GH*FSkkNatz!n!OvZ^&(~b&6Mflln-6LuyQxtHXrKz<_tfv!JM~?s7(B&Ijf1qG zWDj%(=#-+dlcL^7@U;?OjHehTs?2AO^9(8Te)(AZgJ-zia#>CZ_ogqdemA9Yo%X}< z=S5g@1HW7h_x|E}QR}I$5Vb^gsfZf8Z@#*WzHB^|5xA;usaScZ*s&DNb<4!cIbz2$ z(K~f!e+xHHT`sn~AO_6*3nDPRug~o3b zXy5y2jEGrSvRq_lEsUzJ**-E;KZ@S)w0=&-qlad6;P~1TcR+XQhtu1-+Piyaj za5(wMa?#RXAB6p-1++kS&E;Z*Emr3X4HUFjN2Ge0sAXUjPIQfyXeEXgk5SS}^##$I zliIRe3?$k>rY#ji10cv^h%3ZtMjiv|uiVckk5SF=5US}j&EwT&^bK3Obq-~vRsTEj$JE*VO)rSvr)Lkm>jg0!Q+2_2 zduih6lBCg4r>dZDg01c9jKr1~M0ZTpP~Vu+k)um8Mmv-le1=IG&5trEqmZxS%l7V@ zeQjj9GqY(rOW5e>v<{y-U=DNx!mmPv^hHr|V}Vb^0w27X*|w;P#uT@u%aH=gL@iR|(HgA+VER*IS_Z30NJtx7%~rxL;+l&%!* zRXMuVT(l@OJUk*4A5KHe@lNRRH0bkFq0!pwzziFkbsVtp>O?`97{TjUC912$P@?Vu zt`fl{h#k=@q237?Mx+Wr2;-s{N^~cxt44~pw#17YZEdvCf+oOqw^X}OAs}PN_+-!F z4+xQAI)bZRLbUL$o`B(~N(kg!43H67RQ9K61TVlFN9HB>NDcw#pvrzQN*c z^Ew>8*)p2su}M}r zAcet@Bd}bV>;X0yESC_2_Jrf;=JSKIso3XtQF!=c`y)9jb^9fCA7%3$uvzaxm@18O zc>w&W2Pt=lBHUR~l@r4skZ@`{D0S?Y?Bz=wxU39GYDnS_Nlf80ctNlUHLUUnexIal z;NOwpmmi?QIM@lcaY+|g6mju0Q1#HwT0FcT+`(gRXrOUqrefxH=pCT`sH8mndq^JI zp&fN7-tV8fn!OTZ%I&|0NEct-9Q@wSKRi?&MxZm-!LZ3oBYaPWK%x{c5|LUcwrmi> zBe10^Z^1kWx_MAur~C<5mRoqJauv-!8~Sg?fG+nA!m`eq}I_hA;C8WVtY9u$zjaLb3Q|mpIYbU`@!tS?BQWE)- zldunav*r(+dnwQn3WP*5+CfEE2N+`IB!0^ze(NOu)k%>(yg$xfVJn48K%=sy8#oa# z>R2$Ojw6WCP9R=wz6};%33b6>p-{}dT@|2-01X^j1cjkbJEIMU7oh=h?wR2sfmDjY z@->sdjXWvL*pyx85I08UT9i>)Gbwx(Ez&nyQ+*M2M?asT+i%Z{`t6Ro1A?<*p2xdw z!CkRi2)~thKUt7DbrVi&g=f}rwQ|v!_1tUrcj%ohtz3r;h+295nIi5rx!@p2uec8u zyRGUbl4#Na^3N1=HFCijj#KR4EcGsX`iAsj%j82e=*b>+|cm*8!Inqg^XQqOyohU>i1yDz4nVcNwa@ zs47R52UTSh(x_RivUmPg8qPtQQ^kvSCi&}0wRNjXd@1&eQ#@^mpIac=k@iq3oA-|2_k`)z2d=QUK- zO1(xPXCip0DWHvIznOw^3$BiTo{Mv*iSwn5i_g7q+l7r}taj*;7~loZ#KCn7Q7%a?dkPy2u|7 zn3|f3ok&d{U%(`K8yDXmKX(IH9L(9^J-0ZMolU|yS6P#(1XMCBLEFt&`GXeI}aV0T#w+eer%t&Ie@xY|>*TpkZID>Hdl?pk(&i7k%*! z%UlQF2xlDJ8IE;YzRq}(9quR3&V-sGe4I(b+4_x!5gLndaRAs9Y6{2G{0`=yUglYApW~QcdReJN;V6jSyb{fQC!U^y=pxL~lZcC3 z@k(tr3N+fS7w_i;TCCz|U>Z?$I*C_NbM6s59{c&#-qp|E$UX(>%K0r0;{J2^t=~=0 z$o(122%&ca>BWD>6nX@#!M$rWMjs0DA?R_2E3Eg>HV@V~s`Oz;a<O>#L z!YwFX5dG&b-tjfrj5PM@LKYC-Y)gSERbEHi{;fFWLR(vWtu9M_fRJN&URH{j zcb%A(D&}1;W?95MtH@?uE#~zWv#t^I`iNQAig|s-te#?CKQXJ9nAcyl zL$KriP-TEnQ^autL_}!udYw3K2wt5Kkazp?RQ9M8rny;1B~_DPY)p86kG^L{#6@NB zT$h9lRp$B)!{3uEF~jglOhqsF>BA6F2@6y-!gYupZ^&UHGHbTH4orqkk=?h?IU)8qM0_=op6|l`Q6q1{x`MjiUX=9(P-9Z8K}>;*5oBT95-r4>s#7V(A&p^`K4W z&L$ii+RX4=i`pn{WPu=qp_NjJyC@&yBZ3=4q%`oy3FqVROCxSOvOKiwt+Fro15|+^ z%y^_P`#EH4``RPbAc|^yqfTo7h`_@wL@C-G76Z~icf(=cCdmbS6&iU-a`<99<6B(W zl(GdL`cGy(mD7pSa@LVl<8(I6E}Ysht8gj}*Lvt(QJJH#&{sIFD5?0?VsG&`#fzy4 zMF!JPp%i*Lt?5KSM06_elay?J4-EzdC555Cr!nLAG|U%M9YMd;zgFu1rW8)cYiK3{ z;cc;@q(Gv30Bg;O4b=v&2evI(E49T6$j^FH!fuNMuKq>XltV~~!{mf~ZVT=FNp!vz znfpFTOQGd4C{NeR3hvjh&^t3=8h&*m_$3@G@xv(`EAiVYALB&S?0+{4>DlVrtRoktI;@cZ-FBCilK|bNJ?Q?l)|;PhUw(obOI{ZN2#RR(DoCp zVgpf9&0VAn7qRjigxtR-uhRRXk%mfuz>8IuY@B$$?Si z>;xgo)qlW+I|-fXTzt<)*y!Q{>^XENKL*)Bx|dJ$gK&aqi$Q)6%+)72-|NPH6taUH zNwv+*!ROXb4L-Yms)JpBWc|7I!=0V~IcgdfmxS+a_}qnyg4bLK+8+}*FRs=Qc_}|w zhJ%Cm;6RUis7?0bmlVeYx%^C7^vW$_P#bP8@mg08uokR8RH1b!F7zN-~YNta`JcdmZEN9mE2tkNT*=)-5{ z=$GoQW>;*JcQ(HJSxTRq$Bh5OqYKxrui1T|&W+wPn=t7wCJQ}w>k(NBLiCfsm$_MD=!U3(f2G_`zX zzW%Nm&lGyaJ^MdR8S}`Jt-(((BoEJ+Hscu=Qa|XYjDAMy-};yL;!kWwY?Y{+)|z8d?-HTL_q+glZTX3e_&#RsPP zaL%p#r{vUr_Qlli=ijUG_VNzSM%0NM*p_Y^QI)W3)Og^Bvh!}@nW zzb^q0gZ;iFJZ|zs0*oIcND{1m;TMV0u=#TgLJvQy^bkhtL^J#jrd2sI!;kcn7W{Bl zPqBVuJLT`Nf{TVjRpwxVKm0X!APA=R@9E*Ea>78kX8QHlrp+fTes@wh0i9X>!Jd9l zha6J-e=F5A7^=C$a&uZrO+%rdJ18ISUE~+C{lUS07RdodEjjoLer$ge<;|X{oE+@m zWAisAyGI2l`Yl5?pBU}O|8iigAB-YJeYBtU|1Nmpn)ZzLV<;K^;BddK%?J?$t$vF& z_^lMawkF8rU><~9q&DK`s~{b|pJW97fvLrO3#S?B-tDeIaHe`uT=nG|41 znNU-I(7NUqNwE8yGtBl+YSf4Q$&dJxr~8v1_1BiRDfolV`7Wq-|Bh@wZ#Y(JJf_~~ m-|>K-HytZAA5*jZJ0A4&F~>?{kE!?jcRb|ZX?*2}r2hj{Y0vop delta 16608 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

Pegkt*)x!^7&$ddsiH~3iuLw7ikCl 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 Date: Sun, 31 Jul 2022 20:34:44 +0200 Subject: [PATCH 30/88] MagDeflector is working properly And an attempt to repair the blue zombie tank. --- ai.asm | 2 ++ scorch.asm | 3 +-- scorch.xex | Bin 41490 -> 41505 bytes weapons.asm | 3 +++ 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ai.asm b/ai.asm index e10c23f..28a2cfa 100644 --- a/ai.asm +++ b/ai.asm @@ -618,6 +618,8 @@ skipThisPlayer sta Force lda ForceTableH,x sta Force+1 + lda #ind_Baby_Missile___ + sta ActiveWeapon,x ; now we have initial valuses mva #$ff TestFlightFlag ; check targeting direction diff --git a/scorch.asm b/scorch.asm index 641ec00..b997d66 100644 --- a/scorch.asm +++ b/scorch.asm @@ -441,8 +441,6 @@ RoboTanks seq:rts @ - ; let's move the tank's barrel so it points the right - ; direction jmp AfterManualShooting ManualShooting @@ -738,6 +736,7 @@ NotShooter lda Energy,x cmp EnergyDecrease bcc ldahashzero + beq ldahashzero ;sec sbc EnergyDecrease bpl NotNegativeEnergy diff --git a/scorch.xex b/scorch.xex index 6a3daca426beac128443fa0fb65220e1f7fd93a7..e2f46052f9d2382610c598deb0a9be3ee6d173d2 100644 GIT binary patch delta 16661 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 CikHp+ delta 16418 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 E57_nXO8@`> diff --git a/weapons.asm b/weapons.asm index 54f6234..0868592 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1889,6 +1889,9 @@ RightDeflection bcs EndOfMagDeflector ; hit of course but we need RTS sbw XHit #36 ; change to left EndOfMagDeflector + lda #0 + sta ActiveDefenceWeapon,x ; deactivate used mag deflector weapon + sta ShieldEnergy,x mwa XHit xdraw ; why? !!! NoTankHitAtEndOfFight NoHitAtEndOfFight From 025afbce9158249d4c0459688e9072b3f54ffb03 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 31 Jul 2022 21:29:03 +0200 Subject: [PATCH 31/88] MagDeflector disappears properly --- scorch.asm | 3 +-- scorch.xex | Bin 41505 -> 41529 bytes weapons.asm | 24 ++++++++++++++++++------ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/scorch.asm b/scorch.asm index b997d66..1d5309c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -736,7 +736,6 @@ NotShooter lda Energy,x cmp EnergyDecrease bcc ldahashzero - beq ldahashzero ;sec sbc EnergyDecrease bpl NotNegativeEnergy @@ -942,7 +941,7 @@ SetunPlots ;let the tanks be visible! ldx #(maxPlayers-1) - lda #1 ; tank is visible + lda #99 ; tank is visible MakeTanksVisible sta eXistenZ,x dex diff --git a/scorch.xex b/scorch.xex index e2f46052f9d2382610c598deb0a9be3ee6d173d2..310e6c9f8fd52fad954d0b3bca8122b90fd94c6a 100644 GIT binary patch delta 15653 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 V?yy82kW9;@K$G9IWA5){Q_IXao7!@#6r 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 Date: Sun, 31 Jul 2022 22:49:34 +0200 Subject: [PATCH 32/88] AI optimisations --- ai.asm | 11 ++++++++--- constants.asm | 2 +- scorch.asm | 14 +++++++------- scorch.xex | Bin 41529 -> 41536 bytes weapons.asm | 6 +++--- 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/ai.asm b/ai.asm index 28a2cfa..dae0703 100644 --- a/ai.asm +++ b/ai.asm @@ -609,11 +609,16 @@ skipThisPlayer lda OptionsTable+2 ; selected gravity asl tay + clc lda AIForceTable,y - sta ForceTableL,x + sta RandBoundaryLow + adc #60 + sta RandBoundaryHigh lda AIForceTable+1,y - sta ForceTableH,x - jsr RandomizeForce.LimitForce + sta RandBoundaryLow+1 + adc #0 + sta RandBoundaryHigh+1 + jsr RandomizeForce lda ForceTableL,x sta Force lda ForceTableH,x diff --git a/constants.asm b/constants.asm index 1892553..6315214 100644 --- a/constants.asm +++ b/constants.asm @@ -20,7 +20,7 @@ CashOptionH GravityTable .by 10,20,25,30,40 MaxWindTable .by 5,20,40,70,99 RoundsTable .by 10,20,30,40,50 -AIForceTable .wo 400,500,650,750,850 ; starting shoot forces for different gravity +AIForceTable .wo 375,470,630,720,820 ; starting shoot forces for different gravity flyDelayTable .by 255,150,75,35,1 seppukuTable .by 255, 45,25,15,9 mountainsDeltaTableH .by 0,1,3,5,7 diff --git a/scorch.asm b/scorch.asm index 1d5309c..0d14218 100644 --- a/scorch.asm +++ b/scorch.asm @@ -744,16 +744,16 @@ ldahashzero NotNegativeEnergy sta Energy,x ;now increase the gain of the shooting tank - phx - ldx TankNr + ; phx + ldy TankNr clc - lda gainL,x + lda gainL,y adc EnergyDecrease - sta gainL,x - lda gainH,x + sta gainL,y + lda gainH,y adc #$00 - sta gainH,x - plx + sta gainH,y + ; plx rts .endp diff --git a/scorch.xex b/scorch.xex index 310e6c9f8fd52fad954d0b3bca8122b90fd94c6a..a8f2aed56f0cdddf2e3349308989ccc526ed8593 100644 GIT binary patch delta 15885 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 H7t;O*9f_!F delta 15866 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 Date: Sun, 31 Jul 2022 23:56:47 +0200 Subject: [PATCH 33/88] Small loop ptimisation --- scorch.asm | 10 +++++----- scorch.xex | Bin 41536 -> 41532 bytes 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scorch.asm b/scorch.asm index 0d14218..1bab099 100644 --- a/scorch.asm +++ b/scorch.asm @@ -519,16 +519,16 @@ AfterExplode NoFallDown2 ;here tanks are falling down mva tankNr tempor2 - mvx #0 TankNr - + ldx NumberOfPlayers + dex TanksFallDown + stx TankNr lda eXistenZ,x beq NoExistNoFall jsr TankFalls NoExistNoFall - inc:ldx TankNr - cpx NumberOfPlayers - bne TanksFallDown + dex + bpl TanksFallDown mva tempor2 TankNr missed diff --git a/scorch.xex b/scorch.xex index a8f2aed56f0cdddf2e3349308989ccc526ed8593..b2ba93174ee07400d80005bca5464331d5041443 100644 GIT binary patch delta 15823 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 delta 15571 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 oerU$?Z?2SUkd1) Date: Mon, 1 Aug 2022 10:12:23 +0200 Subject: [PATCH 34/88] Fix for Blue Zombie tank :) --- .gitignore | 2 ++ ai.asm | 4 ++-- scorch.xex | Bin 41532 -> 41532 bytes 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5b9bd87..f538938 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *.bak +scorch.lab +scorch.lst diff --git a/ai.asm b/ai.asm index dae0703..362ff9d 100644 --- a/ai.asm +++ b/ai.asm @@ -702,7 +702,7 @@ GroundHitInSecondLoopR jmp SecondLoopR HitOnLeftSideOfTargetR ; decrease energy (a little) - sbw Energy #5 + sbw Force #5 NoHitInSecondLoopR ; Angle 1 deg to right and end loop dec NewAngle @@ -781,7 +781,7 @@ GroundHitInSecondLoopL jmp SecondLoopL HitOnRightSideOfTargetL ; decrease energy (a little) - sbw Energy #5 + sbw Force #5 NoHitInSecondLoopL ; Angle 1 deg to left and end loop inc NewAngle diff --git a/scorch.xex b/scorch.xex index b2ba93174ee07400d80005bca5464331d5041443..248fca42671cf76a11a53f6e2c14ff1ee4df1ab3 100644 GIT binary patch delta 44 pcmdmUglW$arVTdLJi_x|vi1tk-@trMWd3B2>Pi%W&1b9g)c~zq6A1tS delta 44 pcmdmUglW$arVTdLJW}&svi3^N+rWHIdfsG@>Pi%W&1b9g)c~+V6D Date: Mon, 1 Aug 2022 21:54:41 +0200 Subject: [PATCH 35/88] Faster AI (and fixed) Correcion for barrel wider tjan tank (2 pixels) --- ai.asm | 56 ++++++++++++++++++++++++++++----------------------- grafproc.asm | 7 ++++--- scorch.xex | Bin 41532 -> 41575 bytes 3 files changed, 35 insertions(+), 28 deletions(-) diff --git a/ai.asm b/ai.asm index 362ff9d..12e4c19 100644 --- a/ai.asm +++ b/ai.asm @@ -605,7 +605,13 @@ skipThisPlayer ; in the appropriate variables (Angle and Force) ;---------------------------------------------- ; set initial Angle and Force values - mva #90 NewAngle + ; wind correction 90+(wind/8) + mwa Wind temp2 + :7 lsrw temp2 + clc + lda #90 + adc temp2 + sta NewAngle lda OptionsTable+2 ; selected gravity asl tay @@ -653,24 +659,24 @@ GroundHitInFirstLoopR lda xTanksTableL,y cmp XHit @ - bcc HitOnRightSideOfTargetR + bcs HitOnRightSideOfTargetR ; continue targeting - sec + clc lda NewAngle - sbc #5 ; 5 deg to right - cmp #15 - beq EndOfFirstLoopR + adc #5 ; 5 deg to right + cmp #(180-20) + bcs EndOfFirstLoopR ; if angle 180-20 or higher sta NewAngle jmp AimingRight NoHitInFirstLoopR ; Angle 5 deg to left and end loop - clc + sec lda NewAngle - adc #5 + sbc #5 sta NewAngle HitOnRightSideOfTargetR EndOfFirstLoopR - mva #5 temp2 ; set counter (5 turns) + mva #5 modify ; set counter (5 turns) SecondLoopR ; make test Shoot (Flight) jsr SetStartAndFlight @@ -694,10 +700,10 @@ GroundHitInSecondLoopR lda xTanksTableL,y cmp XHit @ - bcs HitOnLeftSideOfTargetR + bcc HitOnLeftSideOfTargetR ; continue targeting - inc NewAngle ; 1 deg to left - dec temp2 ; max 5 turns + dec NewAngle ; 1 deg to left + dec modify ; max 5 turns beq EndOfSecondLoopR jmp SecondLoopR HitOnLeftSideOfTargetR @@ -705,7 +711,7 @@ HitOnLeftSideOfTargetR sbw Force #5 NoHitInSecondLoopR ; Angle 1 deg to right and end loop - dec NewAngle + inc NewAngle EndOfSecondLoopR rts @@ -732,24 +738,24 @@ GroundHitInFirstLoopL lda xTanksTableL,y cmp XHit @ - bcs HitOnLeftSideOfTargetL + bcc HitOnLeftSideOfTargetL ; continue targeting - clc + sec lda NewAngle - adc #5 ; 5 deg to left - cmp #(180-15) - beq EndOfFirstLoopL + sbc #5 ; 5 deg to left + cmp #21 + bcc EndOfFirstLoopL ; if angle 180-20 or higher sta NewAngle jmp AimingLeft NoHitInFirstLoopL ; Angle 5 deg to right and end loop - sec + clc lda NewAngle - sbc #5 + adc #5 sta NewAngle HitOnLeftSideOfTargetL EndOfFirstLoopL - mva #5 temp2 ; set counter (5 turns) + mva #5 modify ; set counter (5 turns) SecondLoopL ; make test Shoot (Flight) jsr SetStartAndFlight @@ -773,10 +779,10 @@ GroundHitInSecondLoopL lda xTanksTableL,y cmp XHit @ - bcc HitOnRightSideOfTargetL + bcs HitOnRightSideOfTargetL ; continue targeting - dec NewAngle ; 1 deg to right - dec temp2 ; max 5 turns + inc NewAngle ; 1 deg to right + dec modify ; max 5 turns beq EndOfSecondLoopL jmp SecondLoopL HitOnRightSideOfTargetL @@ -784,7 +790,7 @@ HitOnRightSideOfTargetL sbw Force #5 NoHitInSecondLoopL ; Angle 1 deg to left and end loop - inc NewAngle + dec NewAngle EndOfSecondLoopL rts diff --git a/grafproc.asm b/grafproc.asm index 065c9c7..ae581e2 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1028,9 +1028,10 @@ FallingLeft bit PreviousFall ; bit 6 - right bvs EndLeftFall ; we finish falling left if the tank reached the edge of the screen - lda XtanksTableL,x - bne NotLeftEdge lda XtanksTableH,x + bne NotLeftEdge + lda XtanksTableL,x + cmp #2 ; 2 pixels correction due to a barrel wider than tank beq EndLeftFall NotLeftEdge ; tank is falling left - modify coorinates @@ -1055,7 +1056,7 @@ FallingRight lda XtanksTableH,x adc #0 sta temp+1 - cpw temp #screenwidth + cpw temp #screenwidth-2 ; 2 pixels correction due to a barrel wider than tank beq EndRightFall ; tank is falling right - modify coorinates sec diff --git a/scorch.xex b/scorch.xex index 248fca42671cf76a11a53f6e2c14ff1ee4df1ab3..39daa27469e27b914f79a469d4e13ccf01563ebd 100644 GIT binary patch delta 14636 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 WKQHgpI|j$Zos&9}ox@Ap82%3&d=0Vy delta 14628 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 From 84da6fb7a0a84de183bdf6d4f79c0182b98d5c44 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 1 Aug 2022 23:12:48 +0200 Subject: [PATCH 36/88] Cyborg aiming fix --- ai.asm | 5 +++-- scorch.xex | Bin 41575 -> 41577 bytes 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ai.asm b/ai.asm index 12e4c19..dec4396 100644 --- a/ai.asm +++ b/ai.asm @@ -441,8 +441,9 @@ HighForce ; direcion of shoot in A (0 - left, >0 - right) ;---------------------------------------------- jsr MakeLowResDistances - lda #$ff + lda #101 sta temp2 ; max possible energy + lda #0 sta tempor2 ; direction of shoot ;ldx TankNr ldy NumberOfPlayers @@ -635,7 +636,7 @@ skipThisPlayer mva #$ff TestFlightFlag ; check targeting direction lda tempor2 - jeq AimingLeft + jne AimingLeft AimingRight ; make test Shoot (Flight) jsr SetStartAndFlight diff --git a/scorch.xex b/scorch.xex index 39daa27469e27b914f79a469d4e13ccf01563ebd..f8faf11bedd1ce1543216ebbe7b95060051b8f8f 100644 GIT binary patch delta 14021 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 btZw_?=B8K5O);mWZp59{ZSzyr=TiP3HQC;| delta 14059 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 DrIO~W From 3a836fa072384e16d65467e4f49c2f593bfa6bc0 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 1 Aug 2022 23:26:06 +0200 Subject: [PATCH 37/88] Better aiming (lower tank position - more force) --- ai.asm | 7 ++++++- scorch.xex | Bin 41577 -> 41585 bytes 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ai.asm b/ai.asm index dec4396..01ee367 100644 --- a/ai.asm +++ b/ai.asm @@ -616,10 +616,15 @@ skipThisPlayer lda OptionsTable+2 ; selected gravity asl tay + ; force correction - lower tank Y position - higher possible force + clc + lda #screenheight + sbc Ytankstable,x + sta temp2 clc lda AIForceTable,y sta RandBoundaryLow - adc #60 + adc temp2 sta RandBoundaryHigh lda AIForceTable+1,y sta RandBoundaryLow+1 diff --git a/scorch.xex b/scorch.xex index f8faf11bedd1ce1543216ebbe7b95060051b8f8f..21c3e9b330fdc09a6fb7e587d127d7d6a426dcf5 100644 GIT binary patch delta 14145 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 delta 14121 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 Date: Tue, 2 Aug 2022 11:20:51 +0200 Subject: [PATCH 38/88] To high parachute bug fixed! --- grafproc.asm | 5 ++++- scorch.xex | Bin 41585 -> 41588 bytes 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/grafproc.asm b/grafproc.asm index ae581e2..e3e1d19 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -894,11 +894,14 @@ tankflash_loop lda #char_parachute_______ ; parachute symbol sta CharCode lda Ytankstable,x - sec + cmp #16 + bcc ToHighToParachute + ;sec sbc #8 sta ydraw jsr SetupXYdraw.X jsr TypeChar +ToHighToParachute rts .endp diff --git a/scorch.xex b/scorch.xex index 21c3e9b330fdc09a6fb7e587d127d7d6a426dcf5..e3526ad71b5f7dc1c678897d7ded388c89d814a5 100644 GIT binary patch delta 14511 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 GnE1a{_qx3R delta 14654 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 rr?UNj;^CLNir>Fv5ih)C7l*kMx7po8O) Date: Tue, 2 Aug 2022 14:40:12 +0200 Subject: [PATCH 39/88] Better set PM width (prepare to new Game Over screen) --- scorch.asm | 63 +++++++++++++++++++++++++++++++-------------------- scorch.xex | Bin 41588 -> 41611 bytes textproc.asm | 37 +++++++++++++++++++++++++++++- 3 files changed, 74 insertions(+), 26 deletions(-) diff --git a/scorch.asm b/scorch.asm index 1bab099..c476ff8 100644 --- a/scorch.asm +++ b/scorch.asm @@ -178,21 +178,8 @@ MainGameLoop jsr RmtSongSelect jsr DisplayResults - ;check demo mode - ldx numberOfPlayers - dex -checkForHuman ; if all in skillTable other than 0 then switch to DEMO MODE - lda skillTable,x - beq peopleAreHere - dex - bpl checkForHuman - ; no people, just wait a bit - pause 150 - jmp noKey + jsr DemoModeOrKey -peopleAreHere - jsr getkey -noKey ldx NumberOfPlayers dex CalculateGains @@ -244,8 +231,10 @@ skipzeroing bpl CalculateGains lda GameIsOver - jne START - + beq NoGameOverYet + ;jsr GameOverScreen + jmp START +NoGameOverYet inc CurrentRoundNr lda #$0 sta dmactls ; issue #72 @@ -269,9 +258,8 @@ skipzeroing lda #song_ingame jsr RmtSongSelect + jsr SetPMWidth lda #0 - sta sizep0 ; P0-P1 widths - sta sizep0+1 sta colpf2s ; status line "off" sta colpf1s @@ -928,13 +916,7 @@ SetunPlots ; sta dmactls lda #$03 ; P/M on sta pmcntl - lda #$00 - sta sizep0 ; P0-P3 widths - sta sizep0+1 - sta sizep0+2 - sta sizep0+3 - lda #%01010101 - sta sizem ; all missiles, double width + jsr SetPMWidth lda #%00100000 ; P/M priorities (multicolor players on) sta gtictls jsr PMoutofScreen @@ -974,6 +956,17 @@ ClearResults rts .endp ;-------------------------------------------------- +.proc SetPMWidth + lda #$00 + sta sizep0 ; P0-P3 widths + sta sizep0+1 + sta sizep0+2 + sta sizep0+3 + lda #%01010101 + sta sizem ; all missiles, double width + rts +.endp +;-------------------------------------------------- .proc DLIinterruptGraph ;sta dliA ;sty dliY @@ -1393,6 +1386,26 @@ getkeyend bne WaitForKeyRelease rts .endp +;-------------------------------------------------- +.proc DemoModeOrKey +;-------------------------------------------------- + ;check demo mode + ldx numberOfPlayers + dex +checkForHuman ; if all in skillTable other than 0 then switch to DEMO MODE + lda skillTable,x + beq peopleAreHere + dex + bpl checkForHuman + ; no people, just wait a bit + pause 150 + jmp noKey + +peopleAreHere + jsr getkey +noKey + rts +.endp ;-------------------------------------------------- .proc RmtSongSelect diff --git a/scorch.xex b/scorch.xex index e3526ad71b5f7dc1c678897d7ded388c89d814a5..5057b836d2205dc73d33d2bef83b478ae58f3d13 100644 GIT binary patch delta 15921 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 z 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 diff --git a/textproc.asm b/textproc.asm index aeaa30c..da7a0a9 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1832,11 +1832,46 @@ FinishResultDisplay lda #%00111110 ; normal screen width, DL on, P/M on sta dmactls lda #%00100100 ; playfield before P/M - sta gtictls + sta gtictls + jsr SetPMWidth jsr ColorsOfSprites mva #0 colpf1s mva #TextForegroundColor colpf2s VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen + ; make text and color lines for each tank +; ldx NumberOfPlayers ;we start from the highest (best) tank +; dex ;and it is the last one +; stx ResultOfTankNr ;in TankSequence table +; ldy #0 ;witch line we are coloring +;FinalResultOfTheNextPlayer +; ldx ResultOfTankNr ;we are after a round, so we can use TankNr +; lda TankSequence,x ;and we keep here real number if the tank +; tax +; stx TankNr ;for which we are displaying results +; lda TankStatusColoursTable,x +; sta GameOverColoursTable,y +; ; +; iny +; dec ResultOfTankNr +; beq FinalResultOfTheNextPlayer +;MakeBlackLines +; cpy #$06 +; beq AllLinesReady +; lda #0 ; black line color for rest of tanks +; sta GameOverColoursTable,y +; iny +; bne MakeBlackLines +;AllLinesReady + ldx #(MaxPlayers-1) +MakeAllTanksVisible + lda #99 + sta eXistenZ,x + lda #0 + sta ActiveDefenceWeapon,x + dex + bpl MakeAllTanksVisible + + ; start music and animations lda #song_game_over jsr RmtSongSelect ; initial tank positions randomization From 8775e0b42e8d3c7a4622a114717b1d10f191ad61 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 2 Aug 2022 19:49:51 +0200 Subject: [PATCH 40/88] Colored lines on Game Over screen --- scorch.xex | Bin 41611 -> 41653 bytes textproc.asm | 50 +++++++++++++++++++++++++++----------------------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/scorch.xex b/scorch.xex index 5057b836d2205dc73d33d2bef83b478ae58f3d13..fdbc7f22d55b02d4fb9e8feeeca661f62b196cdb 100644 GIT binary patch delta 15189 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 W5zjbFbcW~>y_o|K?5g@U@qYm(zmb*z delta 15126 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 S=rl5scxUzB{dUcn)c*x|c)20~ diff --git a/textproc.asm b/textproc.asm index da7a0a9..07ea6c8 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1839,29 +1839,33 @@ FinishResultDisplay mva #TextForegroundColor colpf2s VDLI DLIinterruptGameOver ; jsr SetDLI for Game Over screen ; make text and color lines for each tank -; ldx NumberOfPlayers ;we start from the highest (best) tank -; dex ;and it is the last one -; stx ResultOfTankNr ;in TankSequence table -; ldy #0 ;witch line we are coloring -;FinalResultOfTheNextPlayer -; ldx ResultOfTankNr ;we are after a round, so we can use TankNr -; lda TankSequence,x ;and we keep here real number if the tank -; tax -; stx TankNr ;for which we are displaying results -; lda TankStatusColoursTable,x -; sta GameOverColoursTable,y -; ; -; iny -; dec ResultOfTankNr -; beq FinalResultOfTheNextPlayer -;MakeBlackLines -; cpy #$06 -; beq AllLinesReady -; lda #0 ; black line color for rest of tanks -; sta GameOverColoursTable,y -; iny -; bne MakeBlackLines -;AllLinesReady + ldx NumberOfPlayers ;we start from the highest (best) tank + dex ;and it is the last one + stx ResultOfTankNr ;in TankSequence table + ldy #0 ;witch line we are coloring +FinalResultOfTheNextPlayer + ldx ResultOfTankNr ;we are after a round, so we can use TankNr + lda TankSequence,x ;and we keep here real number if the tank + tax + stx TankNr ;for which we are displaying results + lda TankStatusColoursTable,x + sta GameOverColoursTable,y + ; Y - line number (from 0 to 5) + ; X - TanNr + ; let's make texts + + ; + iny + dec ResultOfTankNr + bpl FinalResultOfTheNextPlayer +MakeBlackLines + cpy #$06 + beq AllLinesReady + lda #0 ; black line color for rest of tanks + sta GameOverColoursTable,y + iny + bne MakeBlackLines +AllLinesReady ldx #(MaxPlayers-1) MakeAllTanksVisible lda #99 From 823be97490f0c5773424eb7af857027b6ebbccf9 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 2 Aug 2022 20:52:22 +0200 Subject: [PATCH 41/88] Tank names and points on Game Over screen --- scorch.xex | Bin 41653 -> 41752 bytes textproc.asm | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/scorch.xex b/scorch.xex index fdbc7f22d55b02d4fb9e8feeeca661f62b196cdb..fd23e25554a00aa05908c88739d603fd247b6513 100644 GIT binary patch delta 15422 zcmbt*349bq+V@N*w?GEDhPz=AMLEK;GKk#D5}ZZcRlIfNk^qT#uyS{VXCe0OK zx{9$oq+^<$i0m3)XFog$nMl~yRq+DR<%*gxClDofHhk7QU(w%{qYlr?$<2k- zGHCL2t&3PIkVHYf1C9B`083eipnZX}u`FobB21$q+A z9_UB7m!}1&QtzyX<=oo8a7`<@=D%>yujanYucv#_9EXMCqw7fX{RFPO4$NlXYZs615ZF00Hmz-Z-%%x=LDepyk z87W+JG5jC3dp#LW+H-2__EE%%|y`>!K+q=I5bL{^HZR@cp zPajJ(E!LT{2#v~N1F+GTLm9OfGsxc7N3`xz4+v`fD6J@^*1UalOWO076rId1=tLRtk3^N4k<|KVM(LAMVO1RDYl=VWG?)J}9GS zXdjeMN~e#P8ttlOl*@iz~kGFufv8x46dKUxLYbjUp zglES+S^^xvKpopa@i9>MUxNC!fqurw?YKuRo@P0>Wp7);HiHF1@r)?RK11|kD)P+) z6R=ix>nBNLf_RdI9EVO3Zs>z7pnA15CVul1rcu95;IGMZYVEI(ht7JN`SsLmO4t8Q z#5AfOC!&+ajOj@AQ>4)*UQd}nx>&5&w&JR8qJt3GfdbfxVj7EQ*tCkW$QPN42>TQw zEX=ftUlK9v1kux|_-~>+sd${|9VvXEUr)tTmS5lrj0tKy4FAOi_fyre};Hc@4g1cVPW`dppq;UJe|!v{S;C2#3e+{7oR4(pCM{a;5mQ; zs{jrZ030YmjBezdz8aW?X8jWgEEG53(Db-Qnl3M}s}Q3ey`BJh}YcE&wxQ zz)S{Y@poN1Hz>)qx`04KxC9$Kl!OaNq|TS19RSP|zI#xT;CBOd!f(+)ATwkOltCi$ zf>oFlzzca0Amp!~1`8Kd);qsE^elmS7}9(1*1GV_>r7*!D>FW8D-jCS+=v}pSWe`& z&=;PAymmcvYVx(5`b$jAsn_61uzbn}rd@2nma^gFkw01EXEs~blgDa}i{ZTYA}U(Z zu_f+3&<1Lu0;nf5_L8`nE%GhIbKzdZTdGv(yA+{7uTTU**A!tb=HohyZV6R$c~PVo z-VGGP`vO%9L?2ZJ(NER2VkuSEi4tXdwXEfc`(-ZmS%}>)&)7+_DVbsZ=hkj-qD0uG z?iyszVB5Q1La{7FD&*=LsF0_>K!tqWN1@(Np}v#~YjueV>rAm+D*tTlF5@lC(`$1= zUk2g2nsF$B&c#w;yJnEEJi@cIIY{uI9wZHGsqakCwqX=Ky&*^}Obq<3DciI^wtA7c zXZ{IG)s^WG3dUgRx-xBofb`Mb7-#tgb0ziJ1(o_vVmz)>COve&zLvVtQ&*-vH8r&Y zS-Mm@^#=Y&+2{=ga|m{vwZ+(uHI~V-ZGG?a<;94{^_XX$++!_nEtPq)&HR&jNSX3s zt%{G@{Mx+M&KStB*np$^SM=5Dkzw`7%f0+(ty>2WSz&IA8RoW9TlE$(OFBEvCC&Ro z&k>!4E8s$2L4Gu&A&W%ge3RW`7GdGAq{Y9+FmA~jeX;cNABOO;2#blKvUOjM>BJ(K zcEHN78DVSO)m1Dpy&Ox7#d@|Ev;B?QH0aiX!d92MWnK=<*g7v)*jl}X8KEB`&Sd=p zNwJF;2r{$9EW%_Fb!#MumA56rcaC;dx4Z<2tfsTrrY+GY0dE zNxCaykG8YSw0^2Exi+^p=PDs=WTJ7b6aFo5HP+Xkd3`f69EY}$Lz{`dg+y#fcQ@l# z)Zww;$6PmuAiVrM!!>hTE6?QyCOyp#!+W1cF5697Gri9(IPMA>_S;+&<@&3E5@QZ!*zPps5b zq}slNVDtQYminrbokd@bbPx42rIZ&RMIzplL@pcckM_fS#LDf*l5_CK2;4w7nnIG8 z5>QF+-qjU}t7UubG9=-Mt{8NN*7l$pVJZi@jRpj6?0F!IH%)CLyTYXYSFs?&XJTKm z#M*x*mS=veT?Pv5SWIpxWU7zRY2Bc_y!g^cfj{jo+c5T42^bG8V&IhuK7cI?m{f z)+m;Mo*_s)F|LP+(Gh+`JKWC%b!S6J6(pkAm012+p|Jc@Q;>gx`7A*O$`aHQM0lmb zh3uH+a7d3?5~rUe@A^Y296$6ys2D}PKx3sG$4UVTVdxaX5R_&R1R%?#>kNBc$%h1J z@f!lX*hIi2HWF}&UlE*8_Omei2@yXf;%5Y`EYb;iLVkxcWN4J^ZYCRw>9L1>?V<4k zaj$QDsM5oiJqRAOw1=9SNo9EHdhtBb(dBQ69wp*;tRv@0Fgg1?@%3`)-;ylI|Agq@ zkt}HWl<4P37Ib|^hJH(ien*C$BlX6=z;lG?7f6)DY2Bp9Z<8FqO=|o;LO`VPHt{GC zKPTcbW*>}8(q3`@MoYkW)U*WbpPQB(V{(3G$rlJ*CrA@$a85W$nm~i&!70-81sflJ z@L`gElUx6sG)*$49An3oV?_Ug{r-YD+gZ*}G#sA7M_u}tX1~8=o@f2WpdTk$=*n@z z1l{1$KOtF@O%HuavQW5yhdv`&s9bzT^dlq-r3-kbkqz}%Y^cBC*;qGWtl9V%u<;kz z_^)N-zYcr%l_PxR$PaiWy}jOv8p--7Rt@{}Y@Bb5g|NXn46NxLAPLD|0@x#ye7z8m zcd&pQVB3?-HbTN?bO!P8pF9kDGa#NMk%%t=E$4V<%+DtyG$u2RD7~%mWId$sU?c(7 z37PeQpbsEnSZMpr+b;T_+qUmkeMq87g_z`?KRk*_)QJvw#p&=IdxUk4{Wcqw^{lcu z4uDgSMBGsZw<>7pqgg^jH_grsPJPcgzzstiuLlaJ;s6;OAkJ|vfHDUFI#W2_^(mrZCK)0>Ia zzM7wp)yu3nfoUXSVP7Ro#2gE-3Fd~Q8`=3DzQ)|d>6Qf!&$tK8O`Do0fbYa41miKW13H`4ftT5o4*Z>9CI?<8`llrD2AjiyS~h_L?;s!q44h65 zxq!-?E56B)nJ6wZG=3k1ou87%x#C+40Xyp$0>2xG$x$c19pi{F1P_)&7E7JDKgLoY zWBDfwYO$K97Aw01FK_sOG=D(!4@e||?Fr%sWcLTe81rkZ{6DX69!n=|pnU9!KJE(Z zWc3@&58;=|>RRTC@ZZVmcbGSR)53-^9})3m7G035<=`v59Tu&5)|-eHq_IT_>5+-P z1Q2{goH~d)8A*db0|g%G=8Ntn_cLBhzZ9GcF1(WhA()s*G?6Pe`5a>w^SY zyAO#knn;w}ZzIF~e!sqrWLyTYzTSDNZr@GD%Nq7(c1)T}P?pDJozE8Klgt!|_lAx2 z7=^N8p|skcaoO+pwp3m2!WnIUp6`yv`2BgI@nM|3#$8o-xy6;qCs&xk4Aq#pw{v_w zPH)H{^>E)W;<&fose5qNpABJB0<$6NuoVAvU3$Z<9t)t>1 zqAxNhDX%XikqN$3Z31xU)FR?mbDBW80F+Ij%p`iInQQ{W8uLg)ChEibT+*idMkF!XVRuA&XVy@@PUh~J!@ZWV+q{U1q#4&Y*U5UF97#4#YDr?9 z>?xTY>0q=!R3|$>z$CB$iAKlWb@I`5a(JEW{KutrCRLKr2|zReL|EAcG-GaOI6UWP zgsh;+ynjXb2fg^OfQI<+4+g zPS@>AHqON|XxwOuITW{ExKaF6JDh zwvQ*$XuG<7>BjdIM?-GHf|3=KTe-lTV$$^wkKk9)X!}DesI#|ek!SmS)?jUr@=_OSrh zycO)a`-ih7n9rCWKU9}sMz^gvSM}cI!$tqz$Xs8%Hpjo0FEQsDH2!5Slh?tLhY&cD zcz(*TgksG`h8yj)UhL?|?!AqEIJ|W}GKLswT5kr7r99Cdh@3TV_>n%fsjS|M(zbsu zq+v|PkZ3!M$^sfqs@vx@zQ2*$4lbvmA4*nGD{Po(3>wfku|Yey%*0BkAK^M+1k$xL znBun!!tNDP*GGrhS4dMI?PFgp&3lyVwVFobgO};88&XDjRb3Wn(fcVox&l!n#P z&PPWKv@XC`vG)g2yVqKGvT@3bt;1ZJB99VXj`YK${iob7M^nnSPc#?Zw^|N9OV-fV zz!bdU2v=%tfxW|bmhN6djkrM*0-)D&@bg%5^!*KMq{ki`z^|cEd%X#Sk9JH91SW1+ zLp^U~HuF^HX(Yu=cX-O}TL|DG6NuTD3`;B!h)@bdGm_#n) z%8LOAY?G;Ef4tKz_sdo{yy4uEK&)}jyc+iglfws!u%Q`6NGejk;iUy4($@RHK9JX+}dT+gEoOG=IY`pQxfeOhNiVerQNietbCu9&tI#iFLQTdz+KJj*Icug9!Cy0zNZ&nvU$@PQS}JZ)REip> zOZBtl1;HgKJ?`z!Z)Lad+ZDY`!Fha}B9vBbSE~JkCWs#@`gSEX)s?kb5pcVmwM7v$ zeXAl=a$n~(Z-=mk?TYc9clQn@?B6byDdG4X;x^?pehH<3pp38jn;=zEOPe5fBkuYs zw`!5s49%|0`*Fu?%anPcRP}=!25wVO=JZDsS-8GXSXV%mVn&Z_Bw{@tsER210cK_$ z%&hjKLNkb2Sr7a4cbIhtE$dtWWyXv33QjQZD9sVYvuCjv_f`K?^nWViL517-6h2UA z0fg7?5)UZada+JH4qDHg@lFewwz!on#<>0|%;d-|MiP<$+@E4>SY_*{49y|zHWdJV zSkWH(Eh1}o8}E8G>HHHN`D+=50QSGJtIdMns{F&+@~Fd8l;!34ci81L?7jmIiS_gf z7wLtx;RQK51iP5_5A2vScFZY@w7twe`PzPq-l$!NQj<31SNZ^z@5-iw`74IzRcmPC zV2Re}SGY~apYx&A4?dPyZZH(>epISuVe4)~VOQeCtsHnj;0Od|a~@VyZy7X!KaFPH zv1H>rrMM=IuzuQDdhk-Lvq%qmh%d>SL;S0Z93v!a!C&cns~&u?$@c0~hYSU0pMRoa z$jtM6n{8pB#2Vo{ub6rsZLxNi!Hcf)ECZ+g(j5TD-bnR$TDoKIDBkKiwOO66T+7}r zm2H%_PDAwfBl?#XrgvZw;3mP3o6%CwkR{aKnk)JJ2zM#Qd4%*fFEHxskfD^aT!v*z zHeu6(iaPYkxoux!6iWc|>x^@F<~1k4JJ^wU435O#nG+zGz>1W4xJx#>0a0B6GegPB>Z(zrY$g&-2_wy&fI?b*jeKucFEUAlA3B!Tt3Mv zoU(yl8A}0?wy|0#3rYy+jzs^!(n9ACtn+83h4XsH;by34USHQ)GjfU`Nvrmk9h!t7 zjh91Wj z8^DT5(d%H}OY^zwkqu|ZvSDvky9I>C`+^xA|MZ+o-90ZP>{kCeuUh!4zFqPz=*q8pPL;7; z5bPB@;b&GE-cAPD4W~<$=55Cv|HgScgnSQu&aG}gA)&qF#6}bgK@-Pl{PW6$9JO@b zHX+yZHfYLD_|e{WqEyHoykB;vHd7SNnsNL0=b1B5ylap8ngh2ztV}Rg%}*cATQ`!% zFdPHTEz&&PQ=6LiuHVX(jJh5L<6~PGuIs z9+g=S+u3ckR zdbP_zo3wdhCO@5E5o5{MJI`S%j-%pu7Mdrp7aQ!xE~(-mUUz+qT*qiau49~b>Er0? zXG%a>Hl5Wk$5VYgEt^T2!7_oe_fz|=XJLI^t09}wT$)MTs2DV+p%ro*ok`FbbO{X{ zW~a%goy#@r2Z##~qY@T6Ak-=6azZ{FF3i@m=lb;3aEe ziTUmnLC3$i=cv)kJ+;fY(aX7tmX9X(q4g085j)+O2oS?lyWYaeb;*;CE$))Y0xb8L z)Gw=d3M_4HjhHo-Z@HYV^&4lAJNPl0Eg1{5|eayleg**T9!sJ9?tLSbf=;Y>F}xXdE6cFcU@_ zJ@M_Dieim}fl$I?2Ea_V7lInGvx;qVP=T4_$y!O1YL=Jme>pm0|DI?bWxBztAUXBxq_XiH9$?;Zc<#Z*%T|Cr+C|HucBafxq1lC( z3-%zQ-Lt~nzHv%2#k4aAfStsweuB%<=3ZzsAAwzXs&9|Z*t&wkW^j+9$nrNu>Y_>P z%>Wma(wFq>7(+9R2^|ZlYw{6xzC;ZT0cIYGzAk*SxQqrX<(kd=gaB*4DBvW`O2lmJ zu45tFAMpD?x!LR>bg`S)E+^4(px3S1EhHBfz+t_QG z)c1yz%7`TF!!IMAu;6AFZ#RFZRh~Y5dc#=C{pERUW7=fC3E8aXQJa60emjl!ck5$l z69Ul~s^3PN+!Rvr5xFUJBkEbVQ%}z|E>L8(P-O9~B-ED>w1Y&*vnILP@=R)CH2Kh2 zY7~3QR%79@%hRirYjsTd&v}ebS?-OeTr6T=#2eNP7fJXM5ybEhMA#5crWIia^@}Q> zk4v_AJglhmu~&2$w>G^#hvzm#1EE086$G_lP?Gq2I#rloFhBNxrC|3(vK6n1%kx-C zxd6gZR2GB{yMIshQPgN(T_Cony=RyB3p_urF&pC+q5&?wJ;eiLRSXQfMAQv%>JsX2p^Dw(3>>H<@X zx4OVo;8k;{t2qm&PZtWx^IpG_y1F3a^0?V0%#Zn6o%=+dcq^MNp8w)wtgH%nlTd(+ zTsU+qH5$EYp-=?s^@&9T*AKM*&#!l>MVS|bB6WS{4q-h_sxHd7Ts8oYs>=qWzHpXd zlZ7J4Xu);HBrEI1aKGwKHP79cRB8Is>>&IYojap5&F)2KbfMY3>5Q&4yAS1ObfejQ z=?oXm=ID&>G`k<2(Sv69r!#ue?B7v$_5hkam}cKVvxm^^fi!z4&AyRl52M*P(d=}Z zJ&0xxr`b2t>=88k7MeX0#gQFsze>YipA;BC1B0=NUI^OY)XsF=0E&_)K6}w|gYj7i z2k|W)I*o(cCtm%q5@m0H4lDYH3gS*2zCU2!(=E?2cRb(fEL+e~T{QRu#TkDy{-vZr zAs(X-rdl+>ycFn#LTphcXSuK5`7dO$1;}KtoPT`V1XL?gJ^Go)M*Y%bmc#y|W9p5A zvF;8&tT-K4^x0~+bUfB?>D1C2`B_N5*epVXHvdFI$VGmEECN{t?o_z}d2G#HAd!cC zE;n8@uqB&-3^X?r$s6L<1>)=+d)&ZKjusTs{zeBf)ci&!8_yo_sG*rjNxb3#!cp^q z0$whBP6R5vh}ZhN^b5r3h8#8P6M!HPal+E&*_Y>5X_EzpP=N6>7g=l5QG&EJ53QIw zECjq2+>69`m!js16^fcCYKoU8v{bN!(y68M{p|lL?=O3V6gp3OQ!5G!YqLH%%;8w3*_YtlaaK zqH*j`8XWkO2JW?K-f*STJEZh}U5O6GXXGJNq8k$;si72KAKsOj5UC7x1GhUIQW_KR zuqgbxf?XD`k&fkKGe%rv?}a1O=VZzshw?Reo?WgO9awub+Oy2IhTGz6Xy?9}hQA5G zAFSYU4gO{Y2S5DT3grq>7yEx(1N=zh5-yTXO7s-S7%Gb{4emu?GQ-=qI6 zBW{~KJ^Vc{NBV?%(c!Qr)rHcu->hll031mOC1~kL0=!JI9g5>a=aG{1MS@`Tpc4!C z4UcvL*9DVnD+sMxx7nM+1)ijW-$ck4aA$;)*@Sy*ZQH2R_?UM_;_CbiyKR3{!E>EP zHnPrCbT{T_7m%5A(QhC#@!*vWHvDU5FEPI!{vYJyhy(>AeoeuM|1Sj)k0}KMF`-%w z`#MjXCrFx22=MIG{&sQn#v1%VR{!uLq3J1A8Km&wY!V$@HJjjY*bu;_D`H9mp00Fv zVUb}eQ1S|Gkj$XyXAY^_pC3rN69xDs|)go$uZFKBYT%?m4r1cSnBJu9s?R8={@L;p6VO>(T52 zarb}KpZl@H;IY#lcz&H2>)&?s-=19G4RP^QeoOXG>b&P4 Ir5Dov8*(K+dH?_b delta 15239 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 Date: Wed, 3 Aug 2022 00:17:11 +0200 Subject: [PATCH 42/88] Game Over screen exit --- scorch.xex | Bin 41752 -> 41756 bytes textproc.asm | 4 +++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scorch.xex b/scorch.xex index fd23e25554a00aa05908c88739d603fd247b6513..0169b450b60951f98f606ec1245ca2c95ed10b9b 100644 GIT binary patch delta 15175 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 diff --git a/textproc.asm b/textproc.asm index bf38327..a46b098 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1945,7 +1945,9 @@ DrawOnlyParachute ldx TankNr dex bpl AllTanksFloatingDown - jmp MainTanksFloatingLoop ; neverending loop + lda kbcode + and #%00000100 + bne MainTanksFloatingLoop ; neverending loop jsr GameOverResultsClear rts RandomizeTankPos From 54cc76464e5037278c796e13a72f3f8708bbbcd3 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 3 Aug 2022 14:36:03 +0200 Subject: [PATCH 43/88] DirectHits and EarnedMoney counters added (for summary) --- display.asm | 2 +- scorch.asm | 39 +++++++++++++++++++++++++++++++++++++-- scorch.xex | Bin 41756 -> 41922 bytes textproc.asm | 22 ++++++++++++++++++---- variables.asm | 8 ++++++++ weapons.asm | 10 ++++++++++ 6 files changed, 74 insertions(+), 7 deletions(-) diff --git a/display.asm b/display.asm index c3ecec9..5deb05c 100644 --- a/display.asm +++ b/display.asm @@ -210,5 +210,5 @@ purchaseTextEnd GameOverTitle dta d" game over "* GameOverTitle2 - dta d" Player Points Hits Money " + dta d" Player Points Hits Earned Money " .endif \ No newline at end of file diff --git a/scorch.asm b/scorch.asm index c476ff8..c6a40e1 100644 --- a/scorch.asm +++ b/scorch.asm @@ -225,10 +225,41 @@ zeromoney lda #0 sta moneyL,x sta moneyH,x - skipzeroing +; and earned money for summary + clc + lda EarnedMoneyL,x + adc gainL,x + sta EarnedMoneyL,x + lda EarnedMoneyH,x + adc gainH,x + sta EarnedMoneyH,x + ; substract lose + ; if lose is greater than money then zero money + lda EarnedMoneyH,x + cmp loseH,x + bcc ezeromoney + bne esubstractlose + lda EarnedMoneyL,x + cmp loseL,x + bcc ezeromoney +esubstractlose + sec + lda EarnedMoneyL,x + sbc loseL,x + sta EarnedMoneyL,x + lda EarnedMoneyH,x + sbc loseH,x + sta EarnedMoneyH,x + jmp eskipzeroing +ezeromoney + lda #0 + sta EarnedMoneyL,x + sta EarnedMoneyH,x +eskipzeroing + dex - bpl CalculateGains + jpl CalculateGains lda GameIsOver beq NoGameOverYet @@ -934,6 +965,10 @@ MakeTanksVisible txa ClearResults sta ResultsTable,x + sta DirectHitsL,x + sta DirectHitsH,x + sta EarnedMoneyL,x + sta EarnedMoneyH,x inx cpx #MaxPlayers bne ClearResults diff --git a/scorch.xex b/scorch.xex index 0169b450b60951f98f606ec1245ca2c95ed10b9b..f99cf4c5d5b51260f914ce47428a73c5d3f864af 100644 GIT binary patch delta 17143 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ÐluS>=cs%J#kXNNqT%x} z9MSNF7~u*Lg!^_MLgqGZq`=J)xKDNl;;Az=H5D1$nbBe))#5_MIZ-IF!PvPt#(Sl@ zkXp9&5g5mbY)m8L_)W&K2^>Qw;^uUUkd4H*54CQ~3wcFl``tYU48QB1i8E7ijP(!k z4kF`0OsoZWgAP4Z&#EK55lRv^U>h6Qh=IesSKtK<#pbLHAkzy^jt}%guWNd*eE4H-+2rhPn zez!OYOy9xZ~5)18oI-D5?V$By~xnk2~57{S(Y>VjAJR3X<~h!b>R zY*I{hH&Xb)2ogxF9zk#*JG~OyEsV)&WEJ(ds2LQC7-GYMuwK}ej53c@AFPfDVQ&b> z{hc_*{s@OX_DlvnwKve)I;>DvxCrC}AzkTJ(w0GOKZgo?e>N&?N*}vU1^-lGkgWd) z72a5krc>eh0TrMQ={0c#p>!Hb(n3NL9R8MYBs9U`DL88Ddq57-nQXCDjmsN-!*-|m zxZNqXal3cyR(Jn*$A7lUx`CyEhwBcAxU*O$;uaxK5}dg8Lu_PEeHq+*XT8HdDw#U* zg-9O0C~PVVT?PhCa@{A+N!y3=<9DAb*V>eDp}gHb#CxxB!CD*6YUQ}!f#Dbr!!fm^ z0f(Fp@F5+w>?n)j%UQ1<_d!$ak9#>k-u_J7qLnBy#d5X39s5P}}=Q{=OrVxC}S@AbosQsIS*S;hEvC8@2-VsK{`Q+aI_g58F z*1qk(;k~=E*5|rNYu|ExiXF<;j4i|U1;XJjgQxjoxb`u98`m_#+xCH%{$PDoajJU< z@>HAYyGVt1e4kR`-8Y-*jb>W=j^Iar_>@2o?>(*nZK!=GHDL!(=*ZeZQrG(Nm--U| zuFLddn08z-i;F$hX;uDdfq|$#8HkA;GX|quzf*t#FTjj<>c>S>468x$U4^%}kNSS^w>=|0a4| z)Ag6f^xr`q5)FtE9ukYkXb&X7dB8!e%i?i;M;VS}Po}{Y=i!w&*90ADk_Q&x=$XYH zB)y!**T8x%_^S$|?}MYt5#f|O%optmd?mc=15xk18Rubg0wY2r`+2`%-+8mg9*b~# z4o30y_5eHN5I^`bt*kRt3LntMgdUZ3c^;vje$YSP<67YHjqvbDJuqtBec$2#DKMJR zW=%bMVT9++WY5X&_VK>y9`l|1&QI{*f6g%3145D7Il;rme-E?>4R22HfR!YVFVTZ* zbcn!b@t7^X%QVod(#Lr$+Xs2TxIJ=Tiy7jijjmaqgiV16`o7hF)EA(Z^!Ha;wkLV~ zQ|wVtmjxbWT4im$W&3y3W%aO6asFPVKIZBExTpIfPxmK0Ri!OQ@mDe0$W7JisafC= t4QES@XVrP0nnygM>1=7(SvAd5v(O`kpDm3ztIqe-JnA_%a^JPs{{_HLnmPag delta 17010 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 diff --git a/textproc.asm b/textproc.asm index a46b098..f254cb7 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1882,13 +1882,27 @@ NextChar adw temp #11 displayposition jsr displaydec mva #0 displayposition ; overwrite first digit - - - ; + ; put hits points on the screen + ldx TankNr + lda DirectHitsL,x + sta decimal + lda DirectHitsH,x + sta decimal+1 + adw temp #20 displayposition + jsr displaydec + mva #0 displayposition ; overwrite first digit + ; put earned money on the screen + ldx TankNr + lda EarnedMoneyL,x + sta decimal + lda EarnedMoneyH,x + sta decimal+1 + adw temp #28 displayposition + jsr displaydec ply iny dec ResultOfTankNr - bpl FinalResultOfTheNextPlayer + jpl FinalResultOfTheNextPlayer MakeBlackLines cpy #$06 beq AllLinesReady diff --git a/variables.asm b/variables.asm index 28bd887..7149620 100644 --- a/variables.asm +++ b/variables.asm @@ -88,6 +88,14 @@ ResultsTable ;the results in the gameeeeee .DS [MaxPlayers] TempResults .DS [MaxPlayers] +DirectHitsH + .DS [MaxPlayers] +DirectHitsL + .DS [MaxPlayers] +EarnedMoneyH + .DS [MaxPlayers] +EarnedMoneyL + .DS [MaxPlayers] ;---------------------------------------------------- ForceTableL ;shooting Force of the tank during the round .DS [MaxPlayers] diff --git a/weapons.asm b/weapons.asm index 1dcd243..0a612b4 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1855,6 +1855,16 @@ EndOfFlight2 lda HitFlag jeq NoHitAtEndOfFight ; RTS only !!! jmi NoTankHitAtEndOfFight + ; tank hit - increase direct hits points + ldx TankNr + inx + cpx HitFlag ; we don't count suicides :) + beq @+ + dex + inc DirectHitsL,x + bne @+ + inc DirectHitsH,x +@ ; tank hit - check defensive weapon of this tank tax dex ; index of tank in X From eed446545e190f49fd6d8fe03cbfe60d72499898 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 3 Aug 2022 15:00:07 +0200 Subject: [PATCH 44/88] 5 digits decimal display added --- scorch.xex | Bin 41922 -> 42024 bytes textproc.asm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++- variables.asm | 2 +- 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/scorch.xex b/scorch.xex index f99cf4c5d5b51260f914ce47428a73c5d3f864af..903df5f8a97cc31c2ec9346506f63ebf30868f3e 100644 GIT binary patch delta 16693 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 Is=rM9U& Date: Wed, 3 Aug 2022 18:13:07 +0200 Subject: [PATCH 45/88] New optimized DisplayDec5 proc --- scorch.xex | Bin 42024 -> 41911 bytes textproc.asm | 170 +++++++++++++++------------------------------------ 2 files changed, 48 insertions(+), 122 deletions(-) diff --git a/scorch.xex b/scorch.xex index 903df5f8a97cc31c2ec9346506f63ebf30868f3e..6b80169e168ee754ee8798a04c2c77fb7b8d768d 100644 GIT binary patch delta 16610 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 E06;yQp8x;= delta 16836 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 e`G`6zu=Rm}7 Date: Fri, 5 Aug 2022 10:12:44 +0200 Subject: [PATCH 46/88] Diferent Cyborg purchase strategy --- ai.asm | 45 +++++++++++++++++++++++++++++++--- constants.asm | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ display.asm | 2 +- scorch.xex | Bin 41911 -> 42051 bytes textproc.asm | 17 +++++++++---- 5 files changed, 121 insertions(+), 9 deletions(-) diff --git a/ai.asm b/ai.asm index 01ee367..cff865a 100644 --- a/ai.asm +++ b/ai.asm @@ -843,8 +843,8 @@ PurchaseAIRoutines .word PoolsharkPurchase-1 ;PoolsharkPurchase .word TosserPurchase-1 ;TosserPurchase .word TosserPurchase-1 ;ChooserPurchase - .word TosserPurchase-1 ;SpoilerPurchase - .word TosserPurchase-1 ;CyborgPurchase + .word CyborgPurchase-1 ;SpoilerPurchase + .word CyborgPurchase-1 ;CyborgPurchase .word TosserPurchase-1 ;UnknownPurchase ;---------------------------------------------- @@ -853,6 +853,16 @@ PurchaseAIRoutines rts .endp ;------- +.proc TryToPurchaseOnePiece2 ; for Cyborg + ; A - weapon number, better it will be in range(1,32) + ; TankNr in X + ; DOES NOT CHANGE X + tay + lda PurchaseMeTable2,y + beq TryToPurchaseOnePiece.SorryNoPurchase + jmp TryToPurchaseOnePiece.PurchaseIt +.endp +;------- .proc TryToPurchaseOnePiece ; A - weapon number, better it will be in range(1,32) ; TankNr in X @@ -860,6 +870,7 @@ PurchaseAIRoutines tay lda PurchaseMeTable,y beq SorryNoPurchase +PurchaseIt lda WeaponPriceL,y sta temp lda WeaponPriceH,y @@ -953,7 +964,7 @@ SorryNoPurchase lda MoneyH,x ; money / 256 sta tempXroller ; perform this many purchase attempts ; first try to buy defensives - mva #3 tempXroller; number of defensive purchases to perform + mva #2 tempXroller; number of defensive purchases to perform @ randomize ind_Battery________ ind_Auto_Defense___ jsr TryToPurchaseOnePiece @@ -972,3 +983,31 @@ SorryNoPurchase rts .endp +;---------------------------------------------- +.proc CyborgPurchase + + ; what is my money level + ldx TankNr + ;lda MoneyH,x ; money / 256 + ;sta tempXroller ; perform this many purchase attempts + ; first try to buy defensives + mva #2 tempXroller; number of defensive purchases to perform +@ + randomize ind_Battery________ ind_Auto_Defense___ + jsr TryToPurchaseOnePiece2 + dec tempXroller + bne @- + + ; and now offensives + lda MoneyH,x ; money / 256 + asl ;*4 + asl + sta tempXroller ; perform this many purchase attempts +@ + randomize ind_Missile________ ind_Plasma_Blast___ + jsr TryToPurchaseOnePiece2 + dec tempXroller + bne @- + + rts +.endp diff --git a/constants.asm b/constants.asm index 6315214..e47adc5 100644 --- a/constants.asm +++ b/constants.asm @@ -568,6 +568,72 @@ PurchaseMeTable ;weapons good to be purchased by the robot dta 0 ;"Fuel Tank " ; 62 dta 0 ;"Nuclear Winter " ; 63 +PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg) + ;the comment is an index in the tables + dta 1 ;"Baby Missile " ; 0 + dta 1 ;"Missile " ; 1 + dta 1 ;"Baby Nuke " ; 2 + dta 1 ;"Nuke " ; 3 + dta 0 ;"LeapFrog " ; 4 + dta 0 ;"Funky Bomb " ; 5 + dta 0 ;"MIRV " ; 6 + dta 0 ;"Death's Head " ; 7 + dta 0 ;"Napalm " ; 8 + dta 1 ;"Hot Napalm " ; 9 + dta 0 ;"Tracer " ; 10 + dta 0 ;"Smoke Tracer " ; 11 + dta 0 ;"Baby Roller " ; 12 + dta 0 ;"Roller " ; 13 + dta 0 ;"Heavy Roller " ; 14 + dta 0 ;"Riot Charge " ; 15 + dta 0 ;"Riot Blast " ; 16 + dta 0 ;"Riot Bomb " ; 17 + dta 0 ;"Heavy Riot Bomb " ; 18 + dta 0 ;"Baby Digger " ; 19 + dta 0 ;"Digger " ; 20 + dta 0 ;"Heavy Digger " ; 21 + dta 0 ;"Baby Sandhog " ; 22 + dta 0 ;"Sandhog " ; 23 + dta 0 ;"Heavy Sandhog " ; 24 + dta 0 ;"Dirt Clod " ; 25 + dta 0 ;"Dirt Ball " ; 26 + dta 0 ;"Ton of Dirt " ; 27 + dta 0 ;"Liquid Dirt " ; 28 + dta 0 ;"Dirt Charge " ; 29 + dta 0 ;"Earth Disrupter " ; 30 + dta 1 ;"Plasma Blast " ; 31 + dta 1 ;"Laser " ; 32 + dta 0 ;"----------------" ; 33 + dta 0 ;"----------------" ; 34 + dta 0 ;"----------------" ; 35 + dta 0 ;"----------------" ; 36 + dta 0 ;"----------------" ; 37 + dta 0 ;"----------------" ; 38 + dta 0 ;"----------------" ; 39 + dta 0 ;"----------------" ; 40 + dta 0 ;"----------------" ; 41 + dta 0 ;"----------------" ; 42 + dta 0 ;"----------------" ; 43 + dta 0 ;"----------------" ; 44 + dta 0 ;"----------------" ; 45 + dta 0 ;"----------------" ; 46 + dta 0 ;"----------------" ; 47 + dta 0 ;"White Flag " ; 48 + dta 1 ;"Battery " ; 49 + dta 0 ;"Bal Guidance " ; 50 + dta 0 ;"Horz Guidance " ; 51 + dta 0 ;"Vert Guidance " ; 52 + dta 0 ;"Lazy Boy " ; 53 + dta 1 ;"Parachute " ; 54 + dta 1 ;"Strong Parachute" ; 55 + dta 1 ;"Mag Deflector " ; 56 + dta 1 ;"Shield " ; 57 + dta 1 ;"Heavy Shield " ; 58 + dta 1 ;"Force Shield " ; 59 + dta 0 ;"Super Mag " ; 60 + dta 1 ;"Auto Defense " ; 61 + dta 0 ;"Fuel Tank " ; 62 + dta 0 ;"Nuclear Winter " ; 63 ;------------------------------------------------- ; Screen codes of icons (chars) representing a given weapon diff --git a/display.asm b/display.asm index 5deb05c..9264773 100644 --- a/display.asm +++ b/display.asm @@ -210,5 +210,5 @@ purchaseTextEnd GameOverTitle dta d" game over "* GameOverTitle2 - dta d" Player Points Hits Earned Money " + dta d" Player Points Hits Earned Money " .endif \ No newline at end of file diff --git a/scorch.xex b/scorch.xex index 6b80169e168ee754ee8798a04c2c77fb7b8d768d..b1dd3d6f1115b26e2f322d7d6999cf3d4659fcf8 100644 GIT binary patch delta 17369 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 J)UG`r`@g^Usj~n8 delta 17128 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 Date: Fri, 5 Aug 2022 12:04:14 +0200 Subject: [PATCH 47/88] Better? AI purchases and new WAIT macro --- ai.asm | 11 +++++------ constants.asm | 14 +++++++------- lib/macro.hea | 15 ++++++++------- scorch.xex | Bin 42051 -> 42071 bytes 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ai.asm b/ai.asm index cff865a..6217917 100644 --- a/ai.asm +++ b/ai.asm @@ -961,10 +961,10 @@ SorryNoPurchase ; what is my money level ldx TankNr - lda MoneyH,x ; money / 256 - sta tempXroller ; perform this many purchase attempts +; lda MoneyH,x ; money / 256 +; sta tempXroller ; perform this many purchase attempts ; first try to buy defensives - mva #2 tempXroller; number of defensive purchases to perform + mva #1 tempXroller; number of defensive purchases to perform @ randomize ind_Battery________ ind_Auto_Defense___ jsr TryToPurchaseOnePiece @@ -991,7 +991,7 @@ SorryNoPurchase ;lda MoneyH,x ; money / 256 ;sta tempXroller ; perform this many purchase attempts ; first try to buy defensives - mva #2 tempXroller; number of defensive purchases to perform + mva #1 tempXroller; number of defensive purchases to perform @ randomize ind_Battery________ ind_Auto_Defense___ jsr TryToPurchaseOnePiece2 @@ -1000,8 +1000,7 @@ SorryNoPurchase ; and now offensives lda MoneyH,x ; money / 256 - asl ;*4 - asl + :4 asl ;*16 sta tempXroller ; perform this many purchase attempts @ randomize ind_Missile________ ind_Plasma_Blast___ diff --git a/constants.asm b/constants.asm index e47adc5..c1b0856 100644 --- a/constants.asm +++ b/constants.asm @@ -535,7 +535,7 @@ PurchaseMeTable ;weapons good to be purchased by the robot dta 0 ;"Dirt Charge " ; 29 dta 0 ;"Earth Disrupter " ; 30 dta 0 ;"Plasma Blast " ; 31 - dta 1 ;"Laser " ; 32 + dta 0 ;"Laser " ; 32 dta 0 ;"----------------" ; 33 dta 0 ;"----------------" ; 34 dta 0 ;"----------------" ; 35 @@ -571,13 +571,13 @@ PurchaseMeTable ;weapons good to be purchased by the robot PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg) ;the comment is an index in the tables dta 1 ;"Baby Missile " ; 0 - dta 1 ;"Missile " ; 1 + dta 0 ;"Missile " ; 1 dta 1 ;"Baby Nuke " ; 2 dta 1 ;"Nuke " ; 3 dta 0 ;"LeapFrog " ; 4 dta 0 ;"Funky Bomb " ; 5 dta 0 ;"MIRV " ; 6 - dta 0 ;"Death's Head " ; 7 + dta 1 ;"Death's Head " ; 7 dta 0 ;"Napalm " ; 8 dta 1 ;"Hot Napalm " ; 9 dta 0 ;"Tracer " ; 10 @@ -601,8 +601,8 @@ PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg) dta 0 ;"Liquid Dirt " ; 28 dta 0 ;"Dirt Charge " ; 29 dta 0 ;"Earth Disrupter " ; 30 - dta 1 ;"Plasma Blast " ; 31 - dta 1 ;"Laser " ; 32 + dta 0 ;"Plasma Blast " ; 31 + dta 0 ;"Laser " ; 32 dta 0 ;"----------------" ; 33 dta 0 ;"----------------" ; 34 dta 0 ;"----------------" ; 35 @@ -624,10 +624,10 @@ PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg) dta 0 ;"Horz Guidance " ; 51 dta 0 ;"Vert Guidance " ; 52 dta 0 ;"Lazy Boy " ; 53 - dta 1 ;"Parachute " ; 54 + dta 0 ;"Parachute " ; 54 dta 1 ;"Strong Parachute" ; 55 dta 1 ;"Mag Deflector " ; 56 - dta 1 ;"Shield " ; 57 + dta 0 ;"Shield " ; 57 dta 1 ;"Heavy Shield " ; 58 dta 1 ;"Force Shield " ; 59 dta 0 ;"Super Mag " ; 60 diff --git a/lib/macro.hea b/lib/macro.hea index 4e29ec5..79c8643 100644 --- a/lib/macro.hea +++ b/lib/macro.hea @@ -79,13 +79,14 @@ lda CONSOL cmp #6 ; START KEY beq ?nowait - LDA VCOUNT - ldy vcount -?WA cpy VCOUNT - BEQ ?WA -?wframe - cmp vcount - bne ?wframe +?zero LDA VCOUNT + beq ?zero +?WA cmp VCOUNT + beq ?WA + bcc ?WA +?WFRAME cmp VCOUNT + beq ?nowait + bcs ?WFRAME ?nowait .ENDM ;------------------------------------- diff --git a/scorch.xex b/scorch.xex index b1dd3d6f1115b26e2f322d7d6999cf3d4659fcf8..18a8a9bd285cf543d0f322bec6c45e81a0281797 100644 GIT binary patch delta 16557 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 RziVwInA2~wXXTNM{{^=Gwt4^n delta 16516 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 From 2bec64c38e1b2021299926992faec50630b2169b Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 5 Aug 2022 17:13:13 +0200 Subject: [PATCH 48/88] Macro "wait" as procedure. --- grafproc.asm | 2 +- scorch.asm | 5 ++++- scorch.xex | Bin 42071 -> 41957 bytes weapons.asm | 10 +++++----- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index e3e1d19..f25ef57 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1085,7 +1085,7 @@ EndOfFCycle ; here we draw parachute ldx TankNr jsr DrawTankParachute - wait ; onli if tank with patachute + jsr WaitOneFrame ; onli if tank with patachute RapidFalling DoNotDrawParachute lda EndOfTheFallFlag diff --git a/scorch.asm b/scorch.asm index c6a40e1..cdb30ba 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1441,7 +1441,10 @@ peopleAreHere noKey rts .endp - +.proc WaitOneFrame + wait + rts +.endp ;-------------------------------------------------- .proc RmtSongSelect ;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 18a8a9bd285cf543d0f322bec6c45e81a0281797..08638333b3c84bd671e691d51ed85ab91985d17d 100644 GIT binary patch delta 16895 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 WqmNd`9Mxv|c0J^K$5DMg@qYj-{&YV8 delta 17157 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 diff --git a/weapons.asm b/weapons.asm index 0a612b4..6df7ef9 100644 --- a/weapons.asm +++ b/weapons.asm @@ -893,8 +893,8 @@ Rollin sta HeightRol ; relative point RollinContinues - wait - wait + jsr WaitOneFrame + jsr WaitOneFrame ; new point is set adw xdraw #mountaintable tempXROLLER ldy #0 @@ -1031,7 +1031,7 @@ NoColor ; jump here with color=0 to clean dirt ; current dirt width sta magic NextRow - wait + jsr WaitOneFrame ldy magic NextLine lda random @@ -1168,7 +1168,7 @@ ContinueToCheckMaxForce2 jsr DrawTankNr - wait ; best after drawing a tank + jsr WaitOneFrame ; best after drawing a tank @@ -2360,7 +2360,7 @@ NextLine1 dex bpl NextLine1 ; - wait ; wait uses A and Y + jsr WaitOneFrame ; wait uses A only ; second loop - inverse again and put random "snow" to column of bytes ldx #120 ldy magic From 312bca4866bb425661208a5b267494a068c81747 Mon Sep 17 00:00:00 2001 From: pkali Date: Fri, 5 Aug 2022 23:56:27 -0400 Subject: [PATCH 49/88] shorter ClearScreen --- grafproc.asm | 17 ++++++++--------- scorch.xex | Bin 41957 -> 41884 bytes 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index f25ef57..073a8e9 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -464,17 +464,16 @@ endcircleloop ;-------------------------------------------------- .proc ClearScreen ;-------------------------------------------------- - - lda #$ff - ldx #0 -@ - :31 sta display+($100*#),x - sta display+$1e50,x ; this is so no space outside of the screen is cleared - ; of course we are clearing $100 instead of $50, but who cares :] - inx + mwa #display temp + ldy #0 +@ lda #$ff + sta (temp),y + inw temp + cpw temp #display+screenheight*screenBytes+1 bne @- - rts + rts .endp + ;-------------------------------*------------------ .proc placetanks ;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 08638333b3c84bd671e691d51ed85ab91985d17d..8773b7217ce2f469495d0d2094c14d3fcfbe6897 100644 GIT binary patch delta 15257 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 CrD|ya From e5ce864254afaa9039833810bd6c47b8a970db7e Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 6 Aug 2022 01:03:01 -0400 Subject: [PATCH 50/88] new song, VBL fix --- artwork/sfx/rmt_feat.asm | 20 +++++++++--------- ...ripped.rmt => scorch_trial0g_stripped.rmt} | Bin 2791 -> 2988 bytes definitions.asm | 3 ++- scorch.asm | 8 +++---- scorch.xex | Bin 41884 -> 42291 bytes 5 files changed, 16 insertions(+), 15 deletions(-) rename artwork/sfx/{scorch_trial0f_stripped.rmt => scorch_trial0g_stripped.rmt} (61%) diff --git a/artwork/sfx/rmt_feat.asm b/artwork/sfx/rmt_feat.asm index 84a3f1d..73cb5ba 100644 --- a/artwork/sfx/rmt_feat.asm +++ b/artwork/sfx/rmt_feat.asm @@ -1,22 +1,22 @@ ;* --------BEGIN-------- -;* Z:\home\pkalinowski\Seafile\atari\projects\scorch_src\artwork\sfx\scorch_trial07_stripped.rmt +;* C:\Atari\rmt\rmt128\aa.rmt FEAT_SFX equ 1 FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable FEAT_NOSTARTINGSONGLINE equ 0 FEAT_INSTRSPEED equ 1 -FEAT_CONSTANTSPEED equ 16 ;(0 times) -FEAT_COMMAND1 equ 1 ;(4 times) +FEAT_CONSTANTSPEED equ 0 ;(8 times) +FEAT_COMMAND1 equ 1 ;(11 times) FEAT_COMMAND2 equ 0 ;(0 times) FEAT_COMMAND3 equ 0 ;(0 times) FEAT_COMMAND4 equ 0 ;(0 times) FEAT_COMMAND5 equ 0 ;(0 times) -FEAT_COMMAND6 equ 0 ;(0 times) +FEAT_COMMAND6 equ 1 ;(2 times) FEAT_COMMAND7SETNOTE equ 0 ;(0 times) FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) FEAT_PORTAMENTO equ 0 ;(0 times) -FEAT_FILTER equ 1 ;(22 times) -FEAT_FILTERG0L equ 0 ;(0 times) -FEAT_FILTERG1L equ 0 ;(0 times) +FEAT_FILTER equ 1 ;(44 times) +FEAT_FILTERG0L equ 1 ;(13 times) +FEAT_FILTERG1L equ 1 ;(22 times) FEAT_FILTERG0R equ 0 ;(0 times) FEAT_FILTERG1R equ 0 ;(0 times) FEAT_BASS16 equ 0 ;(0 times) @@ -33,8 +33,8 @@ FEAT_VOLUMEONLYG3R equ 0 ;(0 times) FEAT_TABLETYPE equ 0 ;(0 times) FEAT_TABLEMODE equ 0 ;(0 times) FEAT_TABLEGO equ 1 ;(1 times) -FEAT_AUDCTLMANUALSET equ 1 ;(4 times) +FEAT_AUDCTLMANUALSET equ 1 ;(6 times) FEAT_VOLUMEMIN equ 0 ;(0 times) -FEAT_EFFECTVIBRATO equ 0 ;(0 times) -FEAT_EFFECTFSHIFT equ 1 ;(7 times) +FEAT_EFFECTVIBRATO equ 1 ;(1 times) +FEAT_EFFECTFSHIFT equ 1 ;(11 times) ;* --------END-------- diff --git a/artwork/sfx/scorch_trial0f_stripped.rmt b/artwork/sfx/scorch_trial0g_stripped.rmt similarity index 61% rename from artwork/sfx/scorch_trial0f_stripped.rmt rename to artwork/sfx/scorch_trial0g_stripped.rmt index 0343be7842dbc43599dd35e2ce6dd029f6ba7ad9..95855e321b857aa1afe824d52ac8b09219d9ef81 100644 GIT binary patch delta 417 zcmYj}y-UMT6vbcKq-oRG4@CqgKL$%Dp@L8`br3|XT5TO&x+{p{AZSrKxdbfYCcfu~Cocp`?z5TeOKq=BHWOgz)FcRUoh?dt@ zwLIC@4m4YP)@i>$&PywOozWj%y#aeq-0D7+*%x%$S?zjrnSJSqW>} zDq4u?)Vi~Hd(d97kL-I}aJrrJ$y=y3IluHUv{1gSe=??P*m0cbSySgtAw&q#i+f^R zmSZu5{O&7+<|NmnP5*|3gqVAzQm6mQgZNUzAMZ{1GFS=DV8~)c9LF$*Atj8nYMp}% z1j9%P*5m-@3YTeCrZG%mMVP`cfx#{QD1~QNVFqMf2HdZI%etxvb#KH5hEK^FX!1|;yU5jjL#7*9doAwsmZt(n97 F;F|9^%J4|WClhL|`AFfs~kNZ63SVdbv64O2F(-f(uq?+tPr(>KoAxO3zA zjqf&kY%1F{W0TD01)J|~R@u_IW#*RGTlBWNY%Sfod+WumBHPrrId7}j#sCD1w;kQ~ zW1IH&jO}x_AKU(OyJ-39>$jQNq-vgs`IfX!*#QDOL4b7^2yC1%oqci;$04Qz;giKU zwV3S`{%=m^T+C?kpZWj)e+(;k{bykO&%gx4ER6sEF>l@V|35q1|NoraK$-(cbNypG SxQmDHKQB=E|9?C;cL4y1zH?Uq diff --git a/definitions.asm b/definitions.asm index f04b4ae..06da232 100644 --- a/definitions.asm +++ b/definitions.asm @@ -201,4 +201,5 @@ sfx_white_flag = $1d ;4 song_silencio = $00 song_end_round = $02 song_ingame = $06 -song_game_over = $0b +song_old_game_over = $0b +song_game_over = $0e diff --git a/scorch.asm b/scorch.asm index cdb30ba..cc3d052 100644 --- a/scorch.asm +++ b/scorch.asm @@ -878,7 +878,7 @@ NotNegativeShieldEnergy ;-------------------------------------------------- ldx #$3f ; TODO: maxweapons @ lda #$0 - cpx #48 ; White Flag + cpx #ind_White_Flag_____ ; White Flag bne @+ lda #99 @ sta TanksWeapon1,x @@ -986,7 +986,7 @@ ClearResults lda #0 jsr RmtSongSelect ; - VMAIN VBLinterrupt,6 ;jsr SetVBL + VMAIN VBLinterrupt,7 ;jsr SetVBL rts .endp @@ -1108,7 +1108,7 @@ exitVBL ply plx pla - jmp SYSVBV + jmp XITVBV .endp ;---------------------------------------------- .proc RandomizeSequence0 @@ -1485,7 +1485,7 @@ TankFont MODUL equ $b000 ;address of RMT module opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_trial0f_stripped.rmt" ;include music RMT module + ins "artwork/sfx/scorch_trial0g_stripped.rmt" ;include music RMT module opt h+ ; ; diff --git a/scorch.xex b/scorch.xex index 8773b7217ce2f469495d0d2094c14d3fcfbe6897..025c9f472ec6e0d5bdde797fd703f414378e61de 100644 GIT binary patch delta 1255 zcmZWpeP~-%6uTy@|A^~^Y^&17O)^@s%r*^Lu&ZygAL+Wy$x5Y^ffa`$OpS@M z4jFw(*|XgSK9?Bcn-)gQ82Hhy>K|g~kT439Qr`2vCpf{&x##`v zIlucm=W-wSvqdtoOvVPADo%xXk#4`jBWtof;JwzyYnU@lX`(-|zd7-wx(rA8)6B{K z>V)d`lO$1=7#Qe!#`zU^k=N>VqB*bE8$ff;IYg)oh!91BK%$5U`6B~FDwKp;qt)qE zMpIe2`LT-1Dg%>ez9r@pqo1k>+ixKXg{dx{8i`N?p>qpoziA7&d31T5`=qcHP{tSN z&Cn9|8J@W@wwoAa*2W$u9xxBb8lFh=B_)qa>j5%8k2&+hU!R-5hDu3%B14FIaeNQ) zEHgO%^f3`{rcVHMJd|%KRde~exspzAv$6L%N-b$)Ap9<2E^jwVwG1I?eT&bFC7qO) z7t|n+J6*PK%_6Y>WgQApz08l})gB5a;)|>kmasR=zDo9XU|VHyRQ5X|pv8Xky|IAQ1Ryjd}FvV1(oKd zmdJe(=8cOkj|*}&P}-Fz3OjP!oW;EtEVH$6W?Yh-2}|Xu55jkAV73Y7Or!gAtzdrY z(pn=Fv^gi>G6jXu2stGTFXpr`yfoVgxQ_|xuW?ydHA`fhkspvofmsIBllO8npCRw!G9Td}w)U@6FzII1dwy=4H0 z8X(_1s^Jmq0={J;e$(RK=GYEcwks%gIC>OJ$G~(POs_)7M@OP&UYsUF_vuIhVHuw23y66Cqzh5C7dUF57j;)!;M}gxM48kG&h~ z&z_G3V(HiqF-_bSe>)EGoAICGTXEOa$5Yp*Y7>#fM#4TlHqA{xoIa53NPd)DOs*xZ zsru9_sk14B#}}#ZQp)sm>37l->0(-y*_ELte=Vyx@Y?Cy&ktQ+S^WcZtj(EBW=0-2 zh%cQZatF^ERaaa_^#Uaw5U6R4nt>9 z=ngtG2ZO>(L7_!;5Qp4^kV8T7c*Jrj@vd@A z=$1Hwr1~hi>UXGC{U5ISh41~sy5FI>;}>rGg**QLl0=0l3aCGepAiv}cq$1|P`sHH sMU7hAC+Z9sXhl({7u4@%jb)+<^F_gUA*;e~i;T-Z&;CsQLcagP-7fK6rNotj+5Axl?2!}X=Rm!pMa35e8|BNx8)E;8yZ4rB5_C*6al9eiMAk` z#)qbArP>PG)C9x`H)x+S>pI%?#&$7TVH6;CAYk@_DntQ^L!tuO0}_9cr?dVv?|W~a z-hA)9(UwL6>{fnR z{P{*#{4_!5AIra%-o>l5#mGISAienGQ*K1^#y;d$r1n^VOG!hqP12dzX6`fTQf$Y# zH!=ufr&8>+n&sm5yj5G*-j1Kk;yNj4i!3Ow+Ob?LQmfX^u1pXB;_`U4>^$9c!q zVf7o8!bR!nakW>>Y%iYNRA?oBA!_lN6U_M kj?x+@rM30UyO^&lJFn;5A5ae~r)Bp)xhMQn{>&Hu1JA&{UH||9 From 2cda0bfb12ded868816d4a815274c7218f2c0345 Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 6 Aug 2022 14:06:09 -0400 Subject: [PATCH 51/88] music v0g --- artwork/TALK1.txt | 54 ---------------- artwork/TALK2.txt | 60 ------------------ artwork/sfx/scorch_trial07_stripped.rmt | Bin 1277 -> 0 bytes artwork/sfx/scorch_trial09_stripped.rmt | Bin 1424 -> 0 bytes ...ripped.rmt => scorch_trial0h_stripped.rmt} | Bin 2988 -> 3795 bytes artwork/tanks.fnt | Bin 1024 -> 0 bytes artwork/tanksv2.fnt | Bin 1024 -> 0 bytes artwork/weapons.fnt | Bin 1024 -> 0 bytes definitions.asm | 5 +- grafproc.asm | 2 +- scorch.asm | 11 +++- scorch.xex | Bin 42291 -> 43137 bytes textproc.asm | 2 +- 13 files changed, 13 insertions(+), 121 deletions(-) delete mode 100644 artwork/TALK1.txt delete mode 100644 artwork/TALK2.txt delete mode 100644 artwork/sfx/scorch_trial07_stripped.rmt delete mode 100644 artwork/sfx/scorch_trial09_stripped.rmt rename artwork/sfx/{scorch_trial0g_stripped.rmt => scorch_trial0h_stripped.rmt} (50%) delete mode 100644 artwork/tanks.fnt delete mode 100644 artwork/tanksv2.fnt delete mode 100644 artwork/weapons.fnt diff --git a/artwork/TALK1.txt b/artwork/TALK1.txt deleted file mode 100644 index 2ca9011..0000000 --- a/artwork/TALK1.txt +++ /dev/null @@ -1,54 +0,0 @@ -IN TIMES OF TROUBLE, GO WITH WHAT YOU KNOW. -DIE! -EAT MY SHORTS! -YOU'RE TOAST! -BANZAI! -FROM HELL'S HEART I STAB AT THEE... -I DIDN'T DO IT. NOBODY SAW ME DO IT. -TAKE A HIKE! -YOU'RE DEAD MEAT. -MAKE MY DAY. -CHARGE! -ATTACK! -YOU'RE OUTTA HERE. -WATTSA MATTA YOU? -FREEZE, OR I'LL SHOOT! -HA HA HA. -WE COME IN PEACE - SHOOT TO KILL! -IN YOUR FACE! -DIE COMMIE PIG! -I LOVE THE SMELL OF NAPALM IN THE MORNING. -VICTORY! -SHOW SOME RESPECT. -JUST WHO DO YOU THINK YOU ARE? -LOOK OUT BELOW! -KNOCK, KNOCK. -LOOK OVER THERE. -GUESS WHAT'S COMING FOR DINNER? -MERRY CHRISTMAS. -OPEN WIDE! -HERE GOES NOTHING... -DON'T WORRY, IT ISN'T A LIVE ROUND. -BLOOD, PAIN, VIOLENCE! -TAKE THIS, SISSY! -I SHALL FLATTEN YOU! -I SHALL SMASH YOUR UGLY TANK! -I WONDER WHAT THIS BUTTON DOES? -DON'T TAKE THIS PERSONALLY. -WOULD THIS MAKE YOU MAD? -I TOLD YOU TO LEAVE MY SISTER ALONE! -I COULD SPARE YOU, BUT WHY? -MY BOMB IS BIGGER THAN YOURS. -DON'T FORGET ABOUT ME! -HASTA LA VISTA, BABY! -THIS IS YOUR BRAIN ON SCORCH. -TAKE THIS! -THIS SCREEN AIN'T BIG ENOUGH FOR THE BOTH OF US. -DIE, ALIEN SWINE! -SAY 'ARRGGHHHHH....' -I SHALL OIL MY TURRET WITH YOUR BLOOD. -DIE, TANK-SCUM! -I'M GONNA BREAK YOUR FACE! -MAMA SAID KNOCK YOU OUT! -I HOPE YOU ENJOY PAIN! -PARTING IS SUCH SWEET SORROW... NOT! diff --git a/artwork/TALK2.txt b/artwork/TALK2.txt deleted file mode 100644 index ef9156a..0000000 --- a/artwork/TALK2.txt +++ /dev/null @@ -1,60 +0,0 @@ -UGH! -AARGH! -AAAGGHHH! -I'M MELTING! -OOF.. -OH! -EEEK! -AACCH! -I HATE IT WHEN THAT HAPPENS. -ONE DIRECT HIT CAN RUIN YOUR WHOLE DAY. -OH NO! -NOT ME! -OUCH. -OH NO, NOT AGAIN. -ANOTHER ONE BITES THE DUST. -GOODBYE. -HELP ME! -FAREWELL, CRUEL WORLD. -REMEMBER THE ALAMO! -OH MAN! -DOOUGH! -ANOTHER DAY, ANOTHER BOMB. -THIS IS THE END, MY ONLY FRIEND. -IT'S ALL OVER. -THE FAT LADY SANG. -WHY DOES EVERYTHING HAPPEN TO ME? -I'M GOING DOWN. -I'VE GOT A BAD FEELING ABOUT THIS. -CRAPOLA. -POW! -BIF! -BAM! -ZONK! -I SHOULD'VE LISTENED TO MY MOTHER... -NO... A BUD LIGHT! -WHAT WAS THAT NOISE? -MAMA SAID THERE'D BE DAYS LIKE THIS. -ITS JUST ONE OF THOSE DAYS... -I SEE A BRIGHT LIGHT... -MOMMY? IS THAT YOU? -I LET YOU HIT ME! -SUCKER SHOT! -I DIDN'T WANT TO LIVE ANYWAY. --- -WAS THAT AS CLOSE AS I THINK IT WAS? -JOIN THE ARMY, SEE THE WORLD THEY SAID. -IT WASN'T JUST A JOB IT WAS AN ADVENTURE! -I DIDN'T LIKE VIOLENCE ANYWAY! -I THOUGHT YOU LIKED ME? -SUCH SENSELESS VIOLENCE! I DON'T UNDERSTAND IT. -I THINK THIS GUY'S A LITTLE CRAZY. -SOMEHOW I DON'T FEEL LIKE KILLING ANYMORE. -HEY! KILLIN' AIN'T COOL. -GEE... THANKS. -I'VE FALLEN AND I CAN'T GET UP! -911? -OH NO! HERE I BLOW AGAIN! -I'LL BE BACK... -HEY - I'VE GOT LAWYERS. -TIME TO CALL 1-900-SUE-TANK. diff --git a/artwork/sfx/scorch_trial07_stripped.rmt b/artwork/sfx/scorch_trial07_stripped.rmt deleted file mode 100644 index 9bef4ce437e31a845ed1f0c878d4c2b91424af45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1277 zcmbW0zi--55XZm%0hp(Qnt&7rDv(PP3ItG1qbQ09gV!o*RVz}LN*!1-bwVA(Qq;8* zn*mS#3p&!Z|3imLsWNu!(4q9~hYe9-$Q1kwAE!6dy;*nmWp*}yKVQrr`_KFj{x|>o5B&6f_(b_U zR--f_I20^0R47E=q%p`gt!$ImMCEeeR9DwW8FKGFG$y34bG8$nbmt)lT@7$)RYoFo@|E7a*kub~@c7K)`xwN`JoI#0XD zCnsxhvC1%GUv6SmCw|AqWRUSpv^h7dc zq=RD;B5kCS30+h9+*M6ew%lV@yh+@%*kIjk6J^4itKbFT7`(o?02fv82lRP_@d(2a z1|zsTa7M82VvWG$LZEWSez*w*Ra6IA{EwAIE(O6Omo!-AZG;s_M+T7 WUp(ra_xek1x%`V;9|}L!U;aNO`JdJR diff --git a/artwork/sfx/scorch_trial09_stripped.rmt b/artwork/sfx/scorch_trial09_stripped.rmt deleted file mode 100644 index 225bb868a8da92ec6ab0f7d08ff07d45e1cae3a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1424 zcmbW0!E4iS6vw|w(>DF_8WUGo8I_e-w%K-FF+;|bu53X>kf9g`^PqU>SwX1mBFkwW z1h4%UJf&N6m7VnJ|KM$>ojq7z@@vu#yUTuj_~rdx-tWEd@8y^A7{TZ8#j}^2T~kra zU^jRi9EDGVH$gub1V4j|pfG$id^LPO{5rfCmQS}&zn|`&eLDMb))+k;eHr~4{T`LV z!|>e)d<;W`L<%gd2l!5Eu%Ip+v4ZbBTttK|KfyO)P9?t?^0#T(hiN>vdoRCv-5-avrsohRqL(|DD zl`GZSTD{q7-`{+&wKWx&s*E#s5;jAwC5oWv~*q7tMo% zOq`R0rZSp6&|EywTwD<2%s?a?s&LcG0}UrLr0tM`xb*Y`3GS!Bi9laK_LI-XW08)J z)yUvctF5fA-K#g6t=5Js^3GLkk-ssP$X^H7oz<|h(OPdd>T9bjHJcU68Tp4 zu7foYZEr_Ch(?=lo2<>nkcg0lc_|H3uDQx`dhvW%PHQ8p!YriKh| z(A(E)cald@Gg>y6*9*~S5~85zb6G8;@^@D=8D-8rX2r9lJxdMN%{EanzPSpX1Fp{N z{e5sz1%E)_e4O~``{?=buEF);T*damSTRsJV>dp8f*NW)1OH&V2X%6Nb6Z|Qaj_Dq%OsJ^YOj+ee=!iyyeY{pxGuf zhP0A?=G3{veSVwGuMKE-wTM2c8CpgAsU1w5NQ@@t5-W+dL^ydpsU!=@W7DN+cj|O1 zoqC%JrZ1+irQ_*u>GgD9=4|F_=2-?oEM~rE_GQm!A7tNUe`NRPj^+k)W4W2u{+lxS z@TKqhr=}yvFCa8@uWNF#tLNmETO_}7=;gHNl)R8+CMKWLQgmJbitMv*jpZ!WXSR`t)eENa+o939I+}0OV@nvZ2fAhv#cD5e^tczsreUs2KA03}WGpGeZD}*i)8k-oI7?z=6XLU~0fHA?;%kUbYOqBw_ z^FC4NBZWRxXiVWF#cor@E|{ONq|ypJ8o>>Z6*{KSQ3bnhPr~C!{6raYfnQRSa9Ksg zo*w(U13P(@c#$cudUeelj8PQP8L}~ChjiK)bzIgN6Y3aqdx7hLJ+y8}_ibYhaGX)! v9o^Nmy}7Cz@9P1^Le<={GZYB6gaVwyt)W2Mu3GK}ZinP7?g=?*b6o!o0SF%M delta 228 zcmcaCyGFeJ|9^%JOLqtPhL|`AFfs~kNZL@gA!&Elh6Nk8Z@9UEeWTXK;*HBT9^H6* zK)*`%>~&E}Vz4Yo|(vUJP$Emm6twl;1(zV+@_g>A;${I|7iV*rBn+b(Wn z*>1kQWc!Nkm$tL+P~73O?h&7mRczs9>)a)$@4N=8QLx>yV~5~QFxUkK3=F$>@7}oK z5c}r+9AeBa|C#^)|HqKD`#%HYe+DKXW?}sQk2!Dm|Nrc4|NnDx18EK*&GnD1YBvwx Xe_o*S|NnRUtGD}j6+oRCBhI9O>gI%c^dI1>Ux*+a{zvA?-bc zaNab{A?)WM#6uEr0`i4hK@vByBuUh=EK>^t8IWF8Wf^*&48S@WfIYlzQ@71|MA{EK zjRN$D^M_%-HK^yQkylI+>y&LjTe{4zR!Fol}^k&>JcrmgUeOe85yAAq30>83fI(|tr^TI+T*(yhv mkvMf2+o&YRc0Tyq?4F6Qu}o%*$XZr3%Y?Kiq`ij_ zo;M6*2@*6{BgP+v^X8zQr$$~bO^mdA9PZ}GDA%y(rT5u#rucGgd*`CLtZcTbws)64&(ja_isRnX?c(LZn{D&7 zs`UD*YI|gU=+aT&v8wiaE04Nv_p+>N%@ti|x!7L(c{S4QHs}i>#O;@kUo#V|yN6yf_}$JTU8*Mul;F$}uTl6^Nrb4pwP?V2C5aqR&B diff --git a/artwork/weapons.fnt b/artwork/weapons.fnt deleted file mode 100644 index 0bccd80489038866e2c2b6d8d266655ceec915bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 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%0ACcfMM17E;@!B?ki<=ev6J!@rOHkQCVz?Rfl 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 RHM+5*c>J>IGt(>M{}+tqS1|wp delta 16578 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 Date: Sat, 6 Aug 2022 16:16:47 -0400 Subject: [PATCH 52/88] PAUSE ellimintation --- grafproc.asm | 8 ++++++-- scorch.asm | 17 ++++++++++++++--- scorch.xex | Bin 43137 -> 43007 bytes 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/grafproc.asm b/grafproc.asm index 40f2072..daae63e 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -791,11 +791,15 @@ tankflash_loop mva #1 Erase ldx TankNr jsr DrawTankNr.SkipHidingPM ; it's necessary becouse DrawTankNr skips tanks with no energy ! - PAUSE 2 + ;PAUSE 2 + ldy #1 + jsr PauseYFrames mva #0 Erase ldx TankNr jsr DrawTankNr.SkipHidingPM - PAUSE 2 + ;PAUSE 2 + ldy #1 + jsr PauseYFrames dec fs jne tankflash_loop rts diff --git a/scorch.asm b/scorch.asm index 02e8344..831e403 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1253,7 +1253,7 @@ MoveBarrel jsr DisplayStatus.displayAngle ; ldx TankNr mva #1 Erase - PAUSE 1 + jsr WaitOneFrame jsr DrawTankNr.BarrelChange mva #0 Erase lda NewAngle @@ -1437,8 +1437,9 @@ checkForHuman ; if all in skillTable other than 0 then switch to DEMO MODE dex bpl checkForHuman ; no people, just wait a bit - pause 250 - pause 50 + ;pause 150 + ldy #75 + jsr PauseYFrames jmp noKey peopleAreHere @@ -1450,6 +1451,16 @@ noKey wait rts .endp +.proc PauseYFrames +; Y - number of frames to wait (divided by 2) +; pauses for maximally 510 frames (255 * 2) +@ jsr WaitOneFrame + jsr WaitOneFrame + dey + bne @- + rts +.endp + ;-------------------------------------------------- .proc RmtSongSelect ;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 3e10c5c3a296414589a8857f88335d1f37779032..ecbf6d33d17b92cb8d6b9765d4bd01b3b11efaf1 100644 GIT binary patch delta 16495 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 Vb+suv5SA@VthF*+27R7pKAghb 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 From e6d37e841038310d858bf500cbb6c226de1eec1a Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 6 Aug 2022 16:24:18 -0400 Subject: [PATCH 53/88] song 0h1 --- definitions.asm | 3 +-- scorch.asm | 2 +- scorch.xex | Bin 43007 -> 42797 bytes textproc.asm | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/definitions.asm b/definitions.asm index f4b1e52..a9d3904 100644 --- a/definitions.asm +++ b/definitions.asm @@ -202,5 +202,4 @@ song_silencio = $00 song_main_menu = $02 song_ingame = $06 song_round_over = $0b -song_game_over = $0e -song_ending_looped = $11 +song_ending_looped = $0e diff --git a/scorch.asm b/scorch.asm index 831e403..de37aa9 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1501,7 +1501,7 @@ TankFont MODUL equ $b000 ;address of RMT module opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_trial0h_stripped.rmt" ;include music RMT module + ins "artwork/sfx/scorch_trial0h1_stripped.rmt" ;include music RMT module opt h+ ; ; diff --git a/scorch.xex b/scorch.xex index ecbf6d33d17b92cb8d6b9765d4bd01b3b11efaf1..23c57ff67c440cca43de9b408e5859916f8d26ec 100644 GIT binary patch delta 204 zcmex=o@wnlrVV?O7`Zp^OR8sLu3*WMuC5EBOhMn-`RX&X8=^zWT)Gc($r zVfk*^*6r^^)l3;cz^krn#->vbzsRRQ7ch<9u@eXwcJAB-1iN?d2CD$lV6bP;p1phb zZoW42FURI@ixx9Z{=LMAX+Oi{*rka;YV+l#TNsV{_x@*K{LjDy#4L>e|1rX v+yDQZ+(4QGNOS#TTfUcv?>{f||NsC0@$BC_`RH;(PJ#1#A22;+s&)bZ#Xw=c delta 422 zcmYjJO-lk%6rDFZj^?)#w2jt5Qi~S(M%sjEQkf96QnH=DAhd-9ZDI;nuB4u2D1tC8 z%JMPmhzvxDkUkde+O>@C>rI7vxF6@9d+x2@i>xg+S}EkxXlhqPUJa)|W_@>bZFzkz zO*lz4M611>T+*B&J&!O`t?|gVe5HbhVb|4r@XDiM3>3Z*L^785r&1UnOLlBI5 z^N$t>)q2Hm>y%m@AdrJP;^&Sbp=dJW5(^YjAY1Z4tZg2>a17?_fjG1z_Ne6b`G2|lh!#H20yh6KeHGutoy8yM6wwy| diff --git a/textproc.asm b/textproc.asm index 7058e68..0c84ee0 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1679,7 +1679,7 @@ quit_seppuku beq @+ ;unconditional jump, because TypeLine4x4 ends with beq GameOver4x4 - lda #song_game_over + lda #song_round_over jsr RmtSongSelect mwa #LineGameOver LineAddress4x4 mwa #((ScreenWidth/2)-(8*4)) LineXdraw From cf08093ceede51b67b979f54c1686d2c3139bced Mon Sep 17 00:00:00 2001 From: pkali Date: Sat, 6 Aug 2022 16:31:51 -0400 Subject: [PATCH 54/88] FEAT update --- artwork/sfx/rmt_feat.asm | 16 ++++++++-------- scorch.xex | Bin 42797 -> 42764 bytes 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/artwork/sfx/rmt_feat.asm b/artwork/sfx/rmt_feat.asm index 73cb5ba..c5a2bc3 100644 --- a/artwork/sfx/rmt_feat.asm +++ b/artwork/sfx/rmt_feat.asm @@ -1,11 +1,11 @@ ;* --------BEGIN-------- -;* C:\Atari\rmt\rmt128\aa.rmt +;* C:\Atari\rmt\rmt128\aaa.rmt FEAT_SFX equ 1 FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable FEAT_NOSTARTINGSONGLINE equ 0 FEAT_INSTRSPEED equ 1 -FEAT_CONSTANTSPEED equ 0 ;(8 times) -FEAT_COMMAND1 equ 1 ;(11 times) +FEAT_CONSTANTSPEED equ 0 ;(18 times) +FEAT_COMMAND1 equ 1 ;(10 times) FEAT_COMMAND2 equ 0 ;(0 times) FEAT_COMMAND3 equ 0 ;(0 times) FEAT_COMMAND4 equ 0 ;(0 times) @@ -14,7 +14,7 @@ FEAT_COMMAND6 equ 1 ;(2 times) FEAT_COMMAND7SETNOTE equ 0 ;(0 times) FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) FEAT_PORTAMENTO equ 0 ;(0 times) -FEAT_FILTER equ 1 ;(44 times) +FEAT_FILTER equ 1 ;(22 times) FEAT_FILTERG0L equ 1 ;(13 times) FEAT_FILTERG1L equ 1 ;(22 times) FEAT_FILTERG0R equ 0 ;(0 times) @@ -32,9 +32,9 @@ FEAT_VOLUMEONLYG2R equ 0 ;(0 times) FEAT_VOLUMEONLYG3R equ 0 ;(0 times) FEAT_TABLETYPE equ 0 ;(0 times) FEAT_TABLEMODE equ 0 ;(0 times) -FEAT_TABLEGO equ 1 ;(1 times) -FEAT_AUDCTLMANUALSET equ 1 ;(6 times) +FEAT_TABLEGO equ 0 ;(0 times) +FEAT_AUDCTLMANUALSET equ 0 ;(0 times) FEAT_VOLUMEMIN equ 0 ;(0 times) FEAT_EFFECTVIBRATO equ 1 ;(1 times) -FEAT_EFFECTFSHIFT equ 1 ;(11 times) -;* --------END-------- +FEAT_EFFECTFSHIFT equ 0 ;(0 times) +;* --------END-------- \ No newline at end of file diff --git a/scorch.xex b/scorch.xex index 23c57ff67c440cca43de9b408e5859916f8d26ec..ba21ea329294aff1ee025e8a3479da0289f303ba 100644 GIT binary patch delta 528 zcmZXOOK1~e6oqFd(Y8`G)M5u8P%%OZU1X6(77<%aAx-~2aHp#xlp?KQDJ}#{T^Nz- zgy^)fUHmW<=9qsT!QeuQ84y}+Vj&I#E>((dD#Z?hAQBR1;?l)EmvcYvx!0@-k88q< z>&t>-JQ)<_yUY9MKWgMaBUc!iG02qmVDtV~N||Ha+86bq{YMFwHl?rfqm|42uKZy| zjA4D@jad<6&LC%P2qhsKz?cKTz1wl2M{`C67(H+Pnao)H-}pD2~58z1DT?FU3p`AOHXW delta 546 zcmZXOKWGzi6vyu_QDbRps2z^t&|;8ODn!U|L&b_2V)+SenzU657O_Z&f{TODPzNib zxe&cJ#^DE9?n{36Cm0;0m;Hc-MR^uBB68&q46$`4)4Qz@B7~Oy=+4;8^XJL z>%wQ_)iqIBSwA@cOCy|4l8j^xvZy`Vdio_%$}sNjPxZOoD*3Bh@{#g#<2rw+eBV&{ zdF4?dE^xZ?u@G4$C|9@XICflyx*X^-3L5Vwb6uW8Dd0|oy`sGN8Z?4ZkJ}gpdqRgm zIrLBww5@t>V_4#7FIX>?y6!P73}ubRJna5IhZ^hDJ53+?z{mqe_)ALiP5N#MRv69U zI&TkJZB@*SLaasbxZpW%>fSZ7qVI)K8^fny{<0NE=tA*_1Uq1j!@XkrjwM)rtZiEX ztnJh!xNpQ@MIrs>Xb95Je-)2_w@WR=`;38OW!A*|3cj*7Y%h+%n(oltErL! z!= Date: Sun, 7 Aug 2022 07:47:37 -0400 Subject: [PATCH 55/88] missing MSX file added --- artwork/sfx/scorch_trial0h1_stripped.rmt | Bin 0 -> 3585 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 artwork/sfx/scorch_trial0h1_stripped.rmt diff --git a/artwork/sfx/scorch_trial0h1_stripped.rmt b/artwork/sfx/scorch_trial0h1_stripped.rmt new file mode 100644 index 0000000000000000000000000000000000000000..9e2ce7b31c84602511d04a80c15f46089d26e2b3 GIT binary patch literal 3585 zcmb_dU1(g#6+XLr_wQ=7z8gu^PvmNQt4gY+$d1=(LLgTvSwaXDw@nvA^H9@=?MtD3 zDCnVZYim)YXu+~_YaG`Ns#hfo&Wog2Kd!v;QtYUXg(D#>FCjvN(ggBQ($bfvWNyEi z(O&J^5)Gllch8)2=KRf>nO)bVna_(q{N9gF3>rS4F_W1Yo0%wHohi*cnECfi_v}lv z&g{Fhf1CZ!Y}?$g=JIp5=3abf?Vaeg?_Zn0cKcfM{Ez2^2Nzym_{G8> z7YO71g?}t`E}mNa?c!e+|GD_BrSC5NeCguS^~X>C`ZrWqK0LDc_ol9=gdx3TkH0bZ z-berH_}M4MQ?D#t$Dr%i|Aeu;yeus+%W>nzjbgFLSVMzUgS1~_lwv}vXN`>&Z77n7 z^_j6g$c%M#2(^z~I$^eik~#sY3ZzAEudoo~iHt@HX^j+88YML{HD!P_iA04b?UDwM zBWX~b(iJfF!VA0BbZA+lF^z^K9u4lLKo&1iyb?dbjvcE6A}zv<#+LR(XU~zo{$s~a zeCL^G_O{{ehq3l{8dTfet;kygQ{6fmGAL<~X+YavU&+H%B`6HL1|T*Yr%nZAOc?Ez z(U&2%FVe*JMT!`ZtO8@I^*$U=%O%+XS9j01kM#ES_a9B^;bbjLJ^Yms*TV+^d8=zUdbIzEzTP7}-Cdm~DpYsR zqoz(@8F8Hs0%~CF*=I!$#5jg~sd6J3Rf-drF3fG8D#eDb8a{+|=OI!t53G&D?^VM-r>)G#G$VGa`zmmohP4$4jVsFOM~ zF?tkcjN&m$OQa;F7(uB3P0gcAwwyJM)93kHjCMC=WJ&JgQ z9)b*E7=-$Kl%OD9CytM?)>aV}2TXqNIMopv?D%n?Sj0$}on1Z27@=1lAbL<8h9P4; zJ;EV`i_0>)&wKj_j+V(# zpe(Fhuq4c?UB+v76a139Q70-Bm@NUb?M%Gwyh^7IC!z#&6HsUFG3w;eS!HUF-w*4I z{0#?HKA_$SNK^6ueOg5wGLZ3ny6q3?wo($j5r`XsfzbU?yJ^(E@T%SPs(oR^ZW^&S zb9O_{K1jcjv*S5?a@>xO+mo-^@z-|k57OVCu)-fr*dI>VI}^M{*ucv6g#Ce75$oF% zRunSK?l^qi;rATA>R8cL$A%1H&EXqzVGY_f$A+-!aMG-S`;vpps>APGw8E?SDyBkr zdskPQvPWLGOH>z5$1Xe8({G-eJZA%M3Oaet3O?tvo*d9rk&5n!Es2^RLbd)Ttro0~TLtUT zU3`}D=YrJ?&7rk|6^5qc&NK&Br}-@bD_kn@)dIK7wP}8LcgbFzwxYKR{B8lwu!7iM z>1}KRwzw*9TVa_Z3@>DhPpZgZLg(AE7u&)>-N3weG%k5`HYZcbZ4G%sA9<_~Z@1*`sd zd44g^oxBx1a}~#63yXDp_e2oIBG`jzOMlM)MZnSowFTjVtVq!fxGtxOqDwxP{P;AV z%LA8-t{V=yZnO?_1hdXVg(8c&^)PoiyIE{>-B$TEeXX^zxuvyH%x#aiHXd$Q-`6pJ O1D}{X60O{LzxZG2UmCIi literal 0 HcmV?d00001 From 5b90bc571eff2c0dd1d5e578fadc8b77929dc51b Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 7 Aug 2022 13:50:38 +0200 Subject: [PATCH 56/88] Purchase AI uses bit tables instead bytes --- ai.asm | 21 ++++++- constants.asm | 170 +++++++++++++------------------------------------- scorch.xex | Bin 42764 -> 42686 bytes 3 files changed, 61 insertions(+), 130 deletions(-) diff --git a/ai.asm b/ai.asm index 6217917..39fe78d 100644 --- a/ai.asm +++ b/ai.asm @@ -858,7 +858,15 @@ PurchaseAIRoutines ; TankNr in X ; DOES NOT CHANGE X tay - lda PurchaseMeTable2,y + sta temp+1 + :3 lsr ; A=A/8 + sta temp + tya + and #%00000111 + tay + lda bittable,y + ldy temp + and PurchaseMeTable2,y beq TryToPurchaseOnePiece.SorryNoPurchase jmp TryToPurchaseOnePiece.PurchaseIt .endp @@ -868,9 +876,18 @@ PurchaseAIRoutines ; TankNr in X ; DOES NOT CHANGE X tay - lda PurchaseMeTable,y + sta temp+1 + :3 lsr ; A=A/8 + sta temp + tya + and #%00000111 + tay + lda bittable,y + ldy temp + and PurchaseMeTable,y beq SorryNoPurchase PurchaseIt + ldy temp+1 lda WeaponPriceL,y sta temp lda WeaponPriceH,y diff --git a/constants.asm b/constants.asm index c1b0856..cb5198c 100644 --- a/constants.asm +++ b/constants.asm @@ -503,137 +503,51 @@ WeaponUnits PurchaseMeTable ;weapons good to be purchased by the robot ;the comment is an index in the tables - dta 1 ;"Baby Missile " ; 0 - dta 1 ;"Missile " ; 1 - dta 1 ;"Baby Nuke " ; 2 - dta 1 ;"Nuke " ; 3 - dta 1 ;"LeapFrog " ; 4 - dta 1 ;"Funky Bomb " ; 5 - dta 1 ;"MIRV " ; 6 - dta 1 ;"Death's Head " ; 7 - dta 1 ;"Napalm " ; 8 - dta 1 ;"Hot Napalm " ; 9 - dta 0 ;"Tracer " ; 10 - dta 0 ;"Smoke Tracer " ; 11 - dta 1 ;"Baby Roller " ; 12 - dta 1 ;"Roller " ; 13 - dta 1 ;"Heavy Roller " ; 14 - dta 0 ;"Riot Charge " ; 15 - dta 0 ;"Riot Blast " ; 16 - dta 0 ;"Riot Bomb " ; 17 - dta 0 ;"Heavy Riot Bomb " ; 18 - dta 0 ;"Baby Digger " ; 19 - dta 0 ;"Digger " ; 20 - dta 0 ;"Heavy Digger " ; 21 - dta 0 ;"Baby Sandhog " ; 22 - dta 0 ;"Sandhog " ; 23 - dta 0 ;"Heavy Sandhog " ; 24 - dta 0 ;"Dirt Clod " ; 25 - dta 0 ;"Dirt Ball " ; 26 - dta 0 ;"Ton of Dirt " ; 27 - dta 0 ;"Liquid Dirt " ; 28 - dta 0 ;"Dirt Charge " ; 29 - dta 0 ;"Earth Disrupter " ; 30 - dta 0 ;"Plasma Blast " ; 31 - dta 0 ;"Laser " ; 32 - dta 0 ;"----------------" ; 33 - dta 0 ;"----------------" ; 34 - dta 0 ;"----------------" ; 35 - dta 0 ;"----------------" ; 36 - dta 0 ;"----------------" ; 37 - dta 0 ;"----------------" ; 38 - dta 0 ;"----------------" ; 39 - dta 0 ;"----------------" ; 40 - dta 0 ;"----------------" ; 41 - dta 0 ;"----------------" ; 42 - dta 0 ;"----------------" ; 43 - dta 0 ;"----------------" ; 44 - dta 0 ;"----------------" ; 45 - dta 0 ;"----------------" ; 46 - dta 0 ;"----------------" ; 47 - dta 0 ;"White Flag " ; 48 - dta 1 ;"Battery " ; 49 - dta 0 ;"Bal Guidance " ; 50 - dta 0 ;"Horz Guidance " ; 51 - dta 0 ;"Vert Guidance " ; 52 - dta 0 ;"Lazy Boy " ; 53 - dta 1 ;"Parachute " ; 54 - dta 1 ;"Strong Parachute" ; 55 - dta 1 ;"Mag Deflector " ; 56 - dta 1 ;"Shield " ; 57 - dta 1 ;"Heavy Shield " ; 58 - dta 1 ;"Force Shield " ; 59 - dta 0 ;"Super Mag " ; 60 - dta 1 ;"Auto Defense " ; 61 - dta 0 ;"Fuel Tank " ; 62 - dta 0 ;"Nuclear Winter " ; 63 + ; "Baby Missile ","Missile ","Baby Nuke ","Nuke " + ; "LeapFrog ","Funky Bomb ","MIRV ","Death's Head " + .by %01111111 + ; "Napalm ","Hot Napalm ","Tracer ","Smoke Tracer " + ; "Baby Roller ","Roller ","Heavy Roller ","Riot Charge " + .by %11001110 + ; "Riot Blast ","Riot Bomb ","Heavy Riot Bomb ","Baby Digger " + ; "Digger ","Heavy Digger ","Baby Sandhog ","Sandhog " + .by %00000000 + ; "Heavy Sandhog ","Dirt Clod ","Dirt Ball ","Ton of Dirt " + ; "Liquid Dirt ","Dirt Charge ","Earth Disrupter ","Plasma Blast " + .by %00000000 + ; "Laser " + .by %00000000 + .by 0 ; offset to defensives + ; "White Flag ","Battery ","Bal Guidance ","Horz Guidance " + ; "Vert Guidance ","Lazy Boy ","Parachute ","Strong Parachute" + .by %01000011 + ; "Mag Deflector ","Shield ","Heavy Shield ","Force Shield " + ; "Super Mag ","Auto Defense ","Fuel Tank ","Nuclear Winter " + .by %11110100 PurchaseMeTable2 ;weapons good to be purchased by the robot (Cyborg) ;the comment is an index in the tables - dta 1 ;"Baby Missile " ; 0 - dta 0 ;"Missile " ; 1 - dta 1 ;"Baby Nuke " ; 2 - dta 1 ;"Nuke " ; 3 - dta 0 ;"LeapFrog " ; 4 - dta 0 ;"Funky Bomb " ; 5 - dta 0 ;"MIRV " ; 6 - dta 1 ;"Death's Head " ; 7 - dta 0 ;"Napalm " ; 8 - dta 1 ;"Hot Napalm " ; 9 - dta 0 ;"Tracer " ; 10 - dta 0 ;"Smoke Tracer " ; 11 - dta 0 ;"Baby Roller " ; 12 - dta 0 ;"Roller " ; 13 - dta 0 ;"Heavy Roller " ; 14 - dta 0 ;"Riot Charge " ; 15 - dta 0 ;"Riot Blast " ; 16 - dta 0 ;"Riot Bomb " ; 17 - dta 0 ;"Heavy Riot Bomb " ; 18 - dta 0 ;"Baby Digger " ; 19 - dta 0 ;"Digger " ; 20 - dta 0 ;"Heavy Digger " ; 21 - dta 0 ;"Baby Sandhog " ; 22 - dta 0 ;"Sandhog " ; 23 - dta 0 ;"Heavy Sandhog " ; 24 - dta 0 ;"Dirt Clod " ; 25 - dta 0 ;"Dirt Ball " ; 26 - dta 0 ;"Ton of Dirt " ; 27 - dta 0 ;"Liquid Dirt " ; 28 - dta 0 ;"Dirt Charge " ; 29 - dta 0 ;"Earth Disrupter " ; 30 - dta 0 ;"Plasma Blast " ; 31 - dta 0 ;"Laser " ; 32 - dta 0 ;"----------------" ; 33 - dta 0 ;"----------------" ; 34 - dta 0 ;"----------------" ; 35 - dta 0 ;"----------------" ; 36 - dta 0 ;"----------------" ; 37 - dta 0 ;"----------------" ; 38 - dta 0 ;"----------------" ; 39 - dta 0 ;"----------------" ; 40 - dta 0 ;"----------------" ; 41 - dta 0 ;"----------------" ; 42 - dta 0 ;"----------------" ; 43 - dta 0 ;"----------------" ; 44 - dta 0 ;"----------------" ; 45 - dta 0 ;"----------------" ; 46 - dta 0 ;"----------------" ; 47 - dta 0 ;"White Flag " ; 48 - dta 1 ;"Battery " ; 49 - dta 0 ;"Bal Guidance " ; 50 - dta 0 ;"Horz Guidance " ; 51 - dta 0 ;"Vert Guidance " ; 52 - dta 0 ;"Lazy Boy " ; 53 - dta 0 ;"Parachute " ; 54 - dta 1 ;"Strong Parachute" ; 55 - dta 1 ;"Mag Deflector " ; 56 - dta 0 ;"Shield " ; 57 - dta 1 ;"Heavy Shield " ; 58 - dta 1 ;"Force Shield " ; 59 - dta 0 ;"Super Mag " ; 60 - dta 1 ;"Auto Defense " ; 61 - dta 0 ;"Fuel Tank " ; 62 - dta 0 ;"Nuclear Winter " ; 63 + ; "Baby Missile ","Missile ","Baby Nuke ","Nuke " + ; "LeapFrog ","Funky Bomb ","MIRV ","Death's Head " + .by %00110001 + ; "Napalm ","Hot Napalm ","Tracer ","Smoke Tracer " + ; "Baby Roller ","Roller ","Heavy Roller ","Riot Charge " + .by %01000000 + ; "Riot Blast ","Riot Bomb ","Heavy Riot Bomb ","Baby Digger " + ; "Digger ","Heavy Digger ","Baby Sandhog ","Sandhog " + .by %00000000 + ; "Heavy Sandhog ","Dirt Clod ","Dirt Ball ","Ton of Dirt " + ; "Liquid Dirt ","Dirt Charge ","Earth Disrupter ","Plasma Blast " + .by %00000000 + ; "Laser " + .by %00000000 + .by 0 ; offset to defensives + ; "White Flag ","Battery ","Bal Guidance ","Horz Guidance " + ; "Vert Guidance ","Lazy Boy ","Parachute ","Strong Parachute" + .by %01000001 + ; "Mag Deflector ","Shield ","Heavy Shield ","Force Shield " + ; "Super Mag ","Auto Defense ","Fuel Tank ","Nuclear Winter " + .by %10110100 ;------------------------------------------------- ; Screen codes of icons (chars) representing a given weapon diff --git a/scorch.xex b/scorch.xex index ba21ea329294aff1ee025e8a3479da0289f303ba..a2ac02dfaa144e36e1e0de00b076466088c244c4 100644 GIT binary patch delta 15401 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 From 2d274b05d0611a31d9caa46bfcf44864a1d3d1a3 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 7 Aug 2022 16:01:09 +0200 Subject: [PATCH 57/88] Clear variables optimisation and better text screen init --- scorch.asm | 15 --------------- scorch.xex | Bin 42686 -> 42671 bytes textproc.asm | 6 +++++- 3 files changed, 5 insertions(+), 16 deletions(-) diff --git a/scorch.asm b/scorch.asm index de37aa9..f33f80d 100644 --- a/scorch.asm +++ b/scorch.asm @@ -925,8 +925,6 @@ deletePtr = temp jsr WeaponCleanup - mva #TextBackgroundColor colpf2s - mva #TextForegroundColor colpf3s mva #>WeaponFont chbas ;parameter for old plot (unPlot) max 5 points @@ -964,19 +962,6 @@ MakeTanksVisible dex bpl MakeTanksVisible - - ldx #0 - txa -ClearResults - sta ResultsTable,x - sta DirectHitsL,x - sta DirectHitsH,x - sta EarnedMoneyL,x - sta EarnedMoneyH,x - inx - cpx #MaxPlayers - bne ClearResults - mva #1 CurrentRoundNr ;we start from round 1 mva #6 NTSCcounter diff --git a/scorch.xex b/scorch.xex index a2ac02dfaa144e36e1e0de00b076466088c244c4..d05606759c9891120134e4ca950215b6d808af26 100644 GIT binary patch delta 16359 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 delta 16370 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 Date: Mon, 8 Aug 2022 21:18:47 +0200 Subject: [PATCH 58/88] Game Over and Credits - but RTM problems --- constants.asm | 37 +++++++++++++++++++++++- display.asm | 12 ++++++-- grafproc.asm | 7 +++-- scorch.asm | 26 +++++++++++++++-- scorch.xex | Bin 42671 -> 34001 bytes textproc.asm | 76 ++++++++++++++++++++++++++++++++++++++++++++++++-- 6 files changed, 148 insertions(+), 10 deletions(-) diff --git a/constants.asm b/constants.asm index cb5198c..b561085 100644 --- a/constants.asm +++ b/constants.asm @@ -676,5 +676,40 @@ zero digits dta d"0123456789" nineplus dta d"9"+1 space dta d" " - +;------credits +CreditsStart + dta d" "* + dta d"You were playin",d"g"* + dta d"Scorc",d"h"* + dta d"Warsaw, Miam",d"i"* + dta d"2000-202",d"2"* + dta d" "* + dta d"B",d"y"* + dta d" "* + dta d"Programmin",d"g"* + dta d"Tomasz 'Pecus' Peck",d"o"* + dta d"Pawel 'pirx' Kalinowsk",d"i"* + dta d" "* + dta d"SFX and Music",d"c"* + dta d"Michal 'Miker' Szpilowsk",d"i"* + dta d" "* + dta d"Additional musi",d"c"* + dta d"Mario 'Emkay' Kri",d"x"* + dta d" "* + dta d"Code Optimizatio",d"n"* + dta d"Piotr '0xF' Fusi",d"k"* + dta d" "* + dta d"Ar",d"t"* + dta d"Adam Wachowsk",d"i"* + dta d"Krzysztof 'Kaz' Ziembi",d"k"* + dta d" "* + dta d"Ideas and Q",d"A"* + dta d"Bocianu, Probabilitydragon, KrzysRog",d","* + dta d"Beeblebrox, EnderDude, lopezpb, Dracon",d","* + dta d"brad-colbert, archon800",d","* + dta d"Shaggy the Ataria",d"n"* + dta d" "* + dta d"Stay tuned for the FujiNet version",d"!"* + dta d" "* +CreditsEnd .endif diff --git a/display.asm b/display.asm index 9264773..4d3d5f1 100644 --- a/display.asm +++ b/display.asm @@ -128,7 +128,7 @@ MoreDown ListOfWeapons :36 dta d" " ListOfWeapons1End -GameOverResults ; reuse after game (remember to clear on start new) +;GameOverResults ; reuse after game (remember to clear on start new) ListOfDefensiveWeapons :16 dta d" " ListOfDefensiveWeaponsEnd ;constant useful when clearing @@ -148,6 +148,9 @@ EmptyLine ; ------------------------------------------------- .ALIGN $1000 ; WARNING!!!! 4KiB barrier crossing here, might need reassignment!!! ;----------------------------------------------- +GameOverResults = display+$0ff0 ; reuse after game +Credits = GameOverResults +(6*40) +CreditsLastLine = Credits + (41*40) GameOverDL .byte $70,$40 .byte $47 ; 16 gr8 lines @@ -170,7 +173,12 @@ GameOverDL .byte $42 .word GameOverResults :5 .byte $00+$80,$02 - .byte $70 + .byte $70+$80 + .byte $42+$20 ; VSCRL +DLCreditsAddr + .word Credits + :6 .byte $02+$20 + .byte $02 .byte $41 .word GameOverDL diff --git a/grafproc.asm b/grafproc.asm index daae63e..db24c15 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -905,6 +905,7 @@ tankflash_loop jsr SetupXYdraw.X jsr TypeChar ToHighToParachute + ldx TankNr rts .endp @@ -948,7 +949,7 @@ NoFallingSound jsr DrawTankParachute DoNotClearParachute mva #0 Erase - ldx TankNr +; ldx TankNr lda EndOfTheFallFlag ; We only get byte below the tank if still falling bne NoGroundCheck ; coordinates of the first pixel under the tank @@ -1097,7 +1098,7 @@ DoNotDrawParachute ; the horizontal coordinate is even. ; If it is odd then it must be corrected because otherwise ; P/M graphics background would not look OK - ldx TankNr +; ldx TankNr lda XtanksTableL,x and #$01 beq EndOfFall ; if it is even then it is the end @@ -1133,7 +1134,7 @@ NoParachuteWeapon jsr DrawTankParachute ThereWasNoParachute mva #0 Erase - ldx TankNr +; ldx TankNr jsr DrawTankNr ; redraw tank after erase parachute (exactly for redraw leaky schield :) ) mva #sfx_silencer sfx_effect rts diff --git a/scorch.asm b/scorch.asm index f33f80d..6ed017c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -60,6 +60,7 @@ .zpvar xtempDRAW .word ;same as above for XDRAW routine .zpvar ytempDRAW .word ;same as above for XDRAW routine .zpvar tempor2 .byte + .zpvar CreditsVScrol .byte ;--------------temps used in circle routine .zpvar xi .word ;X (word) in draw routine .zpvar fx .byte @@ -111,7 +112,7 @@ icl 'lib/macro.hea' ;splash screen and musix - icl 'artwork/HIMARS14.asm' + ;icl 'artwork/HIMARS14.asm' ;Game loading address ORG $3000 WeaponFont @@ -267,7 +268,7 @@ eskipzeroing lda GameIsOver beq NoGameOverYet - ;jsr GameOverScreen + jsr GameOverScreen jmp START NoGameOverYet inc CurrentRoundNr @@ -1031,12 +1032,33 @@ EndofPMG sta gtictl bne EndOfDLI_GO ColoredLines + cmp #9 + beq CreditsScroll tay lda GameOverColoursTable-3,y ; -2 becouse this is DLI nr 2 and -1 (labels line) ldy #$0a ; text colour (brightnes) STA WSYNC sta COLPF2 sty COLPF1 + bne EndOfDLI_GO +CreditsScroll + lda #$00 + sta COLPF2 + inc CreditsVScrol + lda CreditsVScrol + cmp #16 ;not to fast + beq nextlinedisplay + lsr ;not to fast + sta VSCROL + jmp EndOfDLI_GO +nextlinedisplay + lda #0 + sta CreditsVScrol + sta VSCROL + adw DLCreditsAddr #40 + cpw DLCreditsAddr #CreditsLastLine + bne EndOfDLI_GO + mwa #Credits DLCreditsAddr EndOfDLI_GO inc dliCounter ply diff --git a/scorch.xex b/scorch.xex index d05606759c9891120134e4ca950215b6d808af26..da8dba38b675d4533616b41c5cd5381dc5fc93da 100644 GIT binary patch delta 18896 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 yaubOH{>i(cAQ#^qz&8jAatp^5 Date: Tue, 9 Aug 2022 10:10:44 +0200 Subject: [PATCH 59/88] Tanks and mountains on Oprions screen but RMT still hangs --- display.asm | 5 +++++ scorch.asm | 13 +++++++++++++ scorch.xex | Bin 34001 -> 34100 bytes textproc.asm | 34 ++++++++++++++++++++++++++++++---- 4 files changed, 48 insertions(+), 4 deletions(-) diff --git a/display.asm b/display.asm index 4d3d5f1..b85e1f1 100644 --- a/display.asm +++ b/display.asm @@ -31,6 +31,11 @@ OptionsDL .word OptionsScreen .byte $30,$02,$02,$70 :maxOptions .by $02,$10 + :(9-maxOptions) .by $70,$10 + .byte $80 + .byte $4f + .word (display+140*40) + :21 .by $0f ;76 .byte $41 .word OptionsDL ;------------------------ diff --git a/scorch.asm b/scorch.asm index 6ed017c..4546d98 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1013,6 +1013,19 @@ MakeTanksVisible rti .endp ;-------------------------------------------------- +.proc DLIinterruptOptions + ;sta dliA + ;sty dliY + pha +; lda dliColorsBack + lda #0 + sta COLPF1 + lda dliColorsFore + sta COLPF2 + pla + rti +.endp +;-------------------------------------------------- .proc DLIinterruptGameOver ;sta dliA ;sty dliY diff --git a/scorch.xex b/scorch.xex index da8dba38b675d4533616b41c5cd5381dc5fc93da..50bacb1294b1e248f1918d36635c267c18a42012 100644 GIT binary patch delta 16983 zcmb7L31AdO)}EPUauLXIkDLvzD_IevA`B=;5HZI<5M33|kwXcPaCv|dI>$7IBpqkc zAVD3RuFlZun1+ccYgWcZT_BScw!QZE_;K+7l3f#f*8|!8h5xJWNkRbk_s=oiRrTuC zt5>gHz4z+PyIX9pRM-;EowH=zE;c13$0vL=!!m36WMNGFKp`VOKK5@P|IrM`tcn@7 zOv}X8^k>$h8!~LR)iy`(-_?%dJpBrxB!2ManNwnrYi4HH!T__`&?9r*M9Zu-nYL0# zp2GpSY{B7(7ycAq6#vnT%q@G}_7_w3ev?*dWB;7P1Q)4mWKCyU^69gU8Jx{*UZPm| zYi!J(Im|ORGxpiE;m?YNt7N{+R;>IDgxS9y5O^lss`O!iq@s|i$=U4{TSx5_r`L+k zNR3#uQw-FIkt(sMRt!|pmt%FJkI|CQcC1144RJ+kSn;QZ7}QU76v}Xln?pk=u@^Yd;b@P+=aJ0qCp~mBoRu7>J00 zw?(Bba7I+(0_Q~Kfk20-SOedROip%So!shZ1zM)#3FhENCUrfNw~6_EDKq9)=F^P^ z-?%Cz6@z$!7B4%O@+=Y&b!$tj>c|>hYelAVqK-P zd8Y`d9XrM5T0rfn6+P%1v_$sxz^1rZb-(!2KCvF1_KBXZHRB*5sOdvc$$VU@SV0-a z23L+aN%%*85CP<1!Ve+*P||M@nK1YgpMXxc>SJ7rrDG5=x^$q+V07(3zajKFl(0ZR zhqY+DRpV_MAE)v08gJM51dUJBJnHim`~jQ#LIwY(O$}7=Z`stH75v*a^~DPQu+2ke zD3;?Hnho3X5h)-`fm2f8%DTWKbpg4qRgZIg?ok$NUn!P)WfSLDM6RaR??36+Y$t0% zHBniM4^8n$U()^#0=COaJYOp-=lHo2Kb@{lg2c?cRmtGLvyphk5zq)e{sgK6pAh9- z;6p(fI%;$T;`T4VLaQWjzgKiVzY!RUMa2Sr5D+W{eln+p>8meiTXa?xc(9WnsPt4)%AGpK9V&_t} zSj-rhQco<3W&FKjMjVs&k}(_;_Y$x+EORgVidZTFoY;0eK|Ads7PBsO%|h z_SgA8=0v@t-0@=@S~i0zAwS(5pLzfleI~CLa{SC)HZB zxE&?mMc})o@hcX+C1PAj*G80U}`r|_CkHVzn=MU zomtSR&Ahe-_)m2GQRcx}%0zHVctI zi^nukALAR%`6C*I2>An=NHwHCvRTAjQQj<`6xzP3(cTLQTC0cID2y299E%ffh`QdE zo)%5h6Y84>2wI}*wQ27vsl-`bEK;yLhm9IcwKcS8A1LQwE^{!)t>iFMge}8Hv6wd?#$eoxqb46mHVSw5 zZ63wWLpD0^my|yILW%k7L+%m4 zhtl^ve3-1Klf7S}Y=G{5mGGYvbsyosATeUTBx*BhxA0#P%A&z$*Gp5;YnqrKP#&k^ zdV*jt@Nd%Bx9Dqh4vvRaI37Tzg@1+c?C*&BIpJR=>KBCHN7OF~c%Xho_-2zY-~`r% zGNZ3Srnyq-3yvNqS`a8s5Dz6TwhT~4*dXD#Ad-1=t}9gBemPehwjC+~j^1s~P;veo zuGlxwcJiV|;f9gFo_HP}XQ&jgr9RuqvQSyn0{vGSZ3*}5jgZ~LhmY~6Xx_jL7Z)dy21n*so5_|31OxG9NtsRD z+w(5b68Ez$iAD>X2e!_nY|SL0QhpW*mGL)|-LpxkI4}p*fqAG7+==SI1Ekf_&am?- zb76U4X-m{wh%?`ol48<^UKQz9ZICN62gV4xN9JKG0E4^Vd?)JiV|Dqoj_UiTGZ;2K z(OGmS!3dED2pS$BkvmDW#b;Lzqt2Z(KRuE2yHIz+Z^8f}C1g7W14F0SS*Xf7}&iwd-<%BB_l|-!&%3?M;HT=1|u2>mBnVNJd zre56A#ng*i>?XVEN~XpZ%w{a#kY1%O4QMmhe_E{Ztvi(dAfrnT=yLzQr>YAIRl_N< zXZdARA>Ut!s?n4q*caaqG@{6Sq z$1jmWn^}IT6ndI}SW;{hXED!;%$i4mmKEo%BZX_pJmb%$+|;p_aP^`3bZa&>Skwn4 zYzvRXm8cI%T&cQ9;>y&;5{6$QVfdvIw^@By;+{6p0^^~2?QMwZMIBkAC&n92n7M|| zvIm!7uh2vMQ9>=Fy^nW3O7N#XN{%d)eBTgDb%NAZ{U|Y8V%7gNkQ?;Jb}u}X9~NM% zI`iW=FLtgIJD7u+>}t1}tbwSkd6Ze!pspj@gX&s}J$#qCP;z0W&U|Z1N=iN45y3y! z$^Ni_Sv}`~1^&XsIk0NAkr?d;f}?74CCmkd+OO2)cz^w_N+@#b3O=&H6gnk^vbAR} zCre=xmVxvTUJjKVD(#+`1`Cp|K6r87#Et1Kk~DLE9%j%TP>aQ)so=I73a&P2Y1+=u zAg~GWcTo#h>Mhgf9GO9Mn{S2-a8wmmb+KC;&t$RcbRtw-p3cV9DJ!*<>UwNBdQQ;Oke-b}i*kzFuGDe0&d~Oy#oYE#?a~siwrM-1Lfu0g zNotfNTlpvqTiCuBX$A?^M(eN@w@2Ai`jF6eu%-6U_NMKiShIxf;2mt_OCd$ST}Hnv zb><|xoy0I^r~a6bBN3uEooIGrAX<^ESe*q?f=Ul~oFKX1xkDLfu1N29m9nB|4mk~9e;Pkem zCJOO)=lz!Q?gj#VbD;%p*xsfc&hYG78U}#X-H@ZEy%#-)&DeHl^tACnG$8#C(GlI@ zfX_V9zFIoQ?uqqa%{GaQx&&jbk>U2!pvM072pPDC-5IS0mf3ejpTWa>SF{n2b$6%F zi1yQOkEWq;*Im&Bjg52vcvmzLMe(la7(9009UYHH-rdnF@Zj%`PRAp7w>$gJE=xR- zTH@~TozxVk@X9%^8O@<)M?AJcbM&(CwYw_Mc8FTs*>CA4Exy1B@x_5S(*uc|VW~TU zGWgUXB6NU~?;Z4WkG$(VgkuaeyDC3}>(U{DOMO54R&*fd058Vu9|Lfqx!piQ2LVvV zrv~!#aE%264NYUXJ}i70oCpw1+CkZiP?6E07Z3nkIHv&?ZxG)D_Op25C{eVpm}sp( zht|pBtOr~;Yz!ZRQ-*><@X$`+l|(bJH7$tK;GKDLk^Y6bx?qN#IPA(bJuP3GEy}sM z_lW#Gq8UIlL;+Rziu}D|3;?Tyw-A=fhxK25r{Q2u3ZFq-1<@TVjWNBk5*$^i_<{mP z8-!AVgr+wMY;8!LLbU$iHOi51MOt+kUFUT&Y;PQ{)Z~6jrY84B874P6zfFy9YLowt zaIe-o;Sf-}Q{BfBYI(vxdDkCKhCPlU5+o0rvA_3Wf1?H3vl-eGgAOOqnh;45PeWk?&&x{8X|Hff0(G4@*j!%7U2)li5wy%sqirIjc}@eBn80V zNYsO*0HdfxJwysH)^0N4k7U9@GT{(u)!s*+Jw%NXok4WPfXCAS$8$GJ!SS+(01BXC z!Z#8AWlG=idwq$@E3RKi2|9)iO3=N@pyXwW=K@OhLf`(5bN~jf(QBmRWsDD(sF`%^ zr3*A(AsORbY7^-gXkdAnv|E5g-AkW)i6hlyeu5U~e*b=_`ie2{S19M{ys_x}NC9TD z&p>pAQ*9&#gA5L-qyT{?aA-FvK%{9mQTLF7p_nsE)Ys`+@26}123_kvV6Ex;d+GXf zbp1Ee^?w>R$oVUL{>uOA)r`LC38E#b2@*_?ibZhgwB?wL;~I3$=m$(NV(sW2&Ge1H zIZ{Z^kyZ3mWmnS!d<_-p;lw@YKENAl{52Ad`s^qt)36dPJ;Xm}bRuDd_#(kY-B0>z|_7%1j#Om=+AdyZcr*jNbP3~dMv ztRmxA5yvzqs`7t@DqmdZD&n?cp;19$j0#NiNTyXwK;@B{)^I-;UfL-EW4iK~A(g+O20lDI_(|hbkAmbr)tEj}e!1;C>;{fv^tnl!u zCUHNp&^TFo^b}P^rk(;%6C~EuNtbX4f=htm1OWyT4@nO|QePzjFO~7Y76Q=@R1;Mt z0f7p2pq5H>Ab>3#An>}5I?nsGXi0yi9h>M4NKKw(s8c z*#FHK;OBNc_ELlpNYRZRXM`n10_8)*ONweKDn?qur%W|T>?DafQDBV9Vlz#30*W3-=tobZparlvkH%iAGti!9#f!9Va&k$&& z_j4X21b_h23PRSy;%9DpsI}E`1{SPQRDKJ?9(8a8`mQ9``u%=&CCNUANe=q6JscG2BBg;In;JP}(J*5Xf9TuqZd`<&nJ=?XLD!Ye&k>YLpjf3P$> zo%)y4dPSP9a^@%18%hq*C)*#3eZ$(Shm+P`3O}arJ*^Ja1E-gTVMn{PTg)!uwpwSt zqZg9DgnxhWMuTfmuu$S}!a-7SkHk+S>NN9=xrsz)_)?S^Xu_PP5m%_V1AtQj*a5&B ziFzZPJ8*a^p#{wU$c?y)QzwxlQ;9ECMfD^KLvNy{kR#J*n~NN|iG)+tn+Q0Cfxs${ zaS}5t7V-Uwhnj`S@Vf1Y-ud@=>e1GxlG_*QU&;NhX`e?Otwj^`e!I&=wa*7f`h1}O zyH)$%qfFs5YzjM(zt*Nqrx(k(YPI2767iVBHl>w6XbWCVvXlc=7F)H|#`pU`^@>^Q zHx+!YsD4+$yJ27QUh%?9RpUmLu2uId$G5})6r6TjuVrELtZsTebKFEO1QdU$; z#b}atQb|O+d*I?|KdtZ4Qql3D(ScSZX#IDWil1eQkxbF?#@S2*Dp4DVN)%8DO(&z7 z!lr6*?v0D_)|e@_v{ZS;##th+9yj6}Z7RZYMe$Zx);1so)2aNsY6`=67-D zLmF=poBvY5XN!$<#O4zfe3{sItJwUv3O+|{%o3Z8i8mV)_b8tTMb{7QGZ{{`KRQfn zL;1z)or#%ZN=i|tD7; z0+YGLEiHiyXL99aWvG%~`h4yQ?(4;UFd7`eiWv)b9TrSk&i9?DOy>Jd1S;c38Rz<3 zdY3*=st;8nEVH5^(qG*1kIc4~14-I$KWnvphed36|I z!r6&evWu&Mnt5%-F26J6%^${X3vu}t?%BxYv_A4Bk0CKsaF`PB_qzXkDNs)7K}kin znTl+kziFQ_a&U-Z@q1eijM2`7{19>=p?Ixbc#V-Fd#i&$2d>tz!MFtfuWQO3XPhB_ zeh0S?%&+Et7ffi{N6`$?PLH1};q0;SZb`rF>$#FPNS!BX$!d;-8uzUatGV>0;&?{5 zPh*a>V}R6|gXYFuX~$HlGuIe=9Op$qmutfnXOfZvo=xMp<1=;GSxeQvZs|y#6prKb zB%l;BCJi6GydEq7TQ_?vKmtM`+<_GB`(51eY1%g!jl$fQLScaBJeUdtW`_0+Snpsc zk%Ns5AGCZtK+;oN4rFLQ1TC<24=<~7OH5pTY+FJ4a}57I`Uv(-oI5IfK4~C3V430J z4_Kxh1}eSpQMcq6X>h@P`6IMI4F$KP_K=Ty3OTsbtj(3Q3~-?wW1%Hh3DzWnOSDqW zlbrc!N8D04*##`^Y2W|=ffbyX$4c2&9#a_EBeCixD*7junLq|s1OOq<(;&`fJL1Wh#;>>XEV{p1HglI~+oN=1U%%yhr^xoAzyhSo-%xm-yn9 z#r}O&#ty-VKP{p7`kDA}9@zo}t| zC)TPg7wTOj?#C)*bjjInh;2W*17bqhifAY6_mYo-Gpds(R;5g=zGh-o#zaroUj7;Q z?&dsU%#;xI7Uvg(JH;#q= zE287|tD}i}Iu66BxKYkVBqDh@PVuP4*?D;A&4kzs=Q7+Z?pTncvg0s}dD~%sY?)QUPt>$_ND&$Xrchq1@z8pTR4#S}3Qa zI1BP+PEjlc%Vn-XT_JNXF>jZ27Gi)Sg|haZXZI>OlDm^%DM#Me$rs3M8=hPZs&Eq) z@^=8O5US|_;;qOF5}ALj@EDTi%|P@@XEpn{JGZKb zo?lAIUk=GQKhG9;nCl+JWXm!w3!S2~g{>Q}=IP}W0rh=%4+R#EyyFp<3k7xgQR zTu9}?|1b%RSt()y=AzJg>%ENFkDS}2F^D>&Nn}dtQvR2 z>Sb9$YeQt6;P(gP%wqwEg5M9_*as$3B{Gh>SV#M%!ZNI(7AG}mE!;L15T6?6?uXRe zr62<@00G1)1LE^8h*9T31TRvnW>^MU0f@D0+Ke)Bg`QZeBCi!5}t-*Z| z01#YEMABt5y#|Wc!eFTpr%ytX%b4)@fpJF4iv^`uQCcU%-;UDKZ^GZFpLG@utqhDH ziy|W{^DTj~256EGi5IX}aARzIS{ectrtSDYv>!c2DxLs6t#bmFVQbKWT)b_DdoxL& z-{jATYthcQ;P5NsI#!SzT=oSmwGDou<((D6|72c!7#8wOg1 z_H5~{08U(Nz+b_|26p8BSi`y%Xuws?J^HW1X|xB+znlqb_GIdeOL^rd+Udh<>3YYD$j7(P39NCCnJr6)FX zFNMlZJk2$_Ptk;f0%7Cq;X?~ZvW=(h#V5R+5-K^taSd+gW5Vv)W373@yR(N41VlU_ zLW;e?{*s+u{}JKr?7aTXk2ynomNs#FLgA$^b78eWc;J>H?3a&)Uc_-3#90Y;g(PsR zfTUYBhchHBeI7YMTbI7TmAMlicZHrmA)x%iiLG22g|Sf>|I!^?aj0hLb6ko0D!}YG z;Yazo6E$4Pcvf_zbgqRwcOrq{_WAP=IPZ(tb{sBxtkPaWsB4sp<;Z^N$0~$rs^S1w+Au^q%|0gCQIzHIIcTMW81{sR!-!0{K#* z_-8nu`e-t8HXxj$`l#^KoZ-W#KXLLIXGqLXLUN+4r)H$MPKZbwmfe>>AvDby!hZcY zGyRE6#oRnJ6Kd%*h;cuTcrRCi+yABYTq(bSAO!#wW&D%$V%&xL6R1aJJB|O*n#afq zvma_oC~r2I z@eV4v{b_m^z0Oape+TKR|AeWhb->iq+MH^dR8+?Ua>odIDd3P)hqPlX=|q?Q($@%I z95nM>M>~svo5GwOOI!%IwWpyJj{9sZK_UGt3W&$tDr)bWF+Q3vrd@_`9D;EJkWMv@ zAS~3E5|b?PDN?KB7%aFfB$d)^l9QFYD(P6?A(MpqQW4?FtT98s+pu4*p!@XRu&t%V zTaLW?k4u?4;pMDJ3C~v|!9^50vvS!Rh;A*fGLrFeT{1-<61`C$6P>D$j84-XxHm~f zcKtBzO6JNZ-Cu3MCsW(?a*VzxqquTtZC85|2js;;tJ;N-=_uV*i4bXT(~2GdpyXfc zgH|M{DwfH;%7ij;<6uW-j(@s$glkaRu!!hzR4c?8_2tnRDpWf0!F== zEz@1yp(L8%89AdfdJviIKtspsYmSAISshEb!5D1L2o{}UNf2~&k76_C8+G_nj46LX zXHDm6;WrY#i13?;V&k8}9HEb+lk}wMWIaB5Bewh|qHZErKSlHuz&=Hcq@1qv5H0Ce z-44biK84mBh+0In@hElMk}#8nLV7O4QfSQ{w9(umj51jpj`v>aMsy5N zLQgs1hJxHgOgxYz_x&4#iOnzZ2lwjN9ehQ%mplHM@zD5*iMgJ#Ej7~uCs`yJAs;L zoR(zF6oGO&&p7wZPhl`HV6XxK!T=d@^{~VDdTG+Y%}*Ijf{SSMOvQvpM<-D~)SMf- zQS-py8t~J=yzsDl^srMnXzI9U(K$haOS3K7q9@XnBIZfqMfaHgv1Zz0)DA?gbJj8H znIi%X^)eYZCr-Rl-wg%oycxxDT!0pLaXS^`o`qRhtoNbn*&p!x-8+P<=Kh+Uf+V6) z@evpC{a%0V7o)RsuY;UG^l*5B_jN3}KY%T@uvlY^IUvb~dS+Z{lb^Qvv1L(Z+(VdO z8aNq%>fcF4SkUI$hxgFXpx1|92bW(j0xJyu=yQj#sZ^Qtk(B58R0(P_<-M!jB9se# z$rYhusJ^rE{fuW?Lt9&0bzh0uy52mMwi#(;&xT5a7XLQ2pQMj-;6oDP@wJOkHNJL1;u~AZ*R4b!1u8z)h&BX-eEcT|(fWayk3Yf9MdU-W z<3ph-?>DTi$`~h9oSxV~$4P4P8iRP6yas+xs3a#;ygVm|^X@9$e?D}RH~ZYQtvuyL znbP7qQOYM#5pWB|v99L@#EvFOTDvDy&TRp7MZ%U}SNz)iXDghcE%{B{mQY3hi(Ex8 zv1v>8xg9^?CVa zCz*GO6n;bIwUI)du=CnU;XlZ{zmdX!l6ik8h2N5SUz5V`$h;0x_&sqI{y+-PlETxZ z@Ej@pkrY~_!ZW1MDi!{V6xyW1f0M#EsqlYDVZ2oM6DhPKyz>G*anh7?Br)&<37myU zoF*19^(2}013{=6ubpJtS-h5mLBid)rLhgNPLuo^WL1%&KWuofr|&r?yC@H??dFh$ z#5HXhUoSi2e}kXoG>n3;*qkMb9-yoVbRx%YOFm=rtkv;;NP)~X{EWlF(}{4-NpFA`l)ZTU-r~g@S{% z0HXj#0JrpC`ufIVhKUC2}iWq1k1cV4whwE zJH?Gup+=$}02UT*R!`PW7`)<R3W*(N zHISkjpGexT>j)FB4#Pq7n!`ct>FC#Al;y!pqntme~YSu|Shr}u+3o{`=gy&ri)+)-}A=IYG}UT8q1xt)pj zqkd$4R|gO7^Y{%k6tay*8J?9DhJHUQ4&TpW7G!%OMe@ipdE_&)K7qx1^d4LUwA-U8 z;bh+^XTCk!5FU!&u1J~OZb!mi>5n zv^*K*JB_k}yopPU&Umx&4JCXj4}M#qjFsWI;k$W3rW_Hyf75R`dYIce<_V5Tep*ip z2{}1A$feIu;&;eeYOI)@h!P!)deF(??;Cf>&J8znbjIW9m{vOD{dC4Q%oyUcAiIZ! z=Z~~}E&F6?Ma^?$z_77bT{m@B4jkC%sPKs3wIC+NiThc#Z0# zKKwlnfzdeYwPC@TAOs48u{2lG!@OOlEJZNG!Ud>f{l`lE%4U2~Wo%>u`FH{er!|K~ zgrf)IYol9XLG&?;@w8a(c&~12C}3bX*9*fn6vJ;~7zVnUCy<{e5MUV^!;fQ9Qn0cxWU;pplHN!u-1i37)&+@t?wOkky+-MBJ5@pP=gm zXY;2O;Pz4hTy6gE3an`N%AKFEN!f(d-B&{an4A7`X2=#e-FjI3`?#!PU4YKE#P~p3bjtcEE*k@3|`pZqS{vT9?Q!tuA#RnHq0qT(I zM87kP)H1`)r^#hFMB3w#Tn5$GOfWhxum*01aM16&5*H`;;+yGpbe6 z!rwDytq0!XcDNL1xE2l5yBpwSb%T%UuEjA4f5d3$4GyYOex}3t3wu0h&_jFRr>7Hx zQ63ar_dK5Rhh`{N4=$@GJ+yRP@zV`QKl%IVv-Y9mrr)~kG4JkuEhoRX z4Y)Ql_rcOyCGyFcLF4DIDBrnP`y^%f)weI&xV7Qvdmnw?@z3x7Wf^gE_Wa*IT(ZS4 z|NhOEFKmvnH!pZ}W3jiKZ+iQ`{_VVG*6j~&ER&C(9z6cuBKZ$TzSfhS*W_+H??+f$ wI3#uZ_U*M@KY~zrwe$HGx_<&)KRfZW_k+UAZSnVrMWQe!anRnhHE#|4UlGzG5&!@I delta 16860 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 diff --git a/textproc.asm b/textproc.asm index 625ca88..7f5320d 100644 --- a/textproc.asm +++ b/textproc.asm @@ -20,19 +20,45 @@ ; lda dmactls ; and #$fc ; ora #$02 ; normal screen width - lda #%00110010 ; normal screen width, DL on, P/M off +; lda #%00110010 ; normal screen width, DL on, P/M off + lda #%00111110 ; normal screen width, DL on, P/M on sta dmactls - jsr PMoutofScreen + jsr SetPMWidth mva #TextBackgroundColor colpf2s mva #TextForegroundColor colpf3s mva #$ca colpf1s - VDLI DLIinterruptText.DLIinterruptNone ; jsr SetDLI for text screen without DLIs + VDLI DLIinterruptOptions ; jsr SetDLI for Options text screen + +; -------- setup bottom (tanks) line + lda NumberOfPlayers + pha + lda mountainsDeltaTableH + sta mountainDeltaH + lda mountainsDeltaTableL + sta mountainDeltaL + mva #6 NumberOfPlayers + jsr PMoutofScreen ;let P/M disappear + jsr clearscreen ;let the screen be clean + jsr ClearPMmemory + jsr placetanks ;let the tanks be evenly placed + jsr calculatemountains ;let mountains be easy for the eye + jsr ColorsOfSprites + jsr drawmountains ;draw them + ldx NumberOfPlayers + dex +@ jsr RandomizeAngle + sta AngleTable,x + dex + bpl @- + jsr drawtanks ;finally draw tanks + pla + sta NumberOfPlayers +; -------- mva #0 OptionsY OptionsMainLoop - jsr OptionsInversion jsr getkey ldx escFlag From 664dc1568df8956720e9537779ea0dc2744827a0 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 9 Aug 2022 13:30:21 +0200 Subject: [PATCH 60/88] Variables initialization on strart --- constants.asm | 28 ++++++++++++++++++++++------ grafproc.asm | 6 +++--- scorch.asm | 46 ++++++++++++++++++++++++++++++++++++++++------ scorch.xex | Bin 34100 -> 43561 bytes textproc.asm | 7 +++++-- variables.asm | 26 +++++++++++++++----------- 6 files changed, 85 insertions(+), 28 deletions(-) diff --git a/constants.asm b/constants.asm index b561085..86b279a 100644 --- a/constants.asm +++ b/constants.asm @@ -2,6 +2,22 @@ .IF *>0 ;this is a trick that prevents compiling this file alone +; initial values for some variables +initialvaluesStart +I_OptionsTable .by 0,1,2,2,0,1,3,2 +I_RoundsInTheGame .by 10 ;how many rounds in the current game +I_seppukuVal .by 75 +I_mountainDeltaH .by 3 +I_mountainDeltaL .by $ff +;---------------------------------------------------- +; 4x4 text buffer +I_ResultLineBuffer + dta d" ", $ff +I_LineHeader1 + dta d"# ROUND: " +I_RoundNrDisplay + dta d" #", $ff +initialvaluesCount = *-initialvaluesstart ; MAX 128 bytes ! ;=================================================================================== ;==========================CONSTANT TABLES, do not erase!=========================== ;=================================================================================== @@ -678,7 +694,7 @@ nineplus dta d"9"+1 space dta d" " ;------credits CreditsStart - dta d" "* + dta d" "* dta d"You were playin",d"g"* dta d"Scorc",d"h"* dta d"Warsaw, Miam",d"i"* @@ -690,7 +706,7 @@ CreditsStart dta d"Tomasz 'Pecus' Peck",d"o"* dta d"Pawel 'pirx' Kalinowsk",d"i"* dta d" "* - dta d"SFX and Music",d"c"* + dta d"SFX and Musi",d"c"* dta d"Michal 'Miker' Szpilowsk",d"i"* dta d" "* dta d"Additional musi",d"c"* @@ -704,12 +720,12 @@ CreditsStart dta d"Krzysztof 'Kaz' Ziembi",d"k"* dta d" "* dta d"Ideas and Q",d"A"* - dta d"Bocianu, Probabilitydragon, KrzysRog",d","* - dta d"Beeblebrox, EnderDude, lopezpb, Dracon",d","* + dta d"Bocianu, Probabilitydragon, EnderDude",d","* + dta d"Beeblebrox, KrzysRog, lopezpb, Dracon",d","* dta d"brad-colbert, archon800",d","* dta d"Shaggy the Ataria",d"n"* - dta d" "* + dta d" "* dta d"Stay tuned for the FujiNet version",d"!"* - dta d" "* + dta d" "* CreditsEnd .endif diff --git a/grafproc.asm b/grafproc.asm index db24c15..0f4d528 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -945,7 +945,7 @@ NoFallingSound and #01 beq DoNotClearParachute ; here we clear the parachute - ldx TankNr +; ldx TankNr jsr DrawTankParachute DoNotClearParachute mva #0 Erase @@ -1087,7 +1087,7 @@ EndOfFCycle cmp #3 ; parachute and falling bne DoNotDrawParachute ; here we draw parachute - ldx TankNr +; ldx TankNr jsr DrawTankParachute jsr WaitOneFrame ; only if tank with parachute RapidFalling @@ -1115,7 +1115,7 @@ ForceFallLeft jne TankFallsX EndOfFall mva #1 Erase - ldx TankNr +; ldx TankNr ; if tank was falling down having parachute, ; we must deduct one parachute lda Parachute diff --git a/scorch.asm b/scorch.asm index 4546d98..52c5542 100644 --- a/scorch.asm +++ b/scorch.asm @@ -112,7 +112,7 @@ icl 'lib/macro.hea' ;splash screen and musix - ;icl 'artwork/HIMARS14.asm' + icl 'artwork/HIMARS14.asm' ;Game loading address ORG $3000 WeaponFont @@ -126,8 +126,25 @@ WeaponFont ;-------------------------------------------------- ; Game Code ;-------------------------------------------------- -START +FirstSTART + mva #0 dmactls ; dark screen + jsr WaitOneFrame + ; one time zero variables in RAM (non zero page) + lda #0 + ldy #OneTimeZeroVariablesCount-1 +@ sta OneTimeZeroVariables + dey + bpl @- + + ; initialize variables in RAM (non zero page) + ldy #initialvaluesCount-1 +@ lda initialvaluesStart,y + sta variablesToInitialize,y + dey + bpl @- + +START ; Startup sequence jsr Initialize @@ -138,10 +155,14 @@ START jsr Options ;startup screen + mva #0 dmactls ; dark screen + jsr WaitOneFrame lda escFlag bne START jsr EnterPlayerNames + mva #0 dmactls ; dark screen + jsr WaitOneFrame lda escFlag bne START @@ -152,7 +173,8 @@ MainGameLoop jsr CallPurchaseForEveryTank ; issue #72 (glitches when switches) - mva #0 dmactls + mva #0 dmactls ; dark screen + jsr WaitOneFrame jsr GetRandomWind @@ -268,6 +290,8 @@ eskipzeroing lda GameIsOver beq NoGameOverYet + mva #0 dmactls ; dark screen + jsr WaitOneFrame jsr GameOverScreen jmp START NoGameOverYet @@ -1059,9 +1083,9 @@ CreditsScroll sta COLPF2 inc CreditsVScrol lda CreditsVScrol - cmp #16 ;not to fast + cmp #32 ;not to fast beq nextlinedisplay - lsr ;not to fast + :2 lsr ;not to fast sta VSCROL jmp EndOfDLI_GO nextlinedisplay @@ -1446,6 +1470,16 @@ getkeyend rts .endp ;-------------------------------------------------- +.proc IsKeyPressed ; A=0 - yes , A>0 - no +;-------------------------------------------------- + lda SKSTAT + and #%00000100 + beq @+ + lda #1 +@ and TRIG0S + rts +.endp +;-------------------------------------------------- .proc DemoModeOrKey ;-------------------------------------------------- ;check demo mode @@ -1534,4 +1568,4 @@ TheEnd - run START + run FirstSTART diff --git a/scorch.xex b/scorch.xex index 50bacb1294b1e248f1918d36635c267c18a42012..b037bc30771dfa1db388439f94d9c8ff2b199bbd 100644 GIT binary patch literal 43561 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 delta 17574 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 I8Ib&c0Za>s Date: Tue, 9 Aug 2022 22:32:16 +0200 Subject: [PATCH 61/88] New old RMT player and bugfix --- artwork/sfx/rmt_feat.a65 | 41 ++ artwork/sfx/rmt_feat.asm | 1 + artwork/sfx/rmtplayr.a65 | 1356 ++++++++++++++++++++++++++++++++++++++ scorch.asm | 72 +- scorch.xex | Bin 43561 -> 43502 bytes textproc.asm | 2 +- variables.asm | 2 - weapons.asm | 2 + 8 files changed, 1446 insertions(+), 30 deletions(-) create mode 100644 artwork/sfx/rmt_feat.a65 create mode 100644 artwork/sfx/rmtplayr.a65 diff --git a/artwork/sfx/rmt_feat.a65 b/artwork/sfx/rmt_feat.a65 new file mode 100644 index 0000000..eafd077 --- /dev/null +++ b/artwork/sfx/rmt_feat.a65 @@ -0,0 +1,41 @@ +STEREOMODE equ 0 +;* --------BEGIN-------- +;* C:\Atari\rmt\rmt128\aaa.rmt +FEAT_SFX equ 1 +FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable +FEAT_NOSTARTINGSONGLINE equ 0 +FEAT_INSTRSPEED equ 1 +FEAT_CONSTANTSPEED equ 0 ;(18 times) +FEAT_COMMAND1 equ 1 ;(10 times) +FEAT_COMMAND2 equ 0 ;(0 times) +FEAT_COMMAND3 equ 0 ;(0 times) +FEAT_COMMAND4 equ 0 ;(0 times) +FEAT_COMMAND5 equ 0 ;(0 times) +FEAT_COMMAND6 equ 1 ;(2 times) +FEAT_COMMAND7SETNOTE equ 0 ;(0 times) +FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) +FEAT_PORTAMENTO equ 0 ;(0 times) +FEAT_FILTER equ 1 ;(22 times) +FEAT_FILTERG0L equ 1 ;(13 times) +FEAT_FILTERG1L equ 1 ;(22 times) +FEAT_FILTERG0R equ 0 ;(0 times) +FEAT_FILTERG1R equ 0 ;(0 times) +FEAT_BASS16 equ 0 ;(0 times) +FEAT_BASS16G1L equ 0 ;(0 times) +FEAT_BASS16G3L equ 0 ;(0 times) +FEAT_BASS16G1R equ 0 ;(0 times) +FEAT_BASS16G3R equ 0 ;(0 times) +FEAT_VOLUMEONLYG0L equ 0 ;(0 times) +FEAT_VOLUMEONLYG2L equ 0 ;(0 times) +FEAT_VOLUMEONLYG3L equ 0 ;(0 times) +FEAT_VOLUMEONLYG0R equ 0 ;(0 times) +FEAT_VOLUMEONLYG2R equ 0 ;(0 times) +FEAT_VOLUMEONLYG3R equ 0 ;(0 times) +FEAT_TABLETYPE equ 0 ;(0 times) +FEAT_TABLEMODE equ 0 ;(0 times) +FEAT_TABLEGO equ 0 ;(0 times) +FEAT_AUDCTLMANUALSET equ 0 ;(0 times) +FEAT_VOLUMEMIN equ 0 ;(0 times) +FEAT_EFFECTVIBRATO equ 1 ;(1 times) +FEAT_EFFECTFSHIFT equ 0 ;(0 times) +;* --------END-------- \ No newline at end of file diff --git a/artwork/sfx/rmt_feat.asm b/artwork/sfx/rmt_feat.asm index c5a2bc3..eafd077 100644 --- a/artwork/sfx/rmt_feat.asm +++ b/artwork/sfx/rmt_feat.asm @@ -1,3 +1,4 @@ +STEREOMODE equ 0 ;* --------BEGIN-------- ;* C:\Atari\rmt\rmt128\aaa.rmt FEAT_SFX equ 1 diff --git a/artwork/sfx/rmtplayr.a65 b/artwork/sfx/rmtplayr.a65 new file mode 100644 index 0000000..0e8c70c --- /dev/null +++ b/artwork/sfx/rmtplayr.a65 @@ -0,0 +1,1356 @@ +;* +;* Raster Music Tracker, RMT Atari routine version 1.20090108 +;* (c) Radek Sterba, Raster/C.P.U., 2002 - 2009 +;* http://raster.atari.org +;* +;* Warnings: +;* +;* 1. RMT player routine needs 19 itself reserved bytes in zero page (no accessed +;* from any other routines) as well as cca 1KB of memory before the "PLAYER" +;* address for frequency tables and functionary variables. It's: +;* a) from PLAYER-$03c0 to PLAYER for stereo RMTplayer +;* b) from PLAYER-$0320 to PLAYER for mono RMTplayer +;* +;* 2. RMT player routine MUST (!!!) be compiled from the begin of the memory page. +;* i.e. "PLAYER" address can be $..00 only! +;* +;* 3. Because of RMTplayer provides a lot of effects, it spent a lot of CPU time. +;* +;* STEREOMODE equ 0..3 ;0 => compile RMTplayer for 4 tracks mono +;* ;1 => compile RMTplayer for 8 tracks stereo +;* ;2 => compile RMTplayer for 4 tracks stereo L1 R2 R3 L4 +;* ;3 => compile RMTplayer for 4 tracks stereo L1 L2 R3 R4 +;* + IFT STEREOMODE==1 +TRACKS equ 8 + ELS +TRACKS equ 4 + EIF +;* +;*PLAYER equ $3400 +;* +;* RMT FEATures definitions file +;* For optimizations of RMT player routine to concrete RMT modul only! + icl "rmt_feat.a65" +;* +;* RMT ZeroPage addresses + org RMT_Zero_Page_V +p_tis +p_instrstable org *+2 +p_trackslbstable org *+2 +p_trackshbstable org *+2 +p_song org *+2 +ns org *+2 +nr org *+2 +nt org *+2 +reg1 org *+1 +reg2 org *+1 +reg3 org *+1 +tmp org *+1 + IFT FEAT_COMMAND2 +frqaddcmd2 org *+1 + EIF + IFT TRACKS>4 + org PLAYER-$400+$40 + ELS + org PLAYER-$400+$e0 + EIF +track_variables +trackn_db org *+TRACKS +trackn_hb org *+TRACKS +trackn_idx org *+TRACKS +trackn_pause org *+TRACKS +trackn_note org *+TRACKS +trackn_volume org *+TRACKS +trackn_distor org *+TRACKS +trackn_shiftfrq org *+TRACKS + IFT FEAT_PORTAMENTO +trackn_portafrqc org *+TRACKS +trackn_portafrqa org *+TRACKS +trackn_portaspeed org *+TRACKS +trackn_portaspeeda org *+TRACKS +trackn_portadepth org *+TRACKS + EIF +trackn_instrx2 org *+TRACKS +trackn_instrdb org *+TRACKS +trackn_instrhb org *+TRACKS +trackn_instridx org *+TRACKS +trackn_instrlen org *+TRACKS +trackn_instrlop org *+TRACKS +trackn_instrreachend org *+TRACKS +trackn_volumeslidedepth org *+TRACKS +trackn_volumeslidevalue org *+TRACKS + IFT FEAT_VOLUMEMIN +trackn_volumemin org *+TRACKS + EIF +FEAT_EFFECTS equ FEAT_EFFECTVIBRATO||FEAT_EFFECTFSHIFT + IFT FEAT_EFFECTS +trackn_effdelay org *+TRACKS + EIF + IFT FEAT_EFFECTVIBRATO +trackn_effvibratoa org *+TRACKS + EIF + IFT FEAT_EFFECTFSHIFT +trackn_effshift org *+TRACKS + EIF +trackn_tabletypespeed org *+TRACKS + IFT FEAT_TABLEMODE +trackn_tablemode org *+TRACKS + EIF +trackn_tablenote org *+TRACKS +trackn_tablea org *+TRACKS +trackn_tableend org *+TRACKS + IFT FEAT_TABLEGO +trackn_tablelop org *+TRACKS + EIF +trackn_tablespeeda org *+TRACKS + IFT FEAT_FILTER||FEAT_BASS16 +trackn_command org *+TRACKS + EIF + IFT FEAT_BASS16 +trackn_outnote org *+TRACKS + EIF + IFT FEAT_FILTER +trackn_filter org *+TRACKS + EIF +trackn_audf org *+TRACKS +trackn_audc org *+TRACKS + IFT FEAT_AUDCTLMANUALSET +trackn_audctl org *+TRACKS + EIF +v_aspeed org *+1 +track_endvariables + org PLAYER-$100-$140-$40+2 +INSTRPAR equ 12 +tabbeganddistor + dta frqtabpure-frqtab,$00 + dta frqtabpure-frqtab,$20 + dta frqtabpure-frqtab,$40 + dta frqtabbass1-frqtab,$c0 + dta frqtabpure-frqtab,$80 + dta frqtabpure-frqtab,$a0 + dta frqtabbass1-frqtab,$c0 + dta frqtabbass2-frqtab,$c0 + IFT FEAT_EFFECTVIBRATO +vibtabbeg dta 0,vib1-vib0,vib2-vib0,vib3-vib0 +vib0 dta 0 +vib1 dta 1,-1,-1,1 +vib2 dta 1,0,-1,-1,0,1 +vib3 dta 1,1,0,-1,-1,-1,-1,0,1,1 +vibtabnext + dta vib0-vib0+0 + dta vib1-vib0+1,vib1-vib0+2,vib1-vib0+3,vib1-vib0+0 + dta vib2-vib0+1,vib2-vib0+2,vib2-vib0+3,vib2-vib0+4,vib2-vib0+5,vib2-vib0+0 + dta vib3-vib0+1,vib3-vib0+2,vib3-vib0+3,vib3-vib0+4,vib3-vib0+5,vib3-vib0+6,vib3-vib0+7,vib3-vib0+8,vib3-vib0+9,vib3-vib0+0 + EIF + org PLAYER-$100-$140 + IFT FEAT_BASS16 +frqtabbasslo + dta $F2,$33,$96,$E2,$38,$8C,$00,$6A,$E8,$6A,$EF,$80,$08,$AE,$46,$E6 + dta $95,$41,$F6,$B0,$6E,$30,$F6,$BB,$84,$52,$22,$F4,$C8,$A0,$7A,$55 + dta $34,$14,$F5,$D8,$BD,$A4,$8D,$77,$60,$4E,$38,$27,$15,$06,$F7,$E8 + dta $DB,$CF,$C3,$B8,$AC,$A2,$9A,$90,$88,$7F,$78,$70,$6A,$64,$5E,$00 + EIF + org PLAYER-$100-$100 +frqtab + ERT [255 + ldy #0 + tya +ri0 sta track_variables,y + sta track_endvariables-$100,y + iny + bne ri0 + ELS + ldy #track_endvariables-track_variables + lda #0 +ri0 sta track_variables-1,y + dey + bne ri0 + EIF + ldy #4 + lda (ns),y + sta v_maxtracklen + iny + IFT FEAT_CONSTANTSPEED==0 + lda (ns),y + sta v_speed + EIF + IFT FEAT_INSTRSPEED==0 + iny + lda (ns),y + sta v_instrspeed + sta v_ainstrspeed + ELI FEAT_INSTRSPEED>1 + lda #FEAT_INSTRSPEED + sta v_ainstrspeed + EIF + ldy #8 +ri1 lda (ns),y + sta p_tis-8,y + iny + cpy #8+8 + bne ri1 + IFT FEAT_NOSTARTINGSONGLINE==0 + pla + pha + IFT TRACKS>4 + asl @ + asl @ + asl @ + clc + adc p_song + sta p_song + pla + php + and #$e0 + asl @ + rol @ + rol @ + rol @ + ELS + asl @ + asl @ + clc + adc p_song + sta p_song + pla + php + and #$c0 + asl @ + rol @ + rol @ + EIF + plp + adc p_song+1 + sta p_song+1 + EIF + jsr GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +rmt_silence + IFT STEREOMODE>0 + lda #0 + sta $d208 + sta $d218 + ldy #3 + sty $d20f + sty $d21f + ldy #8 +si1 sta $d200,y + sta $d210,y + dey + bpl si1 + ELS + lda #0 + sta $d208 + ldy #3 + sty $d20f + ldy #8 +si1 sta $d200,y + dey + bpl si1 + EIF + IFT FEAT_INSTRSPEED==0 + lda v_instrspeed + ELS + lda #FEAT_INSTRSPEED + EIF + rts +GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +GetSongLine + ldx #0 + stx v_abeat +nn0 +nn1 txa + tay + lda (p_song),y + cmp #$fe + bcs nn2 + tay + lda (p_trackslbstable),y + sta trackn_db,x + lda (p_trackshbstable),y +nn1a sta trackn_hb,x + lda #0 + sta trackn_idx,x + lda #1 +nn1a2 sta trackn_pause,x + lda #$80 + sta trackn_instrx2,x + inx +xtracks01 cpx #TRACKS + bne nn1 + lda p_song + clc +xtracks02 adc #TRACKS + sta p_song + bcc GetTrackLine + inc p_song+1 +nn1b + jmp GetTrackLine +nn2 + beq nn3 +nn2a + lda #0 + beq nn1a2 +nn3 + ldy #2 + lda (p_song),y + tax + iny + lda (p_song),y + sta p_song+1 + stx p_song + ldx #0 + beq nn0 +GetTrackLine +oo0 +oo0a + IFT FEAT_CONSTANTSPEED==0 + lda #$ff +v_speed equ *-1 + sta v_bspeed + EIF + ldx #-1 +oo1 + inx + dec trackn_pause,x + bne oo1x +oo1b + lda trackn_db,x + sta ns + lda trackn_hb,x + sta ns+1 +oo1i + ldy trackn_idx,x + inc trackn_idx,x + lda (ns),y + sta reg1 + and #$3f + cmp #61 + beq oo1a + bcs oo2 + sta trackn_note,x + IFT FEAT_BASS16 + sta trackn_outnote,x + EIF + iny + lda (ns),y + lsr @ + and #$3f*2 + sta trackn_instrx2,x +oo1a + lda #1 + sta trackn_pause,x + ldy trackn_idx,x + inc trackn_idx,x + lda (ns),y + lsr @ + ror reg1 + lsr @ + ror reg1 + lda reg1 + IFT FEAT_GLOBALVOLUMEFADE + sec + sbc #$00 +RMTGLOBALVOLUMEFADE equ *-1 + bcs voig + lda #0 +voig + EIF + and #$f0 + sta trackn_volume,x +oo1x +xtracks03sub1 cpx #TRACKS-1 + bne oo1 + IFT FEAT_CONSTANTSPEED==0 + lda #$ff +v_bspeed equ *-1 + sta v_speed + ELS + lda #FEAT_CONSTANTSPEED + EIF + sta v_aspeed + jmp InitOfNewSetInstrumentsOnly +oo2 + cmp #63 + beq oo63 + lda reg1 + and #$c0 + beq oo62_b + asl @ + rol @ + rol @ + sta trackn_pause,x + jmp oo1x +oo62_b + iny + lda (ns),y + sta trackn_pause,x + inc trackn_idx,x + jmp oo1x +oo63 + lda reg1 + IFT FEAT_CONSTANTSPEED==0 + bmi oo63_1X + iny + lda (ns),y + sta v_bspeed + inc trackn_idx,x + jmp oo1i +oo63_1X + EIF + cmp #255 + beq oo63_11 + iny + lda (ns),y + sta trackn_idx,x + jmp oo1i +oo63_11 + jmp GetSongLine +p2xrmtp3 jmp rmt_p3 +p2x0 dex + bmi p2xrmtp3 +InitOfNewSetInstrumentsOnly +p2x1 ldy trackn_instrx2,x + bmi p2x0 + IFT FEAT_SFX + jsr SetUpInstrumentY2 + jmp p2x0 +rmt_sfx + sta trackn_note,x + IFT FEAT_BASS16 + sta trackn_outnote,x + EIF + lda #$f0 ;* sfx note volume*16 +RMTSFXVOLUME equ *-1 ;* label for sfx note volume parameter overwriting + sta trackn_volume,x + EIF +SetUpInstrumentY2 + lda (p_instrstable),y + sta trackn_instrdb,x + sta nt + iny + lda (p_instrstable),y + sta trackn_instrhb,x + sta nt+1 + IFT FEAT_FILTER + lda #1 + sta trackn_filter,x + EIF + IFT FEAT_TABLEGO + IFT FEAT_FILTER + tay + ELS + ldy #1 + EIF + lda (nt),y + sta trackn_tablelop,x + iny + ELS + ldy #2 + EIF + lda (nt),y + sta trackn_instrlen,x + iny + lda (nt),y + sta trackn_instrlop,x + iny + lda (nt),y + sta trackn_tabletypespeed,x + IFT FEAT_TABLETYPE||FEAT_TABLEMODE + and #$3f + EIF + sta trackn_tablespeeda,x + IFT FEAT_TABLEMODE + lda (nt),y + and #$40 + sta trackn_tablemode,x + EIF + IFT FEAT_AUDCTLMANUALSET + iny + lda (nt),y + sta trackn_audctl,x + iny + ELS + ldy #6 + EIF + lda (nt),y + sta trackn_volumeslidedepth,x + IFT FEAT_VOLUMEMIN + iny + lda (nt),y + sta trackn_volumemin,x + IFT FEAT_EFFECTS + iny + EIF + ELS + IFT FEAT_EFFECTS + ldy #8 + EIF + EIF + IFT FEAT_EFFECTS + lda (nt),y + sta trackn_effdelay,x + IFT FEAT_EFFECTVIBRATO + iny + lda (nt),y + tay + lda vibtabbeg,y + sta trackn_effvibratoa,x + EIF + IFT FEAT_EFFECTFSHIFT + ldy #10 + lda (nt),y + sta trackn_effshift,x + EIF + EIF + lda #128 + sta trackn_volumeslidevalue,x + sta trackn_instrx2,x + asl @ + sta trackn_instrreachend,x + sta trackn_shiftfrq,x + tay + lda (nt),y + sta trackn_tableend,x + adc #0 + sta trackn_instridx,x + lda #INSTRPAR + sta trackn_tablea,x + tay + lda (nt),y + sta trackn_tablenote,x +xata_rtshere + IFT FEAT_SFX + rts + ELS + jmp p2x0 + EIF +rmt_play +rmt_p0 + jsr SetPokey +rmt_p1 + IFT FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 + dec v_ainstrspeed + bne rmt_p3 + EIF + IFT FEAT_INSTRSPEED==0 + lda #$ff +v_instrspeed equ *-1 + sta v_ainstrspeed + ELI FEAT_INSTRSPEED>1 + lda #FEAT_INSTRSPEED + sta v_ainstrspeed + EIF +rmt_p2 + dec v_aspeed + bne rmt_p3 + inc v_abeat + lda #$ff +v_abeat equ *-1 + cmp #$ff +v_maxtracklen equ *-1 + beq p2o3 + jmp GetTrackLine +p2o3 + jmp GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 +go_ppnext jmp ppnext +rmt_p3 + lda #>frqtab + sta nr+1 +xtracks05sub1 ldx #TRACKS-1 +pp1 + lda trackn_instrhb,x + beq go_ppnext + sta ns+1 + lda trackn_instrdb,x + sta ns + ldy trackn_instridx,x + lda (ns),y + sta reg1 + iny + lda (ns),y + sta reg2 + iny + lda (ns),y + sta reg3 + iny + tya + cmp trackn_instrlen,x + bcc pp2 + beq pp2 + lda #$80 + sta trackn_instrreachend,x +pp1b + lda trackn_instrlop,x +pp2 sta trackn_instridx,x + lda reg1 + IFT TRACKS>4 + cpx #4 + bcc pp2s + lsr @ + lsr @ + lsr @ + lsr @ +pp2s + EIF + and #$0f + ora trackn_volume,x + tay + lda volumetab,y + sta tmp + lda reg2 + and #$0e + tay + lda tabbeganddistor,y + sta nr + lda tmp + ora tabbeganddistor+1,y + sta trackn_audc,x +InstrumentsEffects + IFT FEAT_EFFECTS + lda trackn_effdelay,x + beq ei2 + cmp #1 + bne ei1 + lda trackn_shiftfrq,x + IFT FEAT_EFFECTFSHIFT + clc + adc trackn_effshift,x + EIF + IFT FEAT_EFFECTVIBRATO + clc + ldy trackn_effvibratoa,x + adc vib0,y + EIF + sta trackn_shiftfrq,x + IFT FEAT_EFFECTVIBRATO + lda vibtabnext,y + sta trackn_effvibratoa,x + EIF + jmp ei2 +ei1 + dec trackn_effdelay,x +ei2 + EIF + ldy trackn_tableend,x + cpy #INSTRPAR+1 + bcc ei3 + lda trackn_tablespeeda,x + bpl ei2f +ei2c + tya + cmp trackn_tablea,x + bne ei2c2 + IFT FEAT_TABLEGO + lda trackn_tablelop,x + ELS + lda #INSTRPAR + EIF + sta trackn_tablea,x + bne ei2a +ei2c2 + inc trackn_tablea,x +ei2a + lda trackn_instrdb,x + sta nt + lda trackn_instrhb,x + sta nt+1 + ldy trackn_tablea,x + lda (nt),y + IFT FEAT_TABLEMODE + ldy trackn_tablemode,x + beq ei2e + clc + adc trackn_tablenote,x +ei2e + EIF + sta trackn_tablenote,x + lda trackn_tabletypespeed,x + IFT FEAT_TABLETYPE||FEAT_TABLEMODE + and #$3f + EIF +ei2f + sec + sbc #1 + sta trackn_tablespeeda,x +ei3 + lda trackn_instrreachend,x + bpl ei4 + lda trackn_volume,x + beq ei4 + IFT FEAT_VOLUMEMIN + cmp trackn_volumemin,x + beq ei4 + bcc ei4 + EIF + tay + lda trackn_volumeslidevalue,x + clc + adc trackn_volumeslidedepth,x + sta trackn_volumeslidevalue,x + bcc ei4 + tya + sbc #16 + sta trackn_volume,x +ei4 + IFT FEAT_COMMAND2 + lda #0 + sta frqaddcmd2 + EIF + IFT FEAT_COMMAND1||FEAT_COMMAND2||FEAT_COMMAND3||FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + lda reg2 + IFT FEAT_FILTER||FEAT_BASS16 + sta trackn_command,x + EIF + and #$70 + IFT 1==[FEAT_COMMAND1+FEAT_COMMAND2+FEAT_COMMAND3+FEAT_COMMAND4+FEAT_COMMAND5+FEAT_COMMAND6+[FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY]] + beq cmd0 + ELS + lsr @ + lsr @ + sta jmx+1 +jmx bcc * + jmp cmd0 + nop + jmp cmd1 + IFT FEAT_COMMAND2||FEAT_COMMAND3||FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + nop + jmp cmd2 + EIF + IFT FEAT_COMMAND3||FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + nop + jmp cmd3 + EIF + IFT FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + nop + jmp cmd4 + EIF + IFT FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + nop + jmp cmd5 + EIF + IFT FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + nop + jmp cmd6 + EIF + IFT FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + nop + jmp cmd7 + EIF + EIF + ELS + IFT FEAT_FILTER||FEAT_BASS16 + lda reg2 + sta trackn_command,x + EIF + EIF +cmd1 + IFT FEAT_COMMAND1 + lda reg3 + jmp cmd0c + EIF +cmd2 + IFT FEAT_COMMAND2 + lda reg3 + sta frqaddcmd2 + lda trackn_note,x + jmp cmd0a + EIF +cmd3 + IFT FEAT_COMMAND3 + lda trackn_note,x + clc + adc reg3 + sta trackn_note,x + jmp cmd0a + EIF +cmd4 + IFT FEAT_COMMAND4 + lda trackn_shiftfrq,x + clc + adc reg3 + sta trackn_shiftfrq,x + lda trackn_note,x + jmp cmd0a + EIF +cmd5 + IFT FEAT_COMMAND5&&FEAT_PORTAMENTO + IFT FEAT_TABLETYPE + lda trackn_tabletypespeed,x + bpl cmd5a1 + ldy trackn_note,x + lda (nr),y + clc + adc trackn_tablenote,x + jmp cmd5ax + EIF +cmd5a1 + lda trackn_note,x + clc + adc trackn_tablenote,x + cmp #61 + bcc cmd5a2 + lda #63 +cmd5a2 + tay + lda (nr),y +cmd5ax + sta trackn_portafrqc,x + ldy reg3 + bne cmd5a + sta trackn_portafrqa,x +cmd5a + tya + lsr @ + lsr @ + lsr @ + lsr @ + sta trackn_portaspeed,x + sta trackn_portaspeeda,x + lda reg3 + and #$0f + sta trackn_portadepth,x + lda trackn_note,x + jmp cmd0a + ELI FEAT_COMMAND5 + lda trackn_note,x + jmp cmd0a + EIF +cmd6 + IFT FEAT_COMMAND6&&FEAT_FILTER + lda reg3 + clc + adc trackn_filter,x + sta trackn_filter,x + lda trackn_note,x + jmp cmd0a + ELI FEAT_COMMAND6 + lda trackn_note,x + jmp cmd0a + EIF +cmd7 + IFT FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY + IFT FEAT_COMMAND7SETNOTE + lda reg3 + IFT FEAT_COMMAND7VOLUMEONLY + cmp #$80 + beq cmd7a + EIF + sta trackn_note,x + jmp cmd0a + EIF + IFT FEAT_COMMAND7VOLUMEONLY +cmd7a + lda trackn_audc,x + ora #$f0 + sta trackn_audc,x + lda trackn_note,x + jmp cmd0a + EIF + EIF +cmd0 + lda trackn_note,x + clc + adc reg3 +cmd0a + IFT FEAT_TABLETYPE + ldy trackn_tabletypespeed,x + bmi cmd0b + EIF + clc + adc trackn_tablenote,x + cmp #61 + bcc cmd0a1 + lda #0 + sta trackn_audc,x + lda #63 +cmd0a1 + IFT FEAT_BASS16 + sta trackn_outnote,x + EIF + tay + lda (nr),y + clc + adc trackn_shiftfrq,x + IFT FEAT_COMMAND2 + clc + adc frqaddcmd2 + EIF + IFT FEAT_TABLETYPE + jmp cmd0c +cmd0b + cmp #61 + bcc cmd0b1 + lda #0 + sta trackn_audc,x + lda #63 +cmd0b1 + tay + lda trackn_shiftfrq,x + clc + adc trackn_tablenote,x + clc + adc (nr),y + IFT FEAT_COMMAND2 + clc + adc frqaddcmd2 + EIF + EIF +cmd0c + sta trackn_audf,x +pp9 + IFT FEAT_PORTAMENTO + lda trackn_portaspeeda,x + beq pp10 + dec trackn_portaspeeda,x + bne pp10 + lda trackn_portaspeed,x + sta trackn_portaspeeda,x + lda trackn_portafrqa,x + cmp trackn_portafrqc,x + beq pp10 + bcs pps1 + adc trackn_portadepth,x + bcs pps8 + cmp trackn_portafrqc,x + bcs pps8 + jmp pps9 +pps1 + sbc trackn_portadepth,x + bcc pps8 + cmp trackn_portafrqc,x + bcs pps9 +pps8 + lda trackn_portafrqc,x +pps9 + sta trackn_portafrqa,x +pp10 + lda reg2 + and #$01 + beq pp11 + lda trackn_portafrqa,x + clc + adc trackn_shiftfrq,x + sta trackn_audf,x +pp11 + EIF +ppnext + dex + bmi rmt_p4 + jmp pp1 +rmt_p4 + IFT FEAT_AUDCTLMANUALSET + lda trackn_audctl+0 + ora trackn_audctl+1 + ora trackn_audctl+2 + ora trackn_audctl+3 + tax + ELS + ldx #0 + EIF +qq1 + stx v_audctl + IFT FEAT_FILTER + IFT FEAT_FILTERG0L + lda trackn_command+0 + bpl qq2 + lda trackn_audc+0 + and #$0f + beq qq2 + lda trackn_audf+0 + clc + adc trackn_filter+0 + sta trackn_audf+2 + IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2L + lda trackn_audc+2 + and #$10 + bne qq1a + EIF + lda #0 + sta trackn_audc+2 +qq1a + txa + ora #4 + tax + EIF +qq2 + IFT FEAT_FILTERG1L + lda trackn_command+1 + bpl qq3 + lda trackn_audc+1 + and #$0f + beq qq3 + lda trackn_audf+1 + clc + adc trackn_filter+1 + sta trackn_audf+3 + IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG3L + lda trackn_audc+3 + and #$10 + bne qq2a + EIF + lda #0 + sta trackn_audc+3 +qq2a + txa + ora #2 + tax + EIF +qq3 + IFT FEAT_FILTERG0L||FEAT_FILTERG1L + cpx v_audctl + bne qq5 + EIF + EIF + IFT FEAT_BASS16 + IFT FEAT_BASS16G1L + lda trackn_command+1 + and #$0e + cmp #6 + bne qq4 + lda trackn_audc+1 + and #$0f + beq qq4 + ldy trackn_outnote+1 + lda frqtabbasslo,y + sta trackn_audf+0 + lda frqtabbasshi,y + sta trackn_audf+1 + IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG0L + lda trackn_audc+0 + and #$10 + bne qq3a + EIF + lda #0 + sta trackn_audc+0 +qq3a + txa + ora #$50 + tax + EIF +qq4 + IFT FEAT_BASS16G3L + lda trackn_command+3 + and #$0e + cmp #6 + bne qq5 + lda trackn_audc+3 + and #$0f + beq qq5 + ldy trackn_outnote+3 + lda frqtabbasslo,y + sta trackn_audf+2 + lda frqtabbasshi,y + sta trackn_audf+3 + IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2L + lda trackn_audc+2 + and #$10 + bne qq4a + EIF + lda #0 + sta trackn_audc+2 +qq4a + txa + ora #$28 + tax + EIF + EIF +qq5 + stx v_audctl + IFT TRACKS>4 + IFT FEAT_AUDCTLMANUALSET + lda trackn_audctl+4 + ora trackn_audctl+5 + ora trackn_audctl+6 + ora trackn_audctl+7 + tax + ELS + ldx #0 + EIF + stx v_audctl2 + IFT FEAT_FILTER + IFT FEAT_FILTERG0R + lda trackn_command+0+4 + bpl qs2 + lda trackn_audc+0+4 + and #$0f + beq qs2 + lda trackn_audf+0+4 + clc + adc trackn_filter+0+4 + sta trackn_audf+2+4 + IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2R + lda trackn_audc+2+4 + and #$10 + bne qs1a + EIF + lda #0 + sta trackn_audc+2+4 +qs1a + txa + ora #4 + tax + EIF +qs2 + IFT FEAT_FILTERG1R + lda trackn_command+1+4 + bpl qs3 + lda trackn_audc+1+4 + and #$0f + beq qs3 + lda trackn_audf+1+4 + clc + adc trackn_filter+1+4 + sta trackn_audf+3+4 + IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG3R + lda trackn_audc+3+4 + and #$10 + bne qs2a + EIF + lda #0 + sta trackn_audc+3+4 +qs2a + txa + ora #2 + tax + EIF +qs3 + IFT FEAT_FILTERG0R||FEAT_FILTERG1R + cpx v_audctl2 + bne qs5 + EIF + EIF + IFT FEAT_BASS16 + IFT FEAT_BASS16G1R + lda trackn_command+1+4 + and #$0e + cmp #6 + bne qs4 + lda trackn_audc+1+4 + and #$0f + beq qs4 + ldy trackn_outnote+1+4 + lda frqtabbasslo,y + sta trackn_audf+0+4 + lda frqtabbasshi,y + sta trackn_audf+1+4 + IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG0R + lda trackn_audc+0+4 + and #$10 + bne qs3a + EIF + lda #0 + sta trackn_audc+0+4 +qs3a + txa + ora #$50 + tax + EIF +qs4 + IFT FEAT_BASS16G3R + lda trackn_command+3+4 + and #$0e + cmp #6 + bne qs5 + lda trackn_audc+3+4 + and #$0f + beq qs5 + ldy trackn_outnote+3+4 + lda frqtabbasslo,y + sta trackn_audf+2+4 + lda frqtabbasshi,y + sta trackn_audf+3+4 + IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2R + lda trackn_audc+2+4 + and #$10 + bne qs4a + EIF + lda #0 + sta trackn_audc+2+4 +qs4a + txa + ora #$28 + tax + EIF + EIF +qs5 + stx v_audctl2 + EIF +rmt_p5 + IFT FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 + lda #$ff +v_ainstrspeed equ *-1 + ELS + lda #1 + EIF + rts +SetPokey + IFT STEREOMODE==1 ;* L1 L2 L3 L4 R1 R2 R3 R4 + ldy #$ff +v_audctl2 equ *-1 + lda trackn_audf+0+4 + ldx trackn_audf+0 +xstastx01 sta $d210 + stx $d200 + lda trackn_audc+0+4 + ldx trackn_audc+0 +xstastx02 sta $d211 + stx $d201 + lda trackn_audf+1+4 + ldx trackn_audf+1 +xstastx03 sta $d212 + stx $d202 + lda trackn_audc+1+4 + ldx trackn_audc+1 +xstastx04 sta $d213 + stx $d203 + lda trackn_audf+2+4 + ldx trackn_audf+2 +xstastx05 sta $d214 + stx $d204 + lda trackn_audc+2+4 + ldx trackn_audc+2 +xstastx06 sta $d215 + stx $d205 + lda trackn_audf+3+4 + ldx trackn_audf+3 +xstastx07 sta $d216 + stx $d206 + lda trackn_audc+3+4 + ldx trackn_audc+3 +xstastx08 sta $d217 + stx $d207 + lda #$ff +v_audctl equ *-1 +xstysta01 sty $d218 + sta $d208 + ELI STEREOMODE==0 ;* L1 L2 L3 L4 + ldy #$ff +v_audctl equ *-1 + lda trackn_audf+0 + ldx trackn_audc+0 + sta $d200 + stx $d201 + lda trackn_audf+1 + ldx trackn_audc+1 + sta $d200+2 + stx $d201+2 + lda trackn_audf+2 + ldx trackn_audc+2 + sta $d200+4 + stx $d201+4 + lda trackn_audf+3 + ldx trackn_audc+3 + sta $d200+6 + stx $d201+6 + sty $d208 + ELI STEREOMODE==2 ;* L1 R2 R3 L4 + ldy #$ff +v_audctl equ *-1 + lda trackn_audf+0 + ldx trackn_audc+0 + sta $d200 + stx $d201 + sta $d210 + lda trackn_audf+1 + ldx trackn_audc+1 + sta $d210+2 + stx $d211+2 + lda trackn_audf+2 + ldx trackn_audc+2 + sta $d210+4 + stx $d211+4 + sta $d200+4 + lda trackn_audf+3 + ldx trackn_audc+3 + sta $d200+6 + stx $d201+6 + sta $d210+6 + sty $d218 + sty $d208 + ELI STEREOMODE==3 ;* L1 L2 R3 R4 + ldy #$ff +v_audctl equ *-1 + lda trackn_audf+0 + ldx trackn_audc+0 + sta $d200 + stx $d201 + lda trackn_audf+1 + ldx trackn_audc+1 + sta $d200+2 + stx $d201+2 + lda trackn_audf+2 + ldx trackn_audc+2 + sta $d210+4 + stx $d211+4 + sta $d200+4 + lda trackn_audf+3 + ldx trackn_audc+3 + sta $d210+6 + stx $d211+6 + sta $d200+6 + sty $d218 + sty $d208 + EIF + rts +RMTPLAYEREND diff --git a/scorch.asm b/scorch.asm index 52c5542..22bd47b 100644 --- a/scorch.asm +++ b/scorch.asm @@ -40,7 +40,7 @@ .endm icl 'definitions.asm' - icl 'artwork/sfx/rmt_feat.asm' +; icl 'artwork/sfx/rmt_feat.asm' .zpvar xdraw .word = $80 ;variable X for plot @@ -87,25 +87,30 @@ ;.zpvar dliA .byte ;.zpvar dliX .byte ;.zpvar dliY .byte + .zpvar sfx_effect .byte +;-------------- + + displayposition = modify + ;* RMT ZeroPage addresses - .zpvar p_tis .word - .zpvar p_trackslbstable .word - .zpvar p_trackshbstable .word - .zpvar p_song .word - .zpvar ns .word - .zpvar nr .word - .zpvar nt .word - .zpvar reg1 .byte - .zpvar reg2 .byte - .zpvar reg3 .byte - .zpvar tmp .byte - IFT FEAT_COMMAND2 - .zpvar frqaddcmd2 .byte - EIF - p_instrstable = p_tis + .zpvar RMT_Zero_Page_V .byte +; .zpvar p_tis .word +; .zpvar p_trackslbstable .word +; .zpvar p_trackshbstable .word +; .zpvar p_song .word +; .zpvar ns .word +; .zpvar nr .word +; .zpvar nt .word +; .zpvar reg1 .byte +; .zpvar reg2 .byte +; .zpvar reg3 .byte +; .zpvar tmp .byte +; IFT FEAT_COMMAND2 +; .zpvar frqaddcmd2 .byte +; EIF +; p_instrstable = p_tis - displayposition = modify ;------------------------------- icl 'lib/atari.hea' @@ -143,6 +148,18 @@ FirstSTART sta variablesToInitialize,y dey bpl @- + + ; RMT INIT + lda #$f0 ;initial value + sta RMTSFXVOLUME ;sfx note volume * 16 (0,16,32,...,240) + + lda #$ff ;initial value + sta sfx_effect + + lda #0 + jsr RmtSongSelect + + VMAIN VBLinterrupt,7 ;jsr SetVBL START ; Startup sequence @@ -990,17 +1007,17 @@ MakeTanksVisible mva #1 CurrentRoundNr ;we start from round 1 mva #6 NTSCcounter - ; RMT INIT - lda #$f0 ;initial value - sta RMTSFXVOLUME ;sfx note volume * 16 (0,16,32,...,240) +; ; RMT INIT +; lda #$f0 ;initial value +; sta RMTSFXVOLUME ;sfx note volume * 16 (0,16,32,...,240) ; - lda #$ff ;initial value - sta sfx_effect +; lda #$ff ;initial value +; sta sfx_effect ; - lda #0 - jsr RmtSongSelect +; lda #0 +; jsr RmtSongSelect ; - VMAIN VBLinterrupt,7 ;jsr SetVBL +; VMAIN VBLinterrupt,7 ;jsr SetVBL rts .endp @@ -1141,7 +1158,7 @@ itsPAL bmi lab2 asl @ ; * 2 tay ;Y = 2,4,..,16 instrument number * 2 (0,2,4,..,126) - ldx #0 ;X = 0 channel (0..3 or 0..7 for stereo module) + ldx #3 ;X = 0 channel (0..3 or 0..7 for stereo module) lda #0 ;A = 0 note (0..60) bit noSfx smi:jsr RASTERMUSICTRACKER+15 ;RMT_SFX start tone (It works only if FEAT_SFX is enabled !!!) @@ -1550,8 +1567,9 @@ TankFont ; reserved space for RMT player .ds $0320 .align $100 +PLAYER .ECHO 'PLAYER: ',* - icl 'artwork/sfx/rmtplayr_game.asm' + icl 'artwork/sfx/rmtplayr.a65' MODUL equ $b000 ;address of RMT module opt h- ;RMT module is standard Atari binary file already diff --git a/scorch.xex b/scorch.xex index b037bc30771dfa1db388439f94d9c8ff2b199bbd..8e5b2547607f7f39dbe8a0724df03b72e3f4ebd9 100644 GIT binary patch delta 16964 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 m6o?rN`|PJT)>4j~NpfE*2i5e_sgcuB!K5 zy?Ryk>eYL%J3cnapO`{LV~lU_62_GFzEw7H z1LtuqOJ#$2rHPAXD=h)FmFv5zXZbU3{#@>F%Q~yL<8!zJH*wQ%X0Ur?gW%+bWy?mf zl5oAA1rVMyZk2m6x*z9ppJnen%ljKf^d~cV6H7RWtm{v_NhE9}>v|Kfk-Z!mLR_4h zjJ87~iEEG*FF%ir0sTCL0om@jNj3lrua@ucXUZjy lf{Ea@b%L?fXA{XB#x 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 diff --git a/textproc.asm b/textproc.asm index a8fffb1..2f37e43 100644 --- a/textproc.asm +++ b/textproc.asm @@ -2010,7 +2010,7 @@ FastTank jsr GameOverResultsClear rts RandomizeTankPos - randomize 8 32 + randomize 10 32 ; 10 not 8 - barrel !! :) sta Ytankstable,x randomize 0 180 sta AngleTable,x diff --git a/variables.asm b/variables.asm index 56974df..a206f04 100644 --- a/variables.asm +++ b/variables.asm @@ -46,8 +46,6 @@ isInventory .ds 1 ; 0 - purchase, $ff - inventory ;-------------- drawFunction .ds 1 ; 0 - plot, %10000000 - LineLength (N), %01000000 - DrawCheck (V) ;-------------- -sfx_effect .ds 1 -;-------------- noDeathCounter .ds 1 ;-------------- OptionsY .ds 1 ;vertical position of cursor on Options screen diff --git a/weapons.asm b/weapons.asm index 6df7ef9..a7c0cab 100644 --- a/weapons.asm +++ b/weapons.asm @@ -283,6 +283,7 @@ NoLowerCircle .endp ; ------------------------ .proc napalm + mva #sfx_napalm sfx_effect inc FallDown2 mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width) jsr CalculateExplosionRange @@ -291,6 +292,7 @@ NoLowerCircle .endp ; ------------------------ .proc hotnapalm + mva #sfx_napalm sfx_effect inc FallDown2 mva #(napalmRadius+4) ExplosionRadius ; real radius + 4 pixels (half characrer width) jsr CalculateExplosionRange From e45cc3e60902001d814253675149f5ba4f03d413 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Tue, 9 Aug 2022 23:28:46 +0200 Subject: [PATCH 62/88] Preventing double RTM calls - but still hangs --- scorch.asm | 10 ++++++++-- scorch.xex | Bin 43502 -> 43514 bytes 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scorch.asm b/scorch.asm index 22bd47b..4cddb3e 100644 --- a/scorch.asm +++ b/scorch.asm @@ -88,6 +88,7 @@ ;.zpvar dliX .byte ;.zpvar dliY .byte .zpvar sfx_effect .byte + .zpvar RMT_VBL_Runin .byte ;-------------- displayposition = modify @@ -157,6 +158,7 @@ FirstSTART sta sfx_effect lda #0 + sta RMT_VBL_Runin jsr RmtSongSelect VMAIN VBLinterrupt,7 ;jsr SetVBL @@ -1152,8 +1154,10 @@ itsPAL ; pressTimer is trigger tick counter. always 50 ticks / s bit:smi:inc pressTimer ; timer halted if >127. max time measured 2.5 s - + lda RMT_VBL_Runin + bne SkipRMTVBL ; ------- RMT ------- + inc RMT_VBL_Runin lda sfx_effect bmi lab2 asl @ ; * 2 @@ -1167,8 +1171,10 @@ itsPAL sta sfx_effect ;reinit value lab2 jsr RASTERMUSICTRACKER+3 ;1 play + lda #0 + sta RMT_VBL_Runin ; ------- RMT ------- - +SkipRMTVBL exitVBL ply plx diff --git a/scorch.xex b/scorch.xex index 8e5b2547607f7f39dbe8a0724df03b72e3f4ebd9..2a7fd4d5ab6535001b6a064beb5a95e2e36a9a8e 100644 GIT binary patch delta 17157 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 Doz=Ff delta 17088 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 Date: Tue, 9 Aug 2022 23:40:56 +0200 Subject: [PATCH 63/88] SFX audio channel corrected --- scorch.asm | 9 +-------- scorch.xex | Bin 43514 -> 43502 bytes 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/scorch.asm b/scorch.asm index 4cddb3e..9fb10c3 100644 --- a/scorch.asm +++ b/scorch.asm @@ -88,7 +88,6 @@ ;.zpvar dliX .byte ;.zpvar dliY .byte .zpvar sfx_effect .byte - .zpvar RMT_VBL_Runin .byte ;-------------- displayposition = modify @@ -158,7 +157,6 @@ FirstSTART sta sfx_effect lda #0 - sta RMT_VBL_Runin jsr RmtSongSelect VMAIN VBLinterrupt,7 ;jsr SetVBL @@ -1154,15 +1152,12 @@ itsPAL ; pressTimer is trigger tick counter. always 50 ticks / s bit:smi:inc pressTimer ; timer halted if >127. max time measured 2.5 s - lda RMT_VBL_Runin - bne SkipRMTVBL ; ------- RMT ------- - inc RMT_VBL_Runin lda sfx_effect bmi lab2 asl @ ; * 2 tay ;Y = 2,4,..,16 instrument number * 2 (0,2,4,..,126) - ldx #3 ;X = 0 channel (0..3 or 0..7 for stereo module) + ldx #0 ;X = 0 channel (0..3 or 0..7 for stereo module) lda #0 ;A = 0 note (0..60) bit noSfx smi:jsr RASTERMUSICTRACKER+15 ;RMT_SFX start tone (It works only if FEAT_SFX is enabled !!!) @@ -1171,8 +1166,6 @@ itsPAL sta sfx_effect ;reinit value lab2 jsr RASTERMUSICTRACKER+3 ;1 play - lda #0 - sta RMT_VBL_Runin ; ------- RMT ------- SkipRMTVBL exitVBL diff --git a/scorch.xex b/scorch.xex index 2a7fd4d5ab6535001b6a064beb5a95e2e36a9a8e..9f7f3a759539b2648dd7fb228bbe7a875e0696ec 100644 GIT binary patch delta 17088 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 Doz=Ff From f807fe8876647f18c5a921d8ba0e1470643b925a Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 10 Aug 2022 00:56:56 +0200 Subject: [PATCH 64/88] WaitOneFrame fixed --- lib/macro.hea | 5 ++--- scorch.asm | 5 ++++- scorch.xex | Bin 43502 -> 43506 bytes 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/macro.hea b/lib/macro.hea index 79c8643..2567870 100644 --- a/lib/macro.hea +++ b/lib/macro.hea @@ -76,11 +76,10 @@ .MACRO WAIT ; WAIT ; waits one frame (1/50 s(PAL) or 1/60s(NTSC)) - lda CONSOL - cmp #6 ; START KEY - beq ?nowait ?zero LDA VCOUNT beq ?zero + bpl ?WA + sbc #10 ; last lines correction ?WA cmp VCOUNT beq ?WA bcc ?WA diff --git a/scorch.asm b/scorch.asm index 9fb10c3..c319b30 100644 --- a/scorch.asm +++ b/scorch.asm @@ -1518,8 +1518,11 @@ noKey rts .endp .proc WaitOneFrame + lda CONSOL + cmp #6 ; START KEY + beq @+ wait - rts +@ rts .endp .proc PauseYFrames ; Y - number of frames to wait (divided by 2) diff --git a/scorch.xex b/scorch.xex index 9f7f3a759539b2648dd7fb228bbe7a875e0696ec..f9a8b2ed24a652a88fd6454fc0932dd063f144ca 100644 GIT binary patch delta 16221 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 Date: Wed, 10 Aug 2022 13:30:30 +0200 Subject: [PATCH 65/88] RMT Player bug fix !!! --- artwork/sfx/rmtplayr.a65 | 5 +++-- grafproc.asm | 10 +++++----- scorch.xex | Bin 43506 -> 43506 bytes 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/artwork/sfx/rmtplayr.a65 b/artwork/sfx/rmtplayr.a65 index 0e8c70c..3992e17 100644 --- a/artwork/sfx/rmtplayr.a65 +++ b/artwork/sfx/rmtplayr.a65 @@ -766,8 +766,9 @@ ei4 IFT 1==[FEAT_COMMAND1+FEAT_COMMAND2+FEAT_COMMAND3+FEAT_COMMAND4+FEAT_COMMAND5+FEAT_COMMAND6+[FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY]] beq cmd0 ELS - lsr @ - lsr @ +; lsr @ +; lsr @ + lda #0 ; my fix :) sta jmx+1 jmx bcc * jmp cmd0 diff --git a/grafproc.asm b/grafproc.asm index 0f4d528..372981d 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1799,7 +1799,7 @@ EndPutChar FontColor0 ; char to the table lda CharCode4x4 - and #1 + and #%00000001 beq Upper4bits lda #$ff ; better option to check (nibbler4x4 = $00 or $ff) Upper4bits @@ -1841,11 +1841,11 @@ GetUpper4bits and #$7 sta ybit - lsrw xbyte ; div 8 - rorw xbyte - rorw xbyte + :3 lsrw xbyte ; div 8 +; rorw xbyte +; rorw xbyte ;--- - ldy xbyte + ldy xbyte ; horizontal byte offet stored in Y lda dy ; y = y - 3 because left lower. sec sbc #3 diff --git a/scorch.xex b/scorch.xex index f9a8b2ed24a652a88fd6454fc0932dd063f144ca..27b3f567e70d38f08fb07baa22e766353db9c86e 100644 GIT binary patch delta 28 kcmex#nd#GIrVVGxSlwFFTHH2YEVEW&TFJ1PZ}t;D0L@tp(*OVf delta 26 icmex#nd#GIrVVGxCeJP9-h92xRE5dQYct>MCwu_Behh8^ From 054c5df5d76145ba40303dd4de7c304467e9b9c0 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 10 Aug 2022 18:39:37 +0200 Subject: [PATCH 66/88] New music file and Song change fixed! --- artwork/sfx/feat.txt | 41 + artwork/sfx/rmt_feat.a65 | 41 - artwork/sfx/rmt_feat.asm | 41 - artwork/sfx/rmtplayr.a65 | 2 +- artwork/sfx/rmtplayr_game.asm | 1335 ----------------- ...rial0h_stripped.rmt => scorch_trial0j.rmt} | Bin 3795 -> 4160 bytes ...ripped.rmt => scorch_trial0j_stripped.rmt} | Bin 3585 -> 3633 bytes scorch.asm | 10 +- scorch.xex | Bin 43506 -> 43520 bytes 9 files changed, 50 insertions(+), 1420 deletions(-) create mode 100644 artwork/sfx/feat.txt delete mode 100644 artwork/sfx/rmt_feat.a65 delete mode 100644 artwork/sfx/rmt_feat.asm delete mode 100644 artwork/sfx/rmtplayr_game.asm rename artwork/sfx/{scorch_trial0h_stripped.rmt => scorch_trial0j.rmt} (50%) rename artwork/sfx/{scorch_trial0h1_stripped.rmt => scorch_trial0j_stripped.rmt} (85%) diff --git a/artwork/sfx/feat.txt b/artwork/sfx/feat.txt new file mode 100644 index 0000000..71ffb18 --- /dev/null +++ b/artwork/sfx/feat.txt @@ -0,0 +1,41 @@ +STEREOMODE equ 0 +;* --------BEGIN-------- +;* C:\Atari\rmt\rmt128\aa.rmt +FEAT_SFX equ 1 +FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable +FEAT_NOSTARTINGSONGLINE equ 0 +FEAT_INSTRSPEED equ 1 +FEAT_CONSTANTSPEED equ 0 ;(19 times) +FEAT_COMMAND1 equ 1 ;(10 times) +FEAT_COMMAND2 equ 0 ;(0 times) +FEAT_COMMAND3 equ 0 ;(0 times) +FEAT_COMMAND4 equ 0 ;(0 times) +FEAT_COMMAND5 equ 0 ;(0 times) +FEAT_COMMAND6 equ 0 ;(0 times) +FEAT_COMMAND7SETNOTE equ 0 ;(0 times) +FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) +FEAT_PORTAMENTO equ 0 ;(0 times) +FEAT_FILTER equ 1 ;(22 times) +FEAT_FILTERG0L equ 1 ;(13 times) +FEAT_FILTERG1L equ 1 ;(22 times) +FEAT_FILTERG0R equ 0 ;(0 times) +FEAT_FILTERG1R equ 0 ;(0 times) +FEAT_BASS16 equ 0 ;(0 times) +FEAT_BASS16G1L equ 0 ;(0 times) +FEAT_BASS16G3L equ 0 ;(0 times) +FEAT_BASS16G1R equ 0 ;(0 times) +FEAT_BASS16G3R equ 0 ;(0 times) +FEAT_VOLUMEONLYG0L equ 0 ;(0 times) +FEAT_VOLUMEONLYG2L equ 0 ;(0 times) +FEAT_VOLUMEONLYG3L equ 0 ;(0 times) +FEAT_VOLUMEONLYG0R equ 0 ;(0 times) +FEAT_VOLUMEONLYG2R equ 0 ;(0 times) +FEAT_VOLUMEONLYG3R equ 0 ;(0 times) +FEAT_TABLETYPE equ 0 ;(0 times) +FEAT_TABLEMODE equ 0 ;(0 times) +FEAT_TABLEGO equ 0 ;(0 times) +FEAT_AUDCTLMANUALSET equ 0 ;(0 times) +FEAT_VOLUMEMIN equ 0 ;(0 times) +FEAT_EFFECTVIBRATO equ 1 ;(2 times) +FEAT_EFFECTFSHIFT equ 0 ;(0 times) +;* --------END-------- diff --git a/artwork/sfx/rmt_feat.a65 b/artwork/sfx/rmt_feat.a65 deleted file mode 100644 index eafd077..0000000 --- a/artwork/sfx/rmt_feat.a65 +++ /dev/null @@ -1,41 +0,0 @@ -STEREOMODE equ 0 -;* --------BEGIN-------- -;* C:\Atari\rmt\rmt128\aaa.rmt -FEAT_SFX equ 1 -FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable -FEAT_NOSTARTINGSONGLINE equ 0 -FEAT_INSTRSPEED equ 1 -FEAT_CONSTANTSPEED equ 0 ;(18 times) -FEAT_COMMAND1 equ 1 ;(10 times) -FEAT_COMMAND2 equ 0 ;(0 times) -FEAT_COMMAND3 equ 0 ;(0 times) -FEAT_COMMAND4 equ 0 ;(0 times) -FEAT_COMMAND5 equ 0 ;(0 times) -FEAT_COMMAND6 equ 1 ;(2 times) -FEAT_COMMAND7SETNOTE equ 0 ;(0 times) -FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) -FEAT_PORTAMENTO equ 0 ;(0 times) -FEAT_FILTER equ 1 ;(22 times) -FEAT_FILTERG0L equ 1 ;(13 times) -FEAT_FILTERG1L equ 1 ;(22 times) -FEAT_FILTERG0R equ 0 ;(0 times) -FEAT_FILTERG1R equ 0 ;(0 times) -FEAT_BASS16 equ 0 ;(0 times) -FEAT_BASS16G1L equ 0 ;(0 times) -FEAT_BASS16G3L equ 0 ;(0 times) -FEAT_BASS16G1R equ 0 ;(0 times) -FEAT_BASS16G3R equ 0 ;(0 times) -FEAT_VOLUMEONLYG0L equ 0 ;(0 times) -FEAT_VOLUMEONLYG2L equ 0 ;(0 times) -FEAT_VOLUMEONLYG3L equ 0 ;(0 times) -FEAT_VOLUMEONLYG0R equ 0 ;(0 times) -FEAT_VOLUMEONLYG2R equ 0 ;(0 times) -FEAT_VOLUMEONLYG3R equ 0 ;(0 times) -FEAT_TABLETYPE equ 0 ;(0 times) -FEAT_TABLEMODE equ 0 ;(0 times) -FEAT_TABLEGO equ 0 ;(0 times) -FEAT_AUDCTLMANUALSET equ 0 ;(0 times) -FEAT_VOLUMEMIN equ 0 ;(0 times) -FEAT_EFFECTVIBRATO equ 1 ;(1 times) -FEAT_EFFECTFSHIFT equ 0 ;(0 times) -;* --------END-------- \ No newline at end of file diff --git a/artwork/sfx/rmt_feat.asm b/artwork/sfx/rmt_feat.asm deleted file mode 100644 index eafd077..0000000 --- a/artwork/sfx/rmt_feat.asm +++ /dev/null @@ -1,41 +0,0 @@ -STEREOMODE equ 0 -;* --------BEGIN-------- -;* C:\Atari\rmt\rmt128\aaa.rmt -FEAT_SFX equ 1 -FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable -FEAT_NOSTARTINGSONGLINE equ 0 -FEAT_INSTRSPEED equ 1 -FEAT_CONSTANTSPEED equ 0 ;(18 times) -FEAT_COMMAND1 equ 1 ;(10 times) -FEAT_COMMAND2 equ 0 ;(0 times) -FEAT_COMMAND3 equ 0 ;(0 times) -FEAT_COMMAND4 equ 0 ;(0 times) -FEAT_COMMAND5 equ 0 ;(0 times) -FEAT_COMMAND6 equ 1 ;(2 times) -FEAT_COMMAND7SETNOTE equ 0 ;(0 times) -FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) -FEAT_PORTAMENTO equ 0 ;(0 times) -FEAT_FILTER equ 1 ;(22 times) -FEAT_FILTERG0L equ 1 ;(13 times) -FEAT_FILTERG1L equ 1 ;(22 times) -FEAT_FILTERG0R equ 0 ;(0 times) -FEAT_FILTERG1R equ 0 ;(0 times) -FEAT_BASS16 equ 0 ;(0 times) -FEAT_BASS16G1L equ 0 ;(0 times) -FEAT_BASS16G3L equ 0 ;(0 times) -FEAT_BASS16G1R equ 0 ;(0 times) -FEAT_BASS16G3R equ 0 ;(0 times) -FEAT_VOLUMEONLYG0L equ 0 ;(0 times) -FEAT_VOLUMEONLYG2L equ 0 ;(0 times) -FEAT_VOLUMEONLYG3L equ 0 ;(0 times) -FEAT_VOLUMEONLYG0R equ 0 ;(0 times) -FEAT_VOLUMEONLYG2R equ 0 ;(0 times) -FEAT_VOLUMEONLYG3R equ 0 ;(0 times) -FEAT_TABLETYPE equ 0 ;(0 times) -FEAT_TABLEMODE equ 0 ;(0 times) -FEAT_TABLEGO equ 0 ;(0 times) -FEAT_AUDCTLMANUALSET equ 0 ;(0 times) -FEAT_VOLUMEMIN equ 0 ;(0 times) -FEAT_EFFECTVIBRATO equ 1 ;(1 times) -FEAT_EFFECTFSHIFT equ 0 ;(0 times) -;* --------END-------- \ No newline at end of file diff --git a/artwork/sfx/rmtplayr.a65 b/artwork/sfx/rmtplayr.a65 index 3992e17..2aeb590 100644 --- a/artwork/sfx/rmtplayr.a65 +++ b/artwork/sfx/rmtplayr.a65 @@ -31,7 +31,7 @@ TRACKS equ 4 ;* ;* RMT FEATures definitions file ;* For optimizations of RMT player routine to concrete RMT modul only! - icl "rmt_feat.a65" + icl "feat.txt" ;* ;* RMT ZeroPage addresses org RMT_Zero_Page_V diff --git a/artwork/sfx/rmtplayr_game.asm b/artwork/sfx/rmtplayr_game.asm deleted file mode 100644 index a92eeaa..0000000 --- a/artwork/sfx/rmtplayr_game.asm +++ /dev/null @@ -1,1335 +0,0 @@ -.echo * -;* -;* Raster Music Tracker, RMT Atari routine version 1.20090108 -;* (c) Radek Sterba, Raster/C.P.U., 2002 - 2009 -;* http://raster.atari.org -;* -;* Warnings: -;* -;* 1. RMT player routine needs 19 itself reserved bytes in zero page (no accessed -;* from any other routines) as well as cca 1KB of memory before the "PLAYER" -;* address for frequency tables and functionary variables. It's: -;* a) from PLAYER-$03c0 to PLAYER for stereo RMTplayer -;* b) from PLAYER-$0320 to PLAYER for mono RMTplayer -;* -;* 2. RMT player routine MUST (!!!) be compiled from the begin of the memory page. -;* i.e. "PLAYER" address can be $..00 only! -;* -;* 3. Because of RMTplayer provides a lot of effects, it spent a lot of CPU time. -;* - STEREOMODE equ 0 ;0 => compile RMTplayer for 4 tracks mono -;* ;1 => compile RMTplayer for 8 tracks stereo -;* ;2 => compile RMTplayer for 4 tracks stereo L1 R2 R3 L4 -;* ;3 => compile RMTplayer for 4 tracks stereo L1 L2 R3 R4 -;* -; IFT STEREOMODE==1 -;TRACKS equ 8 -; ELS -TRACKS equ 4 -; EIF -;* -PLAYER = * - IFT TRACKS>4 - org PLAYER-$400+$40 - ELS - org PLAYER-$400+$e0 - EIF -track_variables -trackn_db org *+TRACKS -trackn_hb org *+TRACKS -trackn_idx org *+TRACKS -trackn_pause org *+TRACKS -trackn_note org *+TRACKS -trackn_volume org *+TRACKS -trackn_distor org *+TRACKS -trackn_shiftfrq org *+TRACKS - IFT FEAT_PORTAMENTO -trackn_portafrqc org *+TRACKS -trackn_portafrqa org *+TRACKS -trackn_portaspeed org *+TRACKS -trackn_portaspeeda org *+TRACKS -trackn_portadepth org *+TRACKS - EIF -trackn_instrx2 org *+TRACKS -trackn_instrdb org *+TRACKS -trackn_instrhb org *+TRACKS -trackn_instridx org *+TRACKS -trackn_instrlen org *+TRACKS -trackn_instrlop org *+TRACKS -trackn_instrreachend org *+TRACKS -trackn_volumeslidedepth org *+TRACKS -trackn_volumeslidevalue org *+TRACKS - IFT FEAT_VOLUMEMIN -trackn_volumemin org *+TRACKS - EIF -FEAT_EFFECTS equ FEAT_EFFECTVIBRATO||FEAT_EFFECTFSHIFT - IFT FEAT_EFFECTS -trackn_effdelay org *+TRACKS - EIF - IFT FEAT_EFFECTVIBRATO -trackn_effvibratoa org *+TRACKS - EIF - IFT FEAT_EFFECTFSHIFT -trackn_effshift org *+TRACKS - EIF -trackn_tabletypespeed org *+TRACKS - IFT FEAT_TABLEMODE -trackn_tablemode org *+TRACKS - EIF -trackn_tablenote org *+TRACKS -trackn_tablea org *+TRACKS -trackn_tableend org *+TRACKS - IFT FEAT_TABLEGO -trackn_tablelop org *+TRACKS - EIF -trackn_tablespeeda org *+TRACKS - IFT FEAT_FILTER||FEAT_BASS16 -trackn_command org *+TRACKS - EIF - IFT FEAT_BASS16 -trackn_outnote org *+TRACKS - EIF - IFT FEAT_FILTER -trackn_filter org *+TRACKS - EIF -trackn_audf org *+TRACKS -trackn_audc org *+TRACKS - IFT FEAT_AUDCTLMANUALSET -trackn_audctl org *+TRACKS - EIF -v_aspeed org *+1 -track_endvariables - org PLAYER-$100-$140-$40+2 -INSTRPAR equ 12 -tabbeganddistor - dta frqtabpure-frqtab,$00 - dta frqtabpure-frqtab,$20 - dta frqtabpure-frqtab,$40 - dta frqtabbass1-frqtab,$c0 - dta frqtabpure-frqtab,$80 - dta frqtabpure-frqtab,$a0 - dta frqtabbass1-frqtab,$c0 - dta frqtabbass2-frqtab,$c0 - IFT FEAT_EFFECTVIBRATO -vibtabbeg dta 0,vib1-vib0,vib2-vib0,vib3-vib0 -vib0 dta 0 -vib1 dta 1,-1,-1,1 -vib2 dta 1,0,-1,-1,0,1 -vib3 dta 1,1,0,-1,-1,-1,-1,0,1,1 -vibtabnext - dta vib0-vib0+0 - dta vib1-vib0+1,vib1-vib0+2,vib1-vib0+3,vib1-vib0+0 - dta vib2-vib0+1,vib2-vib0+2,vib2-vib0+3,vib2-vib0+4,vib2-vib0+5,vib2-vib0+0 - dta vib3-vib0+1,vib3-vib0+2,vib3-vib0+3,vib3-vib0+4,vib3-vib0+5,vib3-vib0+6,vib3-vib0+7,vib3-vib0+8,vib3-vib0+9,vib3-vib0+0 - EIF - org PLAYER-$100-$140 - IFT FEAT_BASS16 -frqtabbasslo - dta $F2,$33,$96,$E2,$38,$8C,$00,$6A,$E8,$6A,$EF,$80,$08,$AE,$46,$E6 - dta $95,$41,$F6,$B0,$6E,$30,$F6,$BB,$84,$52,$22,$F4,$C8,$A0,$7A,$55 - dta $34,$14,$F5,$D8,$BD,$A4,$8D,$77,$60,$4E,$38,$27,$15,$06,$F7,$E8 - dta $DB,$CF,$C3,$B8,$AC,$A2,$9A,$90,$88,$7F,$78,$70,$6A,$64,$5E,$00 - EIF - org PLAYER-$100-$100 -frqtab - ERT [255 - ldy #0 - tya -ri0 sta track_variables,y - sta track_endvariables-$100,y - iny - bne ri0 - ELS - ldy #track_endvariables-track_variables - lda #0 -ri0 sta track_variables-1,y - dey - bne ri0 - EIF - ldy #4 - lda (ns),y - sta v_maxtracklen - iny - IFT FEAT_CONSTANTSPEED==0 - lda (ns),y - sta v_speed - EIF - IFT FEAT_INSTRSPEED==0 - iny - lda (ns),y - sta v_instrspeed - sta v_ainstrspeed - ELI FEAT_INSTRSPEED>1 - lda #FEAT_INSTRSPEED - sta v_ainstrspeed - EIF - ldy #8 -ri1 lda (ns),y - sta p_tis-8,y - iny - cpy #8+8 - bne ri1 - IFT FEAT_NOSTARTINGSONGLINE==0 - pla - pha - IFT TRACKS>4 - asl @ - asl @ - asl @ - clc - adc p_song - sta p_song - pla - php - and #$e0 - asl @ - rol @ - rol @ - rol @ - ELS - asl @ - asl @ - clc - adc p_song - sta p_song - pla - php - and #$c0 - asl @ - rol @ - rol @ - EIF - plp - adc p_song+1 - sta p_song+1 - EIF - jsr GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 -rmt_silence - IFT STEREOMODE>0 - lda #0 - sta $d208 - sta $d218 - ldy #3 - sty $d20f - sty $d21f - ldy #8 -si1 sta $d200,y - sta $d210,y - dey - bpl si1 - ELS - lda #0 - sta $d208 - ldy #3 - sty $d20f - ldy #8 -si1 sta $d200,y - dey - bpl si1 - EIF - IFT FEAT_INSTRSPEED==0 - lda v_instrspeed - ELS - lda #FEAT_INSTRSPEED - EIF - rts -GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 -GetSongLine - ldx #0 - stx v_abeat -nn0 -nn1 txa - tay - lda (p_song),y - cmp #$fe - bcs nn2 - tay - lda (p_trackslbstable),y - sta trackn_db,x - lda (p_trackshbstable),y -nn1a sta trackn_hb,x - lda #0 - sta trackn_idx,x - lda #1 -nn1a2 sta trackn_pause,x - lda #$80 - sta trackn_instrx2,x - inx -xtracks01 cpx #TRACKS - bne nn1 - lda p_song - clc -xtracks02 adc #TRACKS - sta p_song - bcc GetTrackLine - inc p_song+1 -nn1b - jmp GetTrackLine -nn2 - beq nn3 -nn2a - lda #0 - beq nn1a2 -nn3 - ldy #2 - lda (p_song),y - tax - iny - lda (p_song),y - sta p_song+1 - stx p_song - ldx #0 - beq nn0 -GetTrackLine -oo0 -oo0a - IFT FEAT_CONSTANTSPEED==0 - lda #$ff -v_speed equ *-1 - sta v_bspeed - EIF - ldx #-1 -oo1 - inx - dec trackn_pause,x - bne oo1x -oo1b - lda trackn_db,x - sta ns - lda trackn_hb,x - sta ns+1 -oo1i - ldy trackn_idx,x - inc trackn_idx,x - lda (ns),y - sta reg1 - and #$3f - cmp #61 - beq oo1a - bcs oo2 - sta trackn_note,x - IFT FEAT_BASS16 - sta trackn_outnote,x - EIF - iny - lda (ns),y - lsr @ - and #$3f*2 - sta trackn_instrx2,x -oo1a - lda #1 - sta trackn_pause,x - ldy trackn_idx,x - inc trackn_idx,x - lda (ns),y - lsr @ - ror reg1 - lsr @ - ror reg1 - lda reg1 - IFT FEAT_GLOBALVOLUMEFADE - sec - sbc #$00 -RMTGLOBALVOLUMEFADE equ *-1 - bcs voig - lda #0 -voig - EIF - and #$f0 - sta trackn_volume,x -oo1x -xtracks03sub1 cpx #TRACKS-1 - bne oo1 - IFT FEAT_CONSTANTSPEED==0 - lda #$ff -v_bspeed equ *-1 - sta v_speed - ELS - lda #FEAT_CONSTANTSPEED - EIF - sta v_aspeed - jmp InitOfNewSetInstrumentsOnly -oo2 - cmp #63 - beq oo63 - lda reg1 - and #$c0 - beq oo62_b - asl @ - rol @ - rol @ - sta trackn_pause,x - jmp oo1x -oo62_b - iny - lda (ns),y - sta trackn_pause,x - inc trackn_idx,x - jmp oo1x -oo63 - lda reg1 - IFT FEAT_CONSTANTSPEED==0 - bmi oo63_1X - iny - lda (ns),y - sta v_bspeed - inc trackn_idx,x - jmp oo1i -oo63_1X - EIF - cmp #255 - beq oo63_11 - iny - lda (ns),y - sta trackn_idx,x - jmp oo1i -oo63_11 - jmp GetSongLine -p2xrmtp3 jmp rmt_p3 -p2x0 dex - bmi p2xrmtp3 -InitOfNewSetInstrumentsOnly -p2x1 ldy trackn_instrx2,x - bmi p2x0 - IFT FEAT_SFX - jsr SetUpInstrumentY2 - jmp p2x0 -rmt_sfx - sta trackn_note,x - IFT FEAT_BASS16 - sta trackn_outnote,x - EIF - lda #$f0 ;* sfx note volume*16 -RMTSFXVOLUME equ *-1 ;* label for sfx note volume parameter overwriting - sta trackn_volume,x - EIF -SetUpInstrumentY2 - lda (p_instrstable),y - sta trackn_instrdb,x - sta nt - iny - lda (p_instrstable),y - sta trackn_instrhb,x - sta nt+1 - IFT FEAT_FILTER - lda #1 - sta trackn_filter,x - EIF - IFT FEAT_TABLEGO - IFT FEAT_FILTER - tay - ELS - ldy #1 - EIF - lda (nt),y - sta trackn_tablelop,x - iny - ELS - ldy #2 - EIF - lda (nt),y - sta trackn_instrlen,x - iny - lda (nt),y - sta trackn_instrlop,x - iny - lda (nt),y - sta trackn_tabletypespeed,x - IFT FEAT_TABLETYPE||FEAT_TABLEMODE - and #$3f - EIF - sta trackn_tablespeeda,x - IFT FEAT_TABLEMODE - lda (nt),y - and #$40 - sta trackn_tablemode,x - EIF - IFT FEAT_AUDCTLMANUALSET - iny - lda (nt),y - sta trackn_audctl,x - iny - ELS - ldy #6 - EIF - lda (nt),y - sta trackn_volumeslidedepth,x - IFT FEAT_VOLUMEMIN - iny - lda (nt),y - sta trackn_volumemin,x - IFT FEAT_EFFECTS - iny - EIF - ELS - IFT FEAT_EFFECTS - ldy #8 - EIF - EIF - IFT FEAT_EFFECTS - lda (nt),y - sta trackn_effdelay,x - IFT FEAT_EFFECTVIBRATO - iny - lda (nt),y - tay - lda vibtabbeg,y - sta trackn_effvibratoa,x - EIF - IFT FEAT_EFFECTFSHIFT - ldy #10 - lda (nt),y - sta trackn_effshift,x - EIF - EIF - lda #128 - sta trackn_volumeslidevalue,x - sta trackn_instrx2,x - asl @ - sta trackn_instrreachend,x - sta trackn_shiftfrq,x - tay - lda (nt),y - sta trackn_tableend,x - adc #0 - sta trackn_instridx,x - lda #INSTRPAR - sta trackn_tablea,x - tay - lda (nt),y - sta trackn_tablenote,x -xata_rtshere - IFT FEAT_SFX - rts - ELS - jmp p2x0 - EIF -rmt_play -rmt_p0 - jsr SetPokey -rmt_p1 - IFT FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 - dec v_ainstrspeed - bne rmt_p3 - EIF - IFT FEAT_INSTRSPEED==0 - lda #$ff -v_instrspeed equ *-1 - sta v_ainstrspeed - ELI FEAT_INSTRSPEED>1 - lda #FEAT_INSTRSPEED - sta v_ainstrspeed - EIF -rmt_p2 - dec v_aspeed - bne rmt_p3 - inc v_abeat - lda #$ff -v_abeat equ *-1 - cmp #$ff -v_maxtracklen equ *-1 - beq p2o3 - jmp GetTrackLine -p2o3 - jmp GetSongLineTrackLineInitOfNewSetInstrumentsOnlyRmtp3 -go_ppnext jmp ppnext -rmt_p3 - lda #>frqtab - sta nr+1 -xtracks05sub1 ldx #TRACKS-1 -pp1 - lda trackn_instrhb,x - beq go_ppnext - sta ns+1 - lda trackn_instrdb,x - sta ns - ldy trackn_instridx,x - lda (ns),y - sta reg1 - iny - lda (ns),y - sta reg2 - iny - lda (ns),y - sta reg3 - iny - tya - cmp trackn_instrlen,x - bcc pp2 - beq pp2 - lda #$80 - sta trackn_instrreachend,x -pp1b - lda trackn_instrlop,x -pp2 sta trackn_instridx,x - lda reg1 - IFT TRACKS>4 - cpx #4 - bcc pp2s - lsr @ - lsr @ - lsr @ - lsr @ -pp2s - EIF - and #$0f - ora trackn_volume,x - tay - lda volumetab,y - sta tmp - lda reg2 - and #$0e - tay - lda tabbeganddistor,y - sta nr - lda tmp - ora tabbeganddistor+1,y - sta trackn_audc,x -InstrumentsEffects - IFT FEAT_EFFECTS - lda trackn_effdelay,x - beq ei2 - cmp #1 - bne ei1 - lda trackn_shiftfrq,x - IFT FEAT_EFFECTFSHIFT - clc - adc trackn_effshift,x - EIF - IFT FEAT_EFFECTVIBRATO - clc - ldy trackn_effvibratoa,x - adc vib0,y - EIF - sta trackn_shiftfrq,x - IFT FEAT_EFFECTVIBRATO - lda vibtabnext,y - sta trackn_effvibratoa,x - EIF - jmp ei2 -ei1 - dec trackn_effdelay,x -ei2 - EIF - ldy trackn_tableend,x - cpy #INSTRPAR+1 - bcc ei3 - lda trackn_tablespeeda,x - bpl ei2f -ei2c - tya - cmp trackn_tablea,x - bne ei2c2 - IFT FEAT_TABLEGO - lda trackn_tablelop,x - ELS - lda #INSTRPAR - EIF - sta trackn_tablea,x - bne ei2a -ei2c2 - inc trackn_tablea,x -ei2a - lda trackn_instrdb,x - sta nt - lda trackn_instrhb,x - sta nt+1 - ldy trackn_tablea,x - lda (nt),y - IFT FEAT_TABLEMODE - ldy trackn_tablemode,x - beq ei2e - clc - adc trackn_tablenote,x -ei2e - EIF - sta trackn_tablenote,x - lda trackn_tabletypespeed,x - IFT FEAT_TABLETYPE||FEAT_TABLEMODE - and #$3f - EIF -ei2f - sec - sbc #1 - sta trackn_tablespeeda,x -ei3 - lda trackn_instrreachend,x - bpl ei4 - lda trackn_volume,x - beq ei4 - IFT FEAT_VOLUMEMIN - cmp trackn_volumemin,x - beq ei4 - bcc ei4 - EIF - tay - lda trackn_volumeslidevalue,x - clc - adc trackn_volumeslidedepth,x - sta trackn_volumeslidevalue,x - bcc ei4 - tya - sbc #16 - sta trackn_volume,x -ei4 - IFT FEAT_COMMAND2 - lda #0 - sta frqaddcmd2 - EIF - IFT FEAT_COMMAND1||FEAT_COMMAND2||FEAT_COMMAND3||FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY - lda reg2 - IFT FEAT_FILTER||FEAT_BASS16 - sta trackn_command,x - EIF - and #$70 - IFT 1==[FEAT_COMMAND1+FEAT_COMMAND2+FEAT_COMMAND3+FEAT_COMMAND4+FEAT_COMMAND5+FEAT_COMMAND6+[FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY]] - beq cmd0 - ELS - lsr @ - lsr @ - sta jmx+1 -jmx bcc * - jmp cmd0 - nop - jmp cmd1 - IFT FEAT_COMMAND2||FEAT_COMMAND3||FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY - nop - jmp cmd2 - EIF - IFT FEAT_COMMAND3||FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY - nop - jmp cmd3 - EIF - IFT FEAT_COMMAND4||FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY - nop - jmp cmd4 - EIF - IFT FEAT_COMMAND5||FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY - nop - jmp cmd5 - EIF - IFT FEAT_COMMAND6||FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY - nop - jmp cmd6 - EIF - IFT FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY - nop - jmp cmd7 - EIF - EIF - ELS - IFT FEAT_FILTER||FEAT_BASS16 - lda reg2 - sta trackn_command,x - EIF - EIF -cmd1 - IFT FEAT_COMMAND1 - lda reg3 - jmp cmd0c - EIF -cmd2 - IFT FEAT_COMMAND2 - lda reg3 - sta frqaddcmd2 - lda trackn_note,x - jmp cmd0a - EIF -cmd3 - IFT FEAT_COMMAND3 - lda trackn_note,x - clc - adc reg3 - sta trackn_note,x - jmp cmd0a - EIF -cmd4 - IFT FEAT_COMMAND4 - lda trackn_shiftfrq,x - clc - adc reg3 - sta trackn_shiftfrq,x - lda trackn_note,x - jmp cmd0a - EIF -cmd5 - IFT FEAT_COMMAND5&&FEAT_PORTAMENTO - IFT FEAT_TABLETYPE - lda trackn_tabletypespeed,x - bpl cmd5a1 - ldy trackn_note,x - lda (nr),y - clc - adc trackn_tablenote,x - jmp cmd5ax - EIF -cmd5a1 - lda trackn_note,x - clc - adc trackn_tablenote,x - cmp #61 - bcc cmd5a2 - lda #63 -cmd5a2 - tay - lda (nr),y -cmd5ax - sta trackn_portafrqc,x - ldy reg3 - bne cmd5a - sta trackn_portafrqa,x -cmd5a - tya - lsr @ - lsr @ - lsr @ - lsr @ - sta trackn_portaspeed,x - sta trackn_portaspeeda,x - lda reg3 - and #$0f - sta trackn_portadepth,x - lda trackn_note,x - jmp cmd0a - ELI FEAT_COMMAND5 - lda trackn_note,x - jmp cmd0a - EIF -cmd6 - IFT FEAT_COMMAND6&&FEAT_FILTER - lda reg3 - clc - adc trackn_filter,x - sta trackn_filter,x - lda trackn_note,x - jmp cmd0a - ELI FEAT_COMMAND6 - lda trackn_note,x - jmp cmd0a - EIF -cmd7 - IFT FEAT_COMMAND7SETNOTE||FEAT_COMMAND7VOLUMEONLY - IFT FEAT_COMMAND7SETNOTE - lda reg3 - IFT FEAT_COMMAND7VOLUMEONLY - cmp #$80 - beq cmd7a - EIF - sta trackn_note,x - jmp cmd0a - EIF - IFT FEAT_COMMAND7VOLUMEONLY -cmd7a - lda trackn_audc,x - ora #$f0 - sta trackn_audc,x - lda trackn_note,x - jmp cmd0a - EIF - EIF -cmd0 - lda trackn_note,x - clc - adc reg3 -cmd0a - IFT FEAT_TABLETYPE - ldy trackn_tabletypespeed,x - bmi cmd0b - EIF - clc - adc trackn_tablenote,x - cmp #61 - bcc cmd0a1 - lda #0 - sta trackn_audc,x - lda #63 -cmd0a1 - IFT FEAT_BASS16 - sta trackn_outnote,x - EIF - tay - lda (nr),y - clc - adc trackn_shiftfrq,x - IFT FEAT_COMMAND2 - clc - adc frqaddcmd2 - EIF - IFT FEAT_TABLETYPE - jmp cmd0c -cmd0b - cmp #61 - bcc cmd0b1 - lda #0 - sta trackn_audc,x - lda #63 -cmd0b1 - tay - lda trackn_shiftfrq,x - clc - adc trackn_tablenote,x - clc - adc (nr),y - IFT FEAT_COMMAND2 - clc - adc frqaddcmd2 - EIF - EIF -cmd0c - sta trackn_audf,x -pp9 - IFT FEAT_PORTAMENTO - lda trackn_portaspeeda,x - beq pp10 - dec trackn_portaspeeda,x - bne pp10 - lda trackn_portaspeed,x - sta trackn_portaspeeda,x - lda trackn_portafrqa,x - cmp trackn_portafrqc,x - beq pp10 - bcs pps1 - adc trackn_portadepth,x - bcs pps8 - cmp trackn_portafrqc,x - bcs pps8 - jmp pps9 -pps1 - sbc trackn_portadepth,x - bcc pps8 - cmp trackn_portafrqc,x - bcs pps9 -pps8 - lda trackn_portafrqc,x -pps9 - sta trackn_portafrqa,x -pp10 - lda reg2 - and #$01 - beq pp11 - lda trackn_portafrqa,x - clc - adc trackn_shiftfrq,x - sta trackn_audf,x -pp11 - EIF -ppnext - dex - bmi rmt_p4 - jmp pp1 -rmt_p4 - IFT FEAT_AUDCTLMANUALSET - lda trackn_audctl+0 - ora trackn_audctl+1 - ora trackn_audctl+2 - ora trackn_audctl+3 - tax - ELS - ldx #0 - EIF -qq1 - stx v_audctl - IFT FEAT_FILTER - IFT FEAT_FILTERG0L - lda trackn_command+0 - bpl qq2 - lda trackn_audc+0 - and #$0f - beq qq2 - lda trackn_audf+0 - clc - adc trackn_filter+0 - sta trackn_audf+2 - IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2L - lda trackn_audc+2 - and #$10 - bne qq1a - EIF - lda #0 - sta trackn_audc+2 -qq1a - txa - ora #4 - tax - EIF -qq2 - IFT FEAT_FILTERG1L - lda trackn_command+1 - bpl qq3 - lda trackn_audc+1 - and #$0f - beq qq3 - lda trackn_audf+1 - clc - adc trackn_filter+1 - sta trackn_audf+3 - IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG3L - lda trackn_audc+3 - and #$10 - bne qq2a - EIF - lda #0 - sta trackn_audc+3 -qq2a - txa - ora #2 - tax - EIF -qq3 - IFT FEAT_FILTERG0L||FEAT_FILTERG1L - cpx v_audctl - bne qq5 - EIF - EIF - IFT FEAT_BASS16 - IFT FEAT_BASS16G1L - lda trackn_command+1 - and #$0e - cmp #6 - bne qq4 - lda trackn_audc+1 - and #$0f - beq qq4 - ldy trackn_outnote+1 - lda frqtabbasslo,y - sta trackn_audf+0 - lda frqtabbasshi,y - sta trackn_audf+1 - IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG0L - lda trackn_audc+0 - and #$10 - bne qq3a - EIF - lda #0 - sta trackn_audc+0 -qq3a - txa - ora #$50 - tax - EIF -qq4 - IFT FEAT_BASS16G3L - lda trackn_command+3 - and #$0e - cmp #6 - bne qq5 - lda trackn_audc+3 - and #$0f - beq qq5 - ldy trackn_outnote+3 - lda frqtabbasslo,y - sta trackn_audf+2 - lda frqtabbasshi,y - sta trackn_audf+3 - IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2L - lda trackn_audc+2 - and #$10 - bne qq4a - EIF - lda #0 - sta trackn_audc+2 -qq4a - txa - ora #$28 - tax - EIF - EIF -qq5 - stx v_audctl - IFT TRACKS>4 - IFT FEAT_AUDCTLMANUALSET - lda trackn_audctl+4 - ora trackn_audctl+5 - ora trackn_audctl+6 - ora trackn_audctl+7 - tax - ELS - ldx #0 - EIF - stx v_audctl2 - IFT FEAT_FILTER - IFT FEAT_FILTERG0R - lda trackn_command+0+4 - bpl qs2 - lda trackn_audc+0+4 - and #$0f - beq qs2 - lda trackn_audf+0+4 - clc - adc trackn_filter+0+4 - sta trackn_audf+2+4 - IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2R - lda trackn_audc+2+4 - and #$10 - bne qs1a - EIF - lda #0 - sta trackn_audc+2+4 -qs1a - txa - ora #4 - tax - EIF -qs2 - IFT FEAT_FILTERG1R - lda trackn_command+1+4 - bpl qs3 - lda trackn_audc+1+4 - and #$0f - beq qs3 - lda trackn_audf+1+4 - clc - adc trackn_filter+1+4 - sta trackn_audf+3+4 - IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG3R - lda trackn_audc+3+4 - and #$10 - bne qs2a - EIF - lda #0 - sta trackn_audc+3+4 -qs2a - txa - ora #2 - tax - EIF -qs3 - IFT FEAT_FILTERG0R||FEAT_FILTERG1R - cpx v_audctl2 - bne qs5 - EIF - EIF - IFT FEAT_BASS16 - IFT FEAT_BASS16G1R - lda trackn_command+1+4 - and #$0e - cmp #6 - bne qs4 - lda trackn_audc+1+4 - and #$0f - beq qs4 - ldy trackn_outnote+1+4 - lda frqtabbasslo,y - sta trackn_audf+0+4 - lda frqtabbasshi,y - sta trackn_audf+1+4 - IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG0R - lda trackn_audc+0+4 - and #$10 - bne qs3a - EIF - lda #0 - sta trackn_audc+0+4 -qs3a - txa - ora #$50 - tax - EIF -qs4 - IFT FEAT_BASS16G3R - lda trackn_command+3+4 - and #$0e - cmp #6 - bne qs5 - lda trackn_audc+3+4 - and #$0f - beq qs5 - ldy trackn_outnote+3+4 - lda frqtabbasslo,y - sta trackn_audf+2+4 - lda frqtabbasshi,y - sta trackn_audf+3+4 - IFT FEAT_COMMAND7VOLUMEONLY&&FEAT_VOLUMEONLYG2R - lda trackn_audc+2+4 - and #$10 - bne qs4a - EIF - lda #0 - sta trackn_audc+2+4 -qs4a - txa - ora #$28 - tax - EIF - EIF -qs5 - stx v_audctl2 - EIF -rmt_p5 - IFT FEAT_INSTRSPEED==0||FEAT_INSTRSPEED>1 - lda #$ff -v_ainstrspeed equ *-1 - ELS - lda #1 - EIF - rts -SetPokey - IFT STEREOMODE==1 ;* L1 L2 L3 L4 R1 R2 R3 R4 - ldy #$ff -v_audctl2 equ *-1 - lda trackn_audf+0+4 - ldx trackn_audf+0 -xstastx01 sta $d210 - stx $d200 - lda trackn_audc+0+4 - ldx trackn_audc+0 -xstastx02 sta $d211 - stx $d201 - lda trackn_audf+1+4 - ldx trackn_audf+1 -xstastx03 sta $d212 - stx $d202 - lda trackn_audc+1+4 - ldx trackn_audc+1 -xstastx04 sta $d213 - stx $d203 - lda trackn_audf+2+4 - ldx trackn_audf+2 -xstastx05 sta $d214 - stx $d204 - lda trackn_audc+2+4 - ldx trackn_audc+2 -xstastx06 sta $d215 - stx $d205 - lda trackn_audf+3+4 - ldx trackn_audf+3 -xstastx07 sta $d216 - stx $d206 - lda trackn_audc+3+4 - ldx trackn_audc+3 -xstastx08 sta $d217 - stx $d207 - lda #$ff -v_audctl equ *-1 -xstysta01 sty $d218 - sta $d208 - ELI STEREOMODE==0 ;* L1 L2 L3 L4 - ldy #$ff -v_audctl equ *-1 - lda trackn_audf+0 - ldx trackn_audc+0 - sta $d200 - stx $d201 - lda trackn_audf+1 - ldx trackn_audc+1 - sta $d200+2 - stx $d201+2 - lda trackn_audf+2 - ldx trackn_audc+2 - sta $d200+4 - stx $d201+4 - lda trackn_audf+3 - ldx trackn_audc+3 - sta $d200+6 - stx $d201+6 - sty $d208 - ELI STEREOMODE==2 ;* L1 R2 R3 L4 - ldy #$ff -v_audctl equ *-1 - lda trackn_audf+0 - ldx trackn_audc+0 - sta $d200 - stx $d201 - sta $d210 - lda trackn_audf+1 - ldx trackn_audc+1 - sta $d210+2 - stx $d211+2 - lda trackn_audf+2 - ldx trackn_audc+2 - sta $d210+4 - stx $d211+4 - sta $d200+4 - lda trackn_audf+3 - ldx trackn_audc+3 - sta $d200+6 - stx $d201+6 - sta $d210+6 - sty $d218 - sty $d208 - ELI STEREOMODE==3 ;* L1 L2 R3 R4 - ldy #$ff -v_audctl equ *-1 - lda trackn_audf+0 - ldx trackn_audc+0 - sta $d200 - stx $d201 - lda trackn_audf+1 - ldx trackn_audc+1 - sta $d200+2 - stx $d201+2 - lda trackn_audf+2 - ldx trackn_audc+2 - sta $d210+4 - stx $d211+4 - sta $d200+4 - lda trackn_audf+3 - ldx trackn_audc+3 - sta $d210+6 - stx $d211+6 - sta $d200+6 - sty $d218 - sty $d208 - EIF - rts -RMTPLAYEREND diff --git a/artwork/sfx/scorch_trial0h_stripped.rmt b/artwork/sfx/scorch_trial0j.rmt similarity index 50% rename from artwork/sfx/scorch_trial0h_stripped.rmt rename to artwork/sfx/scorch_trial0j.rmt index f2646c9d934ac5534733ad47c07d2be4caa7236f..b160dcbbb99e5be521e631d61cdff6954171d5a8 100644 GIT binary patch delta 911 zcmaJ-O=uHQ5T2x^zp+#=Dq4M3@c&@{h+gb&n%_1FTJ#{O@REI-EZMx>?vFJG8$F3d ziX|xMrH6_js3;YRNUFIa^1rmv2l#!8t?59U z9}DXzp?ebg>KdK|)YTYI%%frh>fBQEC*Rz=)>)r_u(9%`eN)Z+PoWYFP;_(m0{4Aq z23smq)y0{K>8Z-pM5T7r!Nk>C_DJ(85TZedD$J(@_yqXT8hxVL@H{0%bCVFQ?dV(3 zw^f_orUD&e9kz>VU^!Kp>F6nU{=&X)QQfjLy+1v0G;MHNWW+Xj4s7NS(->#gKasBG z@($Oqs<@mRz}*6aqGsEg&Ol+*$&(DrX}sQI>eMb$l0oN?9z*Q~Po@_$W#H7LdJz=O za!58$t=!r?lGhwSBdTE$)#Zg!#wcb8Y z1xB*E;VNKhhO^2AY@CtD+lp3RdzBznUB^@|SKAo(;STPJqZx2^4!=UDC1%x~4W?@$ zS(}k@WP-038Fxv6m9n~)Eg%=eaPZem(=E85Yh$jaklKcjp^n3>5{%&5<>(gitx;PGwl3WIeCyw>4%>pa9d47t6AtIiwRdZ*Sd-}O{? z?X};EJ9a|Au3fu!0|5gAh};7Odx2oz#!a8tm>3u)FJqVIe)V6ei$M^GUNLUIz94!f|L;cszx(}m>{t8$UGD#P zwI5lLJ(dSHItfz|(jEcOHQ{~cIu z$G-U`_c}(G|IGjY|6>T<_n(3BKLZmGvoQYu$DFwD|9^J2|Nl9;fiwq@=K9B$yN`$O fKQB=E|9?EK`&b2qgu!h7iTfsh@}Zuq@HbED73sT)she7^DT zMwv}zo0e=kw#jSrxy{^Lg0^hma(s*A)|jnDTNiJAx%K~6r){Cz3b!rW#sCBtw|(BG zwmowDwC$(1f7!0S!+A&Ej+r}l%LdjqGOXMy-@fyMxQ01Mp#XzVL(i-&XC8l3%zP-@gO% z>n8S1?yH*&BEX!w2_R8Bb_nPHf9C)H|1oUe`=5dFKLZmGvoQYu$9#D2|Nrc4|NnDx n18EK*&GnD%{9Ycu|GYru|NrqkpL~YbnCm-GmD2xz(#rb))`gfP delta 242 zcmV`6bbh4td#Ii`U%(Dr!P_(tQ#k3c-TD5Ssp|$6={k1^0Q?_rmq_zM6007Un@wOzl zSGSb6$hY#hCAdMjY`B-Wxf@S=e*mYu9fh~<6(%(R0000F07`y}n6k>@^dD#E5H(wo zk0P127. max time measured 2.5 s + bit RMT_blocked + bmi SkipRMTVBL ; ------- RMT ------- lda sfx_effect bmi lab2 @@ -1540,9 +1543,12 @@ noKey ; starting song line 0-255 to A reg bit noMusic spl:lda #song_silencio + mvx #$ff RMT_blocked ldx #MODUL ;hi byte of RMT module to Y reg - jmp RASTERMUSICTRACKER ;Init, :RTS + jsr RASTERMUSICTRACKER ;Init + mva #0 RMT_blocked + rts .endp ;---------------------------------------------- icl 'weapons.asm' @@ -1575,7 +1581,7 @@ PLAYER MODUL equ $b000 ;address of RMT module opt h- ;RMT module is standard Atari binary file already - ins "artwork/sfx/scorch_trial0h1_stripped.rmt" ;include music RMT module + ins "artwork/sfx/scorch_trial0j_stripped.rmt" ;include music RMT module opt h+ ; ; diff --git a/scorch.xex b/scorch.xex index 27b3f567e70d38f08fb07baa22e766353db9c86e..8d6588799fe2300106d02e5ea6ecf49f8685add8 100644 GIT binary patch delta 17019 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 IiQuOFA9u3ANB{r; From 1f576a0c4986c7e1929660213dc4e99537a0cc20 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 10 Aug 2022 19:58:07 +0200 Subject: [PATCH 67/88] Preventing compilation of unused procedures. --- ai.asm | 4 +++- grafproc.asm | 4 ++-- scorch.xex | Bin 43520 -> 43392 bytes 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ai.asm b/ai.asm index 39fe78d..10a9194 100644 --- a/ai.asm +++ b/ai.asm @@ -488,7 +488,7 @@ skipThisPlayer .endp ;---------------------------------------------- .proc FindBestTarget2 -; find farthest tank neighbour +; find nearest tank neighbour ; X - shooting tank number ; returns target tank number in Y and ; direcion of shoot in A (0 - left, >0 - right) @@ -542,6 +542,7 @@ skipThisPlayer lda tempor2 rts .endp +/* ;---------------------------------------------- .proc FindBestTarget1 ; find farthest tank neighbour @@ -598,6 +599,7 @@ skipThisPlayer lda tempor2 rts .endp +*/ ;---------------------------------------------- .proc TakeAim ; targeting the tank number TargetTankNr (and Y) diff --git a/grafproc.asm b/grafproc.asm index 372981d..03be1f1 100644 --- a/grafproc.asm +++ b/grafproc.asm @@ -1431,7 +1431,7 @@ EndDrawing rts .endp -; **************************************************** +/* ;-------------------------------------------------- .proc calculatemountains0 ; Only for testing - makes ground flat (0 pixels) @@ -1456,7 +1456,7 @@ SetYofNextTank bpl SetYofNextTank rts .endp -; **************************************************** +*/ ; ----------------------------------------- .proc unPlot diff --git a/scorch.xex b/scorch.xex index 8d6588799fe2300106d02e5ea6ecf49f8685add8..63d86f0e0eff46fc7e119b22538f3095e3e6fd36 100644 GIT binary patch delta 15896 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 TC!A82g&J=SJ^$*ja?}0?1x#^T delta 15960 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 From f45d2c8446786b8297597f2b09bcfa65be0bc8a5 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Wed, 10 Aug 2022 20:52:26 +0200 Subject: [PATCH 68/88] Better SFX, music for purchase and Credits fix --- artwork/sfx/feat.txt | 14 +++++++------- definitions.asm | 1 + scorch.xex | Bin 43392 -> 43440 bytes textproc.asm | 4 ++++ 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/artwork/sfx/feat.txt b/artwork/sfx/feat.txt index 71ffb18..cdab946 100644 --- a/artwork/sfx/feat.txt +++ b/artwork/sfx/feat.txt @@ -1,12 +1,12 @@ STEREOMODE equ 0 ;* --------BEGIN-------- -;* C:\Atari\rmt\rmt128\aa.rmt +;* C:\Atari\rmt\rmt128\schorch_str.rmt FEAT_SFX equ 1 FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable FEAT_NOSTARTINGSONGLINE equ 0 FEAT_INSTRSPEED equ 1 FEAT_CONSTANTSPEED equ 0 ;(19 times) -FEAT_COMMAND1 equ 1 ;(10 times) +FEAT_COMMAND1 equ 1 ;(18 times) FEAT_COMMAND2 equ 0 ;(0 times) FEAT_COMMAND3 equ 0 ;(0 times) FEAT_COMMAND4 equ 0 ;(0 times) @@ -15,7 +15,7 @@ FEAT_COMMAND6 equ 0 ;(0 times) FEAT_COMMAND7SETNOTE equ 0 ;(0 times) FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) FEAT_PORTAMENTO equ 0 ;(0 times) -FEAT_FILTER equ 1 ;(22 times) +FEAT_FILTER equ 1 ;(44 times) FEAT_FILTERG0L equ 1 ;(13 times) FEAT_FILTERG1L equ 1 ;(22 times) FEAT_FILTERG0R equ 0 ;(0 times) @@ -33,9 +33,9 @@ FEAT_VOLUMEONLYG2R equ 0 ;(0 times) FEAT_VOLUMEONLYG3R equ 0 ;(0 times) FEAT_TABLETYPE equ 0 ;(0 times) FEAT_TABLEMODE equ 0 ;(0 times) -FEAT_TABLEGO equ 0 ;(0 times) -FEAT_AUDCTLMANUALSET equ 0 ;(0 times) +FEAT_TABLEGO equ 1 ;(1 times) +FEAT_AUDCTLMANUALSET equ 1 ;(6 times) FEAT_VOLUMEMIN equ 0 ;(0 times) -FEAT_EFFECTVIBRATO equ 1 ;(2 times) -FEAT_EFFECTFSHIFT equ 0 ;(0 times) +FEAT_EFFECTVIBRATO equ 1 ;(3 times) +FEAT_EFFECTFSHIFT equ 1 ;(11 times) ;* --------END-------- diff --git a/definitions.asm b/definitions.asm index a9d3904..8aa2679 100644 --- a/definitions.asm +++ b/definitions.asm @@ -203,3 +203,4 @@ song_main_menu = $02 song_ingame = $06 song_round_over = $0b song_ending_looped = $0e +song_supermarket = $1b diff --git a/scorch.xex b/scorch.xex index 63d86f0e0eff46fc7e119b22538f3095e3e6fd36..4b1d133336877296581bf80a75a2e79dd3fdd78d 100644 GIT binary patch delta 15994 zcmb7r3t$vQw)RZk2_zZiHM|=M?*I{585Kx^0g^C8MBWIF2uj36WK~c$_Tj_EiNbvMdr?!8OQWC`}NyFT_`9=l3Rgk(n-uIsAsf7P8A!u5JJOn23J z)TvXaPMtbcZU1A44}V1o#_`9w1mX69mt4iBf4inPWRz4*6%yvmWHUW#JM&exY~W{x zFkfaWD1X9aW-!X;o+{?sMaptL3G+rS zb0)KHgV-`=r#Sx^(d^$Q=Is=n+eH5sG4C1CxrM%*%@ZpaH43n^g(6!q)PlDk3cIm> z$fH=+r|y>xAj7NK->C6u6#egLJl>%%Jvik5MH#(a{+2}kaGHiy^>S-~xp!>{(UCh;AF=@M)yq6eX0kdr}Gaye>4_77+>Mh|jE7u%a5)V)~a&S>iG05z$FRo3c)9y-Tc!hrH`Vc?5TY zxg*#5mqo|Q{2N8Cw8p~rtxPIw-2f%RHp{FJrD43vGdxgSpF+Eqc;pD~gc5TmaCgPGfgQf9 ze7dJL!=o#(?J2xMRH3Mpnf{_AaBL}sX-a8(sxHH0_FomV!#KPDJ2Bh9QZyVP7!ETJH>`)fK~O3 zXalj!;NRbe8)H!pia+cZy`b4I($Uq%i-R$s=5rC1%!dWC5rUy@$lCgq==&GnDFU-g zvZz>Xu-r z>2EgqG4*rV;FZ^K4q4U*{*f`C)Vv z&J(6&iWRp`S_^Bq)z;Pm9ch(6dbH_x#46FJ#kY@|^bD2^5N@|@YUw-)| zKTIt%t8KsC>fM@>4(7vD#VK^ooo2iw44-$^AHwec0!`Y`jCl9FMO0MUm;A>N!(M#J=s`x|_ z;9{f$a54T*#IvU`!~AE&vrVFJAf5oB7BCy6hU*>mBIJuhf8iqryuidht5<)S*#l9Q zd(K)t!MKWuYgUi-vy5}v?@}N`@)C%p^@14u@H}3z{W2!f6>Z8^62l(B?-kF=VsKo= zSkB>>DTd^5$|7|`4*w$}$WeYoXq!LDgw}p;;ce&=Mkmh=ryegs*qA&w z@sf+$FuA_RPYf;}V|Wd-$8YPKGU$djmEeQU2~Ei>*t^~G0DhL63EgCUWVsy9o#;Z% zZGAOidd={gYR2}}+(^YdvRo=n*A>*WbnT*UdMj6&b(G{DA<7&#Uq$4B+zAV-I7ml0 z?;yU=)0KqTzn1#G4RSnX{?(&Yp8pfOTXBn*WBa(FlQ#6wMma0xglFF&%6`JXODsC+ z38GYz4g>EeR1ZUR!dr`QLl4n6Ih=2xGvYn!m-r*}^(cJ}EP^k58om%+Ht;;*D~R$A z;me8gF5&0yC&~$e{wsdMS86(e5-=K64+E)``tUrm{B#3RDTDV2?SM?xFGMdGDRiaQ ztVKDFiW<5J2(#SQ`?BO{ecXDgje50Y=d*~E&p$w1W6IKql0`VX@&JLemFyicoZT1F zlEhH|3S+Zw03STW4JaU#hCZ@W8D>!Vqh+m2cCrvSxG=aH)GJC{MaZy(h(w0wO zjrwcXLZU1rfg!5>bQ(c)keLO+^~G2WW|`4=_U&5p)Z4@9pUhXou>_p7`|h*=*r5YE z05nCwjO{lfRSa}ZR%W?_A*^c|^U|UgQw??hnr^5;TMHlR8Nu#XsqigV3<&K7usp&|DENe}FpczGYJ)Ifn&x7ackd z7*atFp)oXrMR*dd0&uPX47kFQbV#_hrp5I4(_;w4!*DXoG=(cH8jLV!hvnQ)xMC?k zV8nW158UhfyY+}&z8wmUx|Kq20`w^KCP28ZPdb_dyGLq{Hf}@p5^L3qJq}4P&Fe<} z=L-2YeJb?8FZI^+;GkwC$w+BYJ7sG0C zV_5HTV_5HXV_4by+)@!g*DZ1UJh!xmpYN9T^2u&F1T5|RT9J{T1=qD=mX+i#Az9j= zMV{Nagm7NTJH?nm7g5FH##Fe+&E+fiy14@7J~vmW%ypynd2X~m-_7k&lHJ^1$`uTo zyz1{@n;IQ^6Cs+rA~MfBN_|MUYcpmCUB;FYx>#R&zH2GLpR$y+&T?1$gBZ%sllJnZ z-H`6;uQleH_}vp0k#OQen4RYAP_77*)r?8YAwsisObgL90~3*--CCnqiTa4LgmU+- zR%W>^=%_i{7!woYMcBJ-@x)R4MRhdz#}OR(#xyz< zXbcXO4x#ghn-0|FE zwStMZ*DfS&cC?pYtbWl{AQc3z2NSx|2>z5b!Y?FQ3$egvkEm9f!2uGUMz@Dp5mEFCeE=iL!tM35 zgb{zAIcA2w3p{5F#Hv%!Lf<|f+Fv6wf7%R=nI1}mo$M7MeaWN7E}>@09c&YJo!3qw z!skxh*jfda&{cX^syB!tBx=H3j6uL!(F!W-($!LfiSE%F0>ga_Wpb?a9HQAKF>qat zJ$FhpVf%-`76c&I;TAwUG!|$fbk(_2LY8&pJT2@+91BN?;iPTL$FUXH8l{1--l-hc|T&#{Yo>)(^_T=hNEh#*&9o>93s={pZ9$671H1 z9WdURS2hJd!`508<=i>Z6fV!~gIv}j@^$mlOD_JBOOBvP6AfFwzVxz-zbvd=%CPAk z?2fgaecMwQiUK;gXogV-qja9G{6`1^IE+>SQBBYg%KlR#ts0Jzv3d~CVSS)++zJnm zFm9y>VH{|GO#?YS&g0(lnh|Bf0XYz5!UI(z%KU@F7tQQv*P?~<#0D@dd_OE4Aoz(& z_zARmMTCpcB^sa_o6GVE!2BT^o$`kXi1-6q;ChfCwqFZl;W@(ZA^ctfQtFDh0&OEgJJDW4xnQU;GxK{|nhc-uib zfrBW!l602Q@kwM0NYZ4BQbIZ}ieuNro{r3j5!fXBJspe_F zG3fhA4!W|RB!bZdv%--aY}BElJtPM^b!ccW$-!2AFHwp~4)*HM%mF&o2kB5BA}q%G zFvgmWe-Ryjj*kBxI{tgHj`knn{v)68R#L3;9#Nx|^8}fmI=W9#pM(sinIKJy11AJv z;UEvBR*ZrpT}&NmI$c#V=t`AI4f={`y^nnu_?nM%kU*d!93|6yD$I|K5iLg17DKV9 zSx>K17E_dT+KCKmubJorP$(3w{rq*21%uv&u{NIsBa30=)`kr*qW4I`Tc%L!@(r|e z^r;n&m9}3-Koi|^?M><->%^KC|L0<09x&E!2v~v?QBNVE(^?J*{nmP$7<0yyV1eWv zw*!QoW;(_{otWmCQJ0;7x{A=QbYh*1fkp*I(kjr+)>NY!fy&ktqc2WlLD4l9m`y(l zVUY3BqnKl**bjoLTT}Y3*G4T|+xgNmt8EZ(!9d#}!mfDCbS)(6VaCJg(y7H+pm}Z2 z4CTXEv1_EB#QMrwZ87L`Q`8mdehNB0-|domLRz+8OzYYV4)0M8Bn+1BTtm&=xq;fa za}$ASJD;F-?R<(FweuNj(az^Fhn>5zV>oRFD0?%XLxI@_eg_5Pxf62kAsw6fTnd1k zzoY;>cM(d#W;gRscauEZP4a?H(#&t~CV8%#@4hs#EiwYTW32<%{R$~C`gq@Hus@!lS;FCfj>;LX5 zzzpPi6wT5MMW46m%WBiaw>AxtU84DJ=p9pLSDwCr(p)q$%{l_zWdL}r6!~4`!I8bj zo`aq#AVo#<26U&2%tsm_yAa$mwntl9Oy45XrA3y=D-pz^5}WJTh2&0$!=WrB8P`z> zv@e<)C#y{|mTS6=i6_WR!(4Bp)ADvI4Vtj|&y_;!o-(SjjOz}EttSt%1be8H1r=!> zVJ8cG^ZnQx&ATBLGR>SF#d7RUb7r~uAy_eT?sD@(i854QOxPhLkX#WXCj*8~4J8)I-U-Y> z!0ZI(V4@7hHUNjh;N`Wgg{eh z2&%GaOD?m26aS@XqcL7|qahd$`+vWxEixTc_e`g8zoBFqH%2+iJ5sa&QSX2i5 zsdd1gg5R~MS8dD$!Mb`DyFpA>eqX}R78SLG|Ai<=@Ef$T?tgxy9Ujq9=s98fhNdWi zh;FPGnd^@+Ihl3ZIZhy6y}fI_sH_(QQEHnU39$9v#{zL`?CJHQ>CYNIt%y)>t6MLg zn<}#YsiNtaFs>KAT$43sjR;lZ+$w_kN3peKGj<|+H`_|3 zQl!mSt)0k@M8qsV$;Zx?=kRf}fvz2SVOC9aqqmdXUa1uO`5ONfSJhXk?ahr*>J>d! z#~~v>&5h$nKGBV>?m>A0_cC*IoBSkKB+ubEBpb%N%M;vt9RB2TDB$JCt4kBth)K_p zNPp@A=ex-`u{-8yxDCgb@AGOz0}d~*^FH7Sk?SV0$>re9T-bKZVU~)rM{oxvF5AGp z?7z;_Hs9ybCfah1ki#5B*2u@f^PWDQ)OH%E?NmGJ-`1LT4V4X!qUOeN>bH^u<_0E| zud#=(){=jJxeM&z*D5!%S4R>$g zC%A*dFHdx5lswbIYgT%F2kpnNN`|tW0LycE(3zW z;MTGUZYD9i+i*jzuV)4l(bX$Yz%;eTK-Fjq#03ZA?BL$OIMmJC8i>>$>IYyPj6FTU zZ5plhz?$_0Ezos!f?F4g)uaM|q7LcOs}tO661q@~rUB`$M86`@MOvv$cAK-~TPL`E z(H5}jh)2hO2)5|pBzK09M~6oD8Jn_(T4r3fj-xS^W2hz0B}JZu~IKR^#1lbk0}L{{Pukwv#QUDnCstuA-UY~c3^WwnEaUI?J~`{ z(c+XXlwF+84o>|Xj=3{YV!;${C~zl^7Dr+KOAoG91{>2sXFnI!IC(TpNMQ*;7#JLZ zXTz(Nc>t>Lv)EZkTDDAVhB*W1K8Z-pGua><)&J5w1Dq(X-29X2br- zC$3~m$8AZ`t&@e#8)vcl3HJ0S^>b={;*07RHmrx5Z{Vl8+smi9OksoZ z4fNr>;?g^4^Y7<-3RmbExs62m|6GD~{aguG>59HQRWRD_V5hlfB)X>tVk*KrV!Ece zThz`Pf0j@+-Cb-t?=ry0Pj_E1sBw*9!I;)80eiKzLeSXmIN016u6|~78L6J*rrp3H z*vsMX%5*oSiU1Wq-R&}ho8uskK5Y$Gaah>!ohT67%G(xrq)PsNj|AWErQWJhht5MQC+-poje%E5K zX{m*JneXJm8iiA~S3#=m1m6QV+!vYQPuVm>F=t=F zp|T;{HGr#>9H541i-h_|2eH6F$n~6lKcMzGkMc_@*s~C<-hq_U6e`#AkVx4{<=Lgn zV@6eW82`KnTeO{?uID_~WjQvSO7He4yFL6a4>Nx|UXV{hjl7osrAIF1pYzQ&W_qx^q>I*&c)}P|p%~Eh~GPAdo zDD!7f_sBSDdtcK(r&UkW>*_~Mo?xhTVy=y0pQNYM5I7B*=JFkIu6EVRAV+e}pzYHirw7!ky* zg3!(C72E@R3>z_R#l-a@ISw%=31_Z8g9V0!qjyFUNcYj4rIrPeS$+F<%}D6l8I7m@ zNAZ^VB7hrJ5ejnT-+`cpGRe3F)xez0RNsI#XxHwTlpQvDARmJR`EkChPNQ}_Z$RlS zl&l^Kqot|7t5dF-^Zr@lyej&?Ey*@GzY`S(z^DowL}O*gahmpPsBs#Y_6uLB|FX&J zgbyDd&X|JB>K#d;&FZ%n>?P&NooOT!M|2-;yFT{NpKD z?N6K&8}^s;g{gXKo0=~N!%fvDBu3#J96Jp_Z-_rX7c{2P@2>#0G;BER_qlJcm031w8i zks2I8i}a1w`1*0Tjdbb0K-fXcHYBz|*4e7!cTjz!?A-q+Xl)Yr}BJ6exF7Dx8 zlL{~H=3k6w|1h%#yI>C|4jI*z#+x(3K>61f z4+l5oyhn8g_@f(ZW zY$%TSX#VIvsW54dez2_0M7n^cg0z#>N~p8o4~~iveQ60TGlZmbSx?IO-;z5! zlUlatsMbcWr)=4e1nvV!W@_1|EncpGUrun6i;6=2A$smQUK2&wXi47P+X? zp(dXyZaHQ85c1?GXl%VVu-)H}t))L-0Di<*C%hG3;pkHn*sCHO6}(!D=?ZMLo$wt< z$njqiES>aLNTl}^ZqI#zIr?Exfltu zCT&!hzZ3p5$afZ@VLEQU(bNC7(qpBxtt-fx)4k8j!k(OQ!xCRSQCLFf`g&hTb8}HK zZrFZUz#I|Y%egyZXDO~A?lLMpl+0&>D|hG+ni^zgz2Gu3(MuqwUKDY7kH2a0g_$3J(>(EbZ!a$%E0vC`3p6%rxGMx#P-yFO)RB09XA$yxp|lFw zPP$A%Lb|E~8=iADL2u9mjK*5|D_3O0UjF3q;H;Bx2E&U@Unf1vCaxsgABJtIk+8i$ zNDz0Ru8P3NT1_twV+tVHUrE&afS7cb2865{3|_Pnd3SoBb$-yS8FDvWhenq|=|a0! z(VHlcCJ?GdKn2JGQw88E_-?dxKNK@Wh6Pdfpr2m1fF>2juDMmkE*$sL3JMSLH)r%b1+iNq;D78&y3sF4WG-Z+g+Y7&V6z^Xmb-I#%lzE>!^P;0o#;6z0H0 zWyT5b?HDn%ueH~Lvh*&Ldnu1UFLdn~!Cs_(;&UP&H1jj&(Pi3MG zg(RO=n}`|*X+AxUY`edXRMiQ)pPjn(T&dQMWSfsHw>oTy3gKCN|UFPxgzX6xYK_VVxJo|w3OQ? zm1MulmAE47_hnqK`VhylRUZq<&kbeY#~@dIK#EOY{iKql0!v3^jiw<@ZfGaCIqQ9r z`vJ*nB)QEb>pw_tfMoqA$!#H7|3z|tPqKbTa!--0lO(s5WHpi8)5MbdA<6xic1^IoxIVHC-R#2fJ?=gi<#edQ9Xb>0YKPGa}NwwtsKwzIA#p>omO^E)hE|OkD zD(gp@nf*U$<`x>z70{xd>h4xzp~n>3uWx#}w}Zlnozo{8F%{_W!wcf%@jH>r$9j!r z8Ot;-!!TbL(AhwQoSnm?2{8@U?v@DqcaCOpy975Qsz_ixHc)-{JoeFrePTi*j z9rT>3(l)5*&Z5&rN4ei|344n6d|wFPgIiAD2IA-r5x4Jk0_0jU_~jmX8J|mYOiz2T zv%{AXq4-jQ*_&bWv#UI#ANGvi>Iu&9ufpyHsql{QK#VWCVvIREJW%5s25O7{VNXXm zu4VbRdaxSdDpwu7XBogXH0V3vsxZ;UA3@_U;V$`dj~YkIb5LHTm1Uf?-=cMx{K_+&bfib>Ot~()2j2X#shn7^Q)#1KyISGrWwqZA-;V|D-EO}$Gu&N_mDaDO< z1_y!a8;$BP5cO=k)*Fel{<)|hBKs4VjDJsAEMYSC_7gd*S2-43iK15+Jh&9qK}XgU zgYI_g*$iOzX7n4tY=b`7P_MS?ck5N+D1Y{UX<*h*H8AUEH1I$3hltK5R)mDGs9wn$ z3gs=FAR9O*-SPgeG&rdNUwPf(k0hT)5?_47J`vx`48oUM2ilzK0KFJSi^Zlh)dwV} zjRA-2H*lCqIZW;5Fv!vnNq&eV;4%zk6DgZ`3xMBhb=|C5G*&caAkdV-0pav+GrQ=( zn3B^NWl zE5^n(I3p>#_KH}1DwYHjYhwv^KdtFl7vT_EahqqjSy}GEM0EM$Su|^XXRienxMBkf z$024nkGuPL%(#h1Ma=2to~DDr!PXx@45JC>j}TlFI!d~hdu%^Pii+X1Q5KG2NJTuA zBDq)>>;E8yF9xk?QWO;5Cex|UK}`CiBMcP>8O}wkpz5*uuYV1KX9?K`;<<1 z!41hmFmJ4JqF{Py$cTyinhvR5Htehp;lu_W=}tI?`M#^nL?QX5Ay0IJ@%^2VJ9GnB zqeH7PdOh_gV`;t2*#olO0vAf;w>f>A4*@IZqeaTDL zJzC^_^W+~sIsa9NdE9~rHWpWq#t;8`dBDgC_dL9#@X(uo?24GWaMLcn=FQKqMoyo* zD!0g6`^LK;oci!jfBEmx|L3oxM@_$H z)rNfUAN~>Xi`Ds6o~D-1zK))7u-|{eDB&(4OBf^M2t$tN3nN0pri!aYq4A{|$6F6Z z8AB@T9I0mEA1_}X-&SiiDAwh#SvS;Kx76-wD*7PZm4{&Lyr)?Gw=1l^iN7LTJ9NMC zYhl4*$@s9)emE_}pa?UnCMQ_E-uf12inkfRChd2y_M7B&rfDy0yv@S)s-cTqF~CUl z;uw$dIt|_!r`hZL-b0D!db17AfnIr_)1on(?X@u*>P|oG#TARMYvt?OP2=CZW_{u{ z>owtI)yhX!c>M|9;5fMc5&rM-M&vFp6C>%BGQ z8|##GuW5v`!aF5CI7nIMHRo8p{BoqL_*LGL=&%|kgMwG;;0FO->g6Az;MD+!)Lj0> z#yZsiHnP#?x(@of6<*$OrrdZ&dC*(8(#waODGxoPEce!}^73J4%EQkn4|(fWAD@48 HLEQfb=vr=b delta 15977 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 diff --git a/textproc.asm b/textproc.asm index 2f37e43..6b3e60f 100644 --- a/textproc.asm +++ b/textproc.asm @@ -283,6 +283,9 @@ AfterManualPurchase ; ora #$02 ; normal screen width lda #%00110010 ; normal screen width, DL on, P/M off sta dmactls + + lda #song_supermarket + jsr RmtSongSelect mwa #ListOfWeapons WeaponsListDL ;switch to the list of offensive weapons @@ -2092,6 +2095,7 @@ NextLine adw temp2 #40 jmp MainRewriteLoop EndOfCredits + mwa #Credits DLCreditsAddr ; set address in DL to first line rts .endp ;------------------------------------------------- From bb826b680dd85477fd0eb5f90768f2411d3c0535 Mon Sep 17 00:00:00 2001 From: pkali Date: Thu, 11 Aug 2022 00:34:21 -0400 Subject: [PATCH 69/88] Auto Defense -> Bouncy Castle --- ai.asm | 6 +- ...eapons_AW5_mod.fnt => weapons_AW6_mod.fnt} | Bin 1024 -> 1024 bytes constants.asm | 96 ++---------------- definitions.asm | 4 +- grafproc.asm | 4 +- scorch.asm | 2 +- scorch.xex | Bin 43440 -> 43440 bytes weapons.asm | 14 +-- 8 files changed, 21 insertions(+), 105 deletions(-) rename artwork/{weapons_AW5_mod.fnt => weapons_AW6_mod.fnt} (93%) diff --git a/ai.asm b/ai.asm index 10a9194..7f90a97 100644 --- a/ai.asm +++ b/ai.asm @@ -959,7 +959,7 @@ SorryNoPurchase mva #3 tempXroller; number of offensive purchases to perform ldx TankNr @ - randomize ind_Battery________ ind_Auto_Defense___ + randomize ind_Battery________ ind_Bouncy_Castle__ jsr TryToPurchaseOnePiece dec tempXroller bne @- @@ -985,7 +985,7 @@ SorryNoPurchase ; first try to buy defensives mva #1 tempXroller; number of defensive purchases to perform @ - randomize ind_Battery________ ind_Auto_Defense___ + randomize ind_Battery________ ind_Bouncy_Castle__ jsr TryToPurchaseOnePiece dec tempXroller bne @- @@ -1012,7 +1012,7 @@ SorryNoPurchase ; first try to buy defensives mva #1 tempXroller; number of defensive purchases to perform @ - randomize ind_Battery________ ind_Auto_Defense___ + randomize ind_Battery________ ind_Bouncy_Castle__ jsr TryToPurchaseOnePiece2 dec tempXroller bne @- diff --git a/artwork/weapons_AW5_mod.fnt b/artwork/weapons_AW6_mod.fnt similarity index 93% rename from artwork/weapons_AW5_mod.fnt rename to artwork/weapons_AW6_mod.fnt index 8aa58be96b7c75f8e4a226d7a1b504d541f9f4da..577e581f0bcf0fee9a387da708b4bfb07cbda061 100644 GIT binary patch delta 19 bcmZqRXyDlJgOS6@Y3cLS!~g0RF);xEP7(+m delta 19 acmZqRXyDlJgOQ`o$;rtk>_5XICMEzvUj{t@ diff --git a/constants.asm b/constants.asm index 86b279a..a8b9084 100644 --- a/constants.asm +++ b/constants.asm @@ -220,90 +220,6 @@ SlideLeftTable .BY %00000111 .BY %00001100 -;----------------------------------------------------------- -; this table changes Angle to the appropriate tank character -;BarrelTable -; -; .by $2C,$2C,$2C,$2C,$2C,$2C,$2C,$2C,$2A,$2A, -; .by $2A,$2A,$2A,$2A,$2A,$2A,$28,$28,$28,$28, -; .by $28,$28,$28,$28,$28,$26,$26,$26,$26,$26, -; .by $26,$26,$26,$24,$24,$24,$24,$24,$24,$24, -; .by $24,$22,$22,$22,$22,$22,$22,$22,$22,$22, -; .by $20,$20,$20,$20,$20,$20,$20,$20,$1E,$1E, -; .by $1E,$1E,$1E,$1E,$1E,$1E,$1C,$1C,$1C,$1C, -; .by $1C,$1C,$1C,$1C,$1C,$1A,$1A,$1A,$1A,$1A, -; .by $1A,$1A,$1A,$18,$18,$18,$18,$18,$18,$18, - ;.by $18, - -; .by $16,$16,$16,$16,$16,$16,$16,$16,$14,$14, -; .by $14,$14,$14,$14,$14,$14,$12,$12,$12,$12, -; .by $12,$12,$12,$12,$12,$10,$10,$10,$10,$10, -; .by $10,$10,$10,$0E,$0E,$0E,$0E,$0E,$0E,$0E, -; .by $0E,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C, -; .by $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A,$08,$08, -; .by $08,$08,$08,$08,$08,$08,$06,$06,$06,$06, -; .by $06,$06,$06,$06,$06,$04,$04,$04,$04,$04, -; .by $04,$04,$04,$02,$02,$02,$02,$02,$02,$02, -; .by $02, - -;EndOfTheBarrelX -; ; right angles from 0 (horizontally right) to 90 (up) -; -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,6,6,6,6,6,6,6,6,6, -; .by 5,5,5,5,5,5,5,5,5,5, -; .by 4,4,4,4,4,4,4,4,4,4, -; ;.by 4, -; -; ; left angles from 90 (vertical) to 180 (horizontally left) -; .by 3,3,3,3,3,3,3,3,3,3, -; .by 3,2,2,2,2,2,2,2,2,2, -; .by 2,1,1,1,1,1,1,1,1,1, -; .by 0,0,0,0,0,0,0,0,0,0, -; .by 0,0,0,0,0,0,0,0,0,0, -; .by 0,0,0,0,0,0,0,0,0,0, -; .by 0,0,0,0,0,0,0,0,0,0, -; .by 0,0,0,0,0,0,0,0,0,0, -; .by 0,0,0,0,0,0,0,0,0,0, -; .by 0 -; -;EndOfTheBarrelY -;; right angles from 0 (horizontally right) to 90 (up) -; -; ; one pixel Up for fix problems with colision check -; ;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3 -; .by 4,4,4,4,4,4,4,4,4,4, -; .by 4,4,4,4,4,4,4,4,4,4, -; .by 4,4,4,4,4,4,4,5,5,5, -; .by 5,5,5,5,5,5,5,6,6,6, -; .by 6,6,6,6,6,6,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; ;.by 7, -; -;; left angles from 90 (vertical) to 180 (horizontally left) -; -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,7,7,7,7,7, -; .by 7,7,7,7,7,6,6,6,6,6, -; .by 6,6,6,6,5,5,5,5,5,5, -; .by 5,5,5,5,4,4,4,4,4,4, -; .by 4,4,4,4,4,4,4,4,4,4, -; .by 4,4,4,4,4,4,4,4,4,4, -; .by 4, -; ; one pixel Up for fix problems with colision check -; ;.by 3,3,3,3,3,3,3,3,3,3,3,3,3,3 - - ;------------------------------------------------- TanksNamesDefault dta d"1st.Tank" @@ -375,7 +291,7 @@ WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Heavy_Shield___ .by >price_Force_Shield___ .by >price_Super_Mag______ - .by >price_Auto_Defense___ + .by >price_Bouncy_Castle__ .by >price_Fuel_Tank______ .by >price_Nuclear_Winter_ @@ -441,7 +357,7 @@ WeaponPriceL .by Date: Thu, 11 Aug 2022 00:54:00 -0400 Subject: [PATCH 70/88] Boucy Castle sfx --- scorch.asm | 2 +- scorch.xex | Bin 43440 -> 43444 bytes textproc.asm | 2 +- weapons.asm | 1 + 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/scorch.asm b/scorch.asm index 4b6e193..ce89dca 100644 --- a/scorch.asm +++ b/scorch.asm @@ -139,7 +139,7 @@ FirstSTART ; one time zero variables in RAM (non zero page) lda #0 ldy #OneTimeZeroVariablesCount-1 -@ sta OneTimeZeroVariables +@ sta OneTimeZeroVariables,y dey bpl @- diff --git a/scorch.xex b/scorch.xex index bffb2d7d2a45685a664c785d417ea57bf222ff8a..a26134e961f3fa0cd2667275a03280815f0738e9 100644 GIT binary patch delta 15567 zcmbt*349bq_Ww+h$puM6&ypjcJ_Vv1XTXSq02w4cjZOE4#vvA1s)l2_u5S?qB(Rt2+lre*5$H`NL$o z>(zU&UcGwt>eZ_n|FN)lkA?XQ?l6yhhr6SqcU$5LfON&o_a@AhSAc}) z+*wKwrq68V{cPs5^nJ_4#$g-9DeFaB;01B>M$z+v7|0YiuNOU;^yNe@E4mmh8kHxC zL|1=1UVbWS$NDLkVmY3lu9!fES6kqa&f}06_)zEZA$>WKYp^)f!Qzn4LPw%3J`^2q zQx=ElYh!Y_84Y4&^}D&d~5L}jU`QB=$xO=Q?K&s@3D+KBEmiLWqMH!-QNFuAWW@8&Vj z&0-QZ>+0dkl%D+IFsIj4Fo$X;@VXc>H#Ay*JQ(J;830z)A{wn%oa!U8ZF9BgsTQ5; zQn6{0=t_XROGRZ6cYwJo+wr%V)n$PdB3HUMz>8YAW8=dZg(8_5oQ3BZQe7IzE#Z%Z zF$>o*!L@-=VrVe)xBTi-=8H5n=Cj}sErxMtVGKiNr=x8K^L9FuzCbUsPBf$Q0gGla zm>h}?PStuck;~BpbKHsVwxuFdv;u5T@*?x~lU1b##rfyeD`IE{3itW=`+dyl*|lw= z7Fk`o%X1n^y3Rz@`+cEsX47V=l=IMD7nV{*gfojbHd@*5B@b8H#gkajKj@vmAbO(} zlkM5;3!*FBmKj^DU83(81r^_4h>g}Sl>XcSU5j2ZWT7nkG+MtuS03>(??b?`FF`|z!-EO_ zA8YE*R4^&Cm45AVj}n7ynAQW9w@CIlWzX}lsBawhhs!F(K#^$6s-(sk$VD@-Na&@h zQgm5bD@AJ3sv{W!3psAwJ`rsJz1!3Ui z?dFj1_T+*0tq_|}MQT4fiHWKt3Kr=9!Lvf_Dipe_+{aglq1IySm1fiwLUPI7v|KPx z8OZ)xKD;*5iVREf7KulggV|oj-C*bUwGU$drmEe?4 z3rD6t#@_E!dhio{OwUtUh-`9HDij$48f z*ToH;bfSk&%2}--Jo_P01;YQH*bUNyMBPDJO#B}R)k8mnuzL}1=pp*1Soi>)5g$>% z#P6oBd+2L$CS2hQaE0iyiFXrz8&N+bd<9W|PxvVUQ4bRIU;P8&cj!8S5-=K64?U@r z#_%kgcQimW%HShHJD?cq7kWH2FpP;3LMemHQ7G^WQ5A2D3~(p<91mnDF~$&ffXxP2 z%Hih`DVLv5yu->;i8_yPIqG}@zboam#Bw?Qup_x%Q&}4Enru=|<{{y`hx!hl=!=c5 z%H#5O+0WveV!~fjOf^+trjKHG=TKb0Tw&*O>8sgzZA&9+8VUB(a*n1FL=Nd0=!3CP zi=hk~8qe&lH%}cu{Qu!x&4Sh7aE^b19hEIcWeX~;k+A5T8S096{x0`V}M%v@dJDvJgqZJ7~Svj|r#_!qlB*87hY<6l;ER2N}4A6To;I`{0wO>f3&@(9ehz|u8ZG3VG$*dosZdR%M9lV zFj;Mwv>bvpd&`(GLo+ZDb={i1>Rh5NQy-z+{ZFV9eRg!zmT8WSjjahZ3(w8EYp@_{ zL&3i{!HQ8>iq%pvd74GK;wA{SvutdKpy%=sjO0UN2`@+TkK}cVts!>7sG^@8xLs9- z=uYP0$CP;P0G(8axSdjNW)-)~YpUDH4l|I zq#P3dlsbqlBi3lOn#7p-YD7+muE28$k#+^EFpG8u4~6 zAqYdK6m-cZ?Oc_E{_R?o%k2VLwN4fhV$Ol=+^!CyUg}_CjZ(rusaf=PC?G~*&9Z`@lp~tE*SSpyfoZ2*UE(h)97HeN0$&>Pe z*Ftx+r4oG9RKll`j5I8@^GIu&vD~!4r5~N>)8128cB3XITAofl=M17wrvx+Li7=eE z3>Xx33yjNymN0(zbc`QHEIoa!d9d(u`tVhqmQc5o%L|23QQbTB-ZFRQs1Fk@{OC+_ z^kJgTBta8G$cOO=g*({Csd{?Tec{bfqaH6Bu_N|$bicx%r~7clK>;Ble>|YY6qZ12;D2!UDR$h)<37P=r8@ zn2E87TwP6|a?E)`s<+b3T77V!pP@{uOHU%KZ4`sow78R+XvH=V5iSToZq(aR+oH2T z3*ie+YC?u%@MJyyML-KTh|#2NEAL>Ft~W{}Vxv>c2GrZJC;=-%mr%zN9(CAQodW`6 z%HdsugZY2pfYpO?@cZ?4+Od=YRQjJ!i-FVFNyBVS*b3vFAuB>>u<6!CIeA*NT9ol! zHQyRF$~D`Z3ts+$SBa$Q6dhZ+HYeoeL&D>87}g@8qBe28jKm)obWghX|LK*QKXuUL|GXg&Dy&424M^MebLBmx3 zO#&i*mma}Z5(N26U@ZI=!j}-flz^0aA}){1kKav__K$y<7(3R_MG#@|7#lWl-y-T{~^yv;!zqcG3_ zP$V6IZZ@TuwMYP)rkVZmItz-fv%qY+DS$!dM~`7%tuDpJ5LE4&GPb`?B@Rv#R<3V@ zSp(QT6MeS`+u||XX;9S3kcZ(psMXn_eSHIs0f50`3rW3+WA{RRLFjT-)EybV3VJ=$ z?v`j!%ia{#dY=Y|k0=Kc0c-a>MNQqaoZ7i(HGz41o};$yd662nXFauQ&j!q64~sp+ zQ5&iD>F^}OSBr#jgYg1v^>qPr4^9#WmKl`u?QYg%J_T6JE5~Z5 zE$|fC{36vuU^&^mo~k0Snrz-cwegE)JA^4Bd@*%7h`Vy|mfRCFS>J(86U+20t62aVrrj_=m8myr zUrpNg0#FQ{Pxsq^lzE6nifOgJBzaB1#iDducf?=|I%q^)iqDO57LV+|X`!!F5;Cn|t7ay!8w?D(_dsoRDH6cQlOw&2od`XJKn{y$6X^aG`H)mXUO~*uJiWZJ z(RvjDuwGOiM`#NeLgBbHGQsV3t7#x5}u>(yqDP&W`NJZ0xKK=ecIIL>$iZPYGbhH2H=E$rxK^bdB!ikTeN9 zl;axITz*AtgaU8z_|8VF>cqwkQ5vOaF;NQkP>#QOmo3wJ1CuZOzrA&qA;iv_=;H@s zCCQrP;|CFSkg>=NB*Ce!SY;}z(5XShF6FcWaR3lofoLPD4VxS2cL1S`Djx(wsX-*S}=+`ol34fZ& zO5dlS1O*ec-fhc7b(t89*3KzWsCGa{ zlXSEwtq-6m00?I$qn;x7)WRL|O1#x3i46^9%f;I9A~DsI5*+E(%OyC~)3eHLwaH?A zZ3!O|YbS{HbtU{|vG#7U{{0euqF8&6Sbw;LcZ#+5iuH{p{3NmVKg4?UJIXHB(~b-I zPfm$U5@TaGCkdZCd7F8eaQ?}RVNZ$BEl$27neU4oN1w)y#pvd_QmGVq_5}+kvHBSq zX4PmPIyc5wBb8#4zc+BjTlrl|bHl-C?UE6~<5ZF#@56Z|pX|d1c)Ritw}aX9oboJJ zpiJU8WFSWR%18MM-GS-l=PR0Tj+a)eqv%V?sbqhT+L6A>3#4r% zs%uC2DhK%5MhVu%!x9#)QWJemV}1T`eymR&DNJ5`pLrC%hX}&rq3lzlm7y&A>GQ&C zI(~tKdNv$P)_(As5EEWnQX2@0pn2I(L|qhsNMs|yk}^EF0F|^Lnv043KbN!Uz-6Q<>~nsy-i z6@@NRpgPuP%S>oW^!a1#VAGO-jsX#D(ZMmkG&7G54OO1yz1u9n)%Bj5y0Ci?0x5XYi5^ksmry0nI#ieC*c$BcmqUj3NIr0H@R zwz~IUonG#KKlrpOLRsm4zf3n~v^Z`RWfyO-gA+fEbMSPOSTKd#2~NOC;}Ar2^kiFO zus`i{qFL19m7##qbQYq)&>%ePeHD1^YOwBo-F1N(#;+OaevIG%Unr{Kpp}l`r=xuS zt7VBk!|Um_7+=(m(rZWhB51YXU&6#g|H(=$=Fnu0+m|SuTr%FAD8w%vW*#eyTgnU> z>kCDYLEcH_G540m-V6I9UwWt7TY4qOG>sK9m)>nmUuMFy#zD3*uSM-^Czd~b>hnpy z=JN4A<#o*1X_&G9c#c{39HIFGX&O%UjMzgfw_<5YC$^YU?+8PDp@ZigmIC#cOoX84&o6!XNvTt-S)@5mlZ5!`v)LQoj<_VP(e8txP^qSzpC-_d8wD^M&q1dK*0=8^Rgpj$} zy}jX}MLXm4nyH@S$KSvq)XCwrI>AS&B0Yfe>am$CZsWPVBY*|f{k(Nl8xr*A^a-BPIDqkq8v*p-WTh>gOQxsFy zEScM@rpnw~Odz*yHrO=HmbK5E`y6s0aW|hP2j1Mxr_0TFa20^yI6-o^f~z1^w1V$8 zob`*$(C3}Hq1ZC7;E>sr>1DYJ$qj0VmM$Y9>kdWIrQ*lph5{VHQ+&i*uNs#JYG0Mr zm#LVqK+HNf@=%FX$_nQL$=L zf1~?elhN_Lh4d;@9`?P&m2zI_JdZxv&YO>>!gSEu{f+B;lJ#$=tuV^ zl-@&Wu1xD_X|(@x;?K6tKbCl|ih-X>GEJUq^fF42ap7PZi#(3k^l#H%kBMnM^__Ob zsVs%R6SxW`#0d(+ZS$HEajj-Mj%VD#zM;8w?&RS>4u4xAS2g>pVW#mInD+vQ-kDf)E8$ef1brxEE50qHT$ zjS(ydG@;I2S)76;0;}X-Q`Fs6iWiMaoJDmA1LoB!>UWSwy@*>y>LoF`r^51oNdcG7QbGf8z3Hr*3VXH! z>Jg@`8G_YPIo3%Jk3+dObOO*G^6v=ek$=Z*JEQE`I{0VEO&Djki-m zj9q#6C*d<|s)_osw<&?0@K5dU@DorAr`jMw)rue9%7oVClv;(CYh!doZG2ETII;tdHB~82%DK0zlgUasyOBG0mFQCJC$F;PRwxtKQ`D z9n)X3OK+SNP=535HZGsygi###s!A?Ls#x_pm+N>2IF%Tg9O?D56-dyIT_Rdz+a5vg zw+%$t89{-8O|Y4Ib7wxm)Y?0xve%y%#7wlNe=Z)j-nPMCcXw?H+%)<`McPwB777a zTBG$6O!QmAx6(tMHiGpLo+~k`=2Kj%yNGyEYel@MHQUs0$>stcn3Y#W#8It8Z6%f0 z#5Rz$5qfp)uyGr2xNS3dQ=Ff#iFPEGS`tw5ho8JAqLBDA3dl*!618JSHj7^9(FP*( zguGL4+c}>%VTy6O<5BoH#J-cUb5;7N;>DPCg1!wka~vW0kPO0>CB5YgRibnXiSnv-|g>>k2dRRj-+enGHFOqVTuu!H>t~ zblgQa;?}-H*yYABc7Ti{a8!Jw;BpNrIsu3t41j*4p%dI{;0ft3Fyn7#19H2R(-Oz! z(3@7B%-Zin#0ixz3}r!sQ}-jeM{=k%PTUQl{R&!Lv3l3OqP?pwMgEvyNccsBUrdxR z{z-b&iIbCwq3GbGP(<(n%8<7Kwf$ zy-RzEWB-k43Z3t#z(&A6IlM+ObMF+;!)$h=t{{V|r>;-Ug5;6Wuj@623jynYbvt_q z3r-cc15{_Q(ARAbHiV+|6#2TGbKBttcNkV7<>~_G1gB}oI}-oxq?AghfMIn{af0sM zkzj>K>5D@F8(#Ip=e{I!B+~MF*}{2HnOV*4R`fFjW`0hn2X)wPkK65N5~i%ZE3-c? ziAXt3{fO(gp%1#}*9|)}_dAH_34Y=qSMWQGsM~|-H9toiuJ;)iEa+~J%d2zKIydGi zbEnX>c2NJW*4_#!((j=73!C{f!cS`lu`Se1G!x|wzJ}_stEBWrpmiq~Z!W}t9+HxE-N`sjJ0l{$Q{;m&WlOadz5_&^Qe$^*Y4 zHG%!Y@n7G@_QXWx3Zz_)lL``}_a!f=y^Z^$Z;aTapn8| zL2%Bi#nlz?2guNMJTjO^S-miM6AGYG4-n6OBJsF@EtTT}Hi@W}$+t2I4TBiRRigEW zB*$y4M2m+s$A5zqdtg7Q#Qp4bqt~1+)!UJB5~KFgcB1PF^hTU@1v-DHl$$Q)Je!`* z6;$UPxE{N%Ann@Zbv(7te5C=mLiw{8%p3=w(@sirrlYt5SJ*l3=viUN`XT+da$BU5 z%spI*H>z$++O^7KIGe5fyO6QIKl?ETx$=*s*!tbSRg#ovZ;9HgYe<(H+6g_K@iEE% zBgr^KvOgsmhe>u5$v8r?kCKc}NcNvdMgz&#NJfxk|CwYolI+ijJ^L8R{yWM3oMeAR zvj0M|PY^cy3zB`3WdD_9|0l`*l4PGE*~dxtf069Jk?hmB*zhJ@9ukymB+7G)c>azR z>qlaOu0AG{j}at`@%l$H`R{lwzOLWR*fjplsTRp03wDh~vRWv^D}>=4`~N~Yo!bKK zmDr>$V>1&vbz>sobz8=AvNd8f{>3DqL0qT*J5fR&swK}Kh4Pn%u!i|i6QX}r1=3qc zXx*fld;cfRbfW=70gc+H?cEw%BwNF;>zh&T?4XeN^0>P!m)p(FAt2VCf2_CMH6B7%R^aQHNiCr4+$>D-l^--2Tx}@E{l{CPUNa^ zNLQm)6KwzjxU4MzA-cpNC?+(bC`U!UT@qUjaElJcH*PRjwepAur971Kq9uqu%D9S|6|3F!PjXlGfDxW^#?}-U*I&#}t^Y1RmF8{T z^mM7hIiTP_3O*~?!!>ZD3X2O(1@Jw%@^m#APxpqnlW!0>aZbc9kd?XoTAEt=wT%56 zem@b8-%l__Y0dzsGA+Tq{sEx22b^+?1$VRp z&&yb;aIb4Wy>c1El{Dx(=yh3XeEzqfsCKW zU_XUl$Y4K(AIW%`VkF`IMSo}HWaeWD3l=K+FUv=5obp8FUeZZ_F`HTO0+S$ zD~|DBu6;?iy*inrJswNjG}9g*pgj&lk6{r-Xe;m$@=7XRC%p&VHsv6G!@~$jCFB1)>&qVG3MV&IT72b$Wb=Ywuir!w3aVM&Uj-@pg9cq za1WJ+M%LrUUbh8$kmEfF>rbfXMf`524}P$BWXv{|71jv1m<~ zqVOguARTVB(BIkN29X{a(>p|nyIUf7{nFwNg4U_u-ijMU&e*+;Y-7N@B{g8$lIl#@ zvSrH$TfWABTZygY>n+Y2t^%%sbML|?vVI+3<-V`9JhZ|wZOg3{`Q@Rss*3vXavVy0 z%;T8g1&lXN;gGG^cDMq8xp3I+8fljV{0iX({4VQkMf>4gwBdB?rwi9M4>yk%hQHR2 z9lhnqPOZ&}t<+AO)W8Q#fMb~AzswjF*oN$+Q0gv*bwaT!A!gSrZbXL^vA>X@m)>xH zN`Ze}L=0N#B?Moqikwk!C}KvzJHKY_eb~NJr$4%MRdMYH!M}WU=5pkaJ7>;cQMRr6 z(6LjYgyD&koi7!=@xfm&#wMk$-sIl*LG#rf6Q(U%TU_gZ|M!2?j(vIZpCd*l-7{m^ zGcRzv_EaA{)n*!zJa5s`6|0}yD!zC8hd5@!*&rl`MI?!fMd44cCB5_2_RstLHyYo$o&W#< delta 15498 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 Q4+|eJKK54KzVN>P2VYfj=>Px# diff --git a/textproc.asm b/textproc.asm index 6b3e60f..6cac8d7 100644 --- a/textproc.asm +++ b/textproc.asm @@ -2026,7 +2026,7 @@ RandomizeTankPos adc #0 sta XtankstableH,x lda random - cmp #8 ; like 1:32 + cmp #32 ; like 1:8 bcc NowFastTank lda #0 sta ActiveDefenceWeapon,x diff --git a/weapons.asm b/weapons.asm index 7c99a68..17fdd6f 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1922,6 +1922,7 @@ NoDefence lsrw Force ; Force = Force / 2 - because earlier we multiplied by 2 rts ; END !!! BouncyCastle + mva #sfx_shield_on sfx_effect ; now run defensive-aggressive weapon - Bouncy Castle (previously known as Auto Defence)! sbb #180 LeapFrogAngle Angle ; swap angle (LeapFrogAngle - because we have strored angle in this variable) lsrw Force ; Force = Force / 2 - because earlier we multiplied by 2 From 22785ecdd55cdaefd5b35faf781f39d655bc9337 Mon Sep 17 00:00:00 2001 From: pkali Date: Thu, 11 Aug 2022 01:20:45 -0400 Subject: [PATCH 71/88] kolorki Adama, 2022-07-21 --- constants.asm | 4 ++-- definitions.asm | 4 ++-- scorch.xex | Bin 43444 -> 43444 bytes 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/constants.asm b/constants.asm index a8b9084..ef17ac9 100644 --- a/constants.asm +++ b/constants.asm @@ -21,8 +21,8 @@ initialvaluesCount = *-initialvaluesstart ; MAX 128 bytes ! ;=================================================================================== ;==========================CONSTANT TABLES, do not erase!=========================== ;=================================================================================== -TankColoursTable .BYTE $86,$46,$c6,$28,$c6,$ee -TankStatusColoursTable .BYTE $80,$40,$c4,$20,$c0,$e4 +TankColoursTable .BYTE $58,$2a,$96,$ca,$7a,$de +TankStatusColoursTable .BYTE $54,$24,$94,$c4,$74,$d4 TankShapesTable .BYTE char_tank1___________,char_tank2___________,char_tank3___________ .BYTE char_tank1___________,char_tank2___________,char_tank3___________ dliColorsBack diff --git a/definitions.asm b/definitions.asm index 8a75a65..bb6efe9 100644 --- a/definitions.asm +++ b/definitions.asm @@ -17,7 +17,7 @@ PMOffsetY = $23 ; P/M to graphics offset napalmRadius = 10 TextBackgroundColor = $02 ; REAL constans - use: LDA #TextBackgroundColor -TextForegroundColor = $0c +TextForegroundColor = $0A ;character codes for symbols (tank, parachute, etc. ) char_parachute_______ = $02 @@ -26,7 +26,7 @@ char_flame___________ = $14 char_clear_flame_____ = $1c char_digger__________ = $04 char_sandhog_________ = $0c -char_sandhog_offset = char_sandhog_________-char_digger__________ +char_sandhog_offset = char_sandhog_________ - char_digger__________ char_tank1___________ = $20 char_tank2___________ = $24 diff --git a/scorch.xex b/scorch.xex index a26134e961f3fa0cd2667275a03280815f0738e9..39e2ef4ba8fef0c590e9851fd30e4c47f8d5b507 100644 GIT binary patch delta 55 zcmdmTnQ6;qrVUpt7`ZlIwOGOeq^fM+O9H8^@V&f1N+b2ABu|9av{P00LR6+4DY>$l Iw|==60CdV0vj6}9 delta 55 zcmdmTnQ6;qrVUpt7OV From 950d6922b4b380509bf6b86d74e804fcd7a0fb00 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 11 Aug 2022 10:46:23 +0200 Subject: [PATCH 72/88] New funky defensive weapon - Long Barrel --- constants.asm | 16 ++++++++-------- definitions.asm | 6 ++++-- grafproc.asm | 6 ++++-- scorch.asm | 17 ++++++++++++++--- scorch.xex | Bin 43444 -> 43478 bytes textproc.asm | 7 +++++++ variables.asm | 4 ++-- 7 files changed, 39 insertions(+), 17 deletions(-) diff --git a/constants.asm b/constants.asm index ef17ac9..d762e06 100644 --- a/constants.asm +++ b/constants.asm @@ -292,7 +292,7 @@ WeaponPriceH ; weapons prices (tables with prices of weapons) .by >price_Force_Shield___ .by >price_Super_Mag______ .by >price_Bouncy_Castle__ - .by >price_Fuel_Tank______ + .by >price_Long_Barrel____ .by >price_Nuclear_Winter_ WeaponPriceL @@ -358,7 +358,7 @@ WeaponPriceL .by WeaponFont chbas @@ -1023,6 +1025,15 @@ MakeTanksVisible rts .endp ;-------------------------------------------------- +.proc SetStandardBarrels + ldx #maxPlayers-1 + lda #StandardBarrel ; standard barrel length +@ sta BarrelLength,x + dex + bpl @- + rts +.endp +;-------------------------------------------------- .proc SetPMWidth lda #$00 sta sizep0 ; P0-P3 widths diff --git a/scorch.xex b/scorch.xex index 39e2ef4ba8fef0c590e9851fd30e4c47f8d5b507..92e0efa3168e3065e97d95ce635931f7cbd1d3c5 100644 GIT binary patch delta 16610 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 L9mneSSqJ}Lp7()2 delta 16436 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 Vnxc}$MWS%&mE^ZguYKI_{{Wb7JyHMw diff --git a/textproc.asm b/textproc.asm index 6cac8d7..ee1e2d3 100644 --- a/textproc.asm +++ b/textproc.asm @@ -837,6 +837,12 @@ invSelectDef mva #99 Energy,x bne DecreaseDefensive ; bypass activation NotBattery + cmp #ind_Long_Barrel____ + bne NotBarrel + ; if activate long barrel, we do it differently too + mva #LongBarrel BarrelLength,x + bne DecreaseDefensive ; bypass activation +NotBarrel cmp #ind_White_Flag_____ bne NotWhiteFlag cmp ActiveDefenceWeapon,x @@ -1959,6 +1965,7 @@ MakeAllTanksVisible sta ActiveDefenceWeapon,x dex bpl MakeAllTanksVisible + jsr SetStandardBarrels ; start music and animations lda #song_ending_looped diff --git a/variables.asm b/variables.asm index a206f04..4ca5481 100644 --- a/variables.asm +++ b/variables.asm @@ -109,8 +109,8 @@ MaxForceTableL ;Energy of the tank during the round MaxForceTableH .DS [MaxPlayers] ;---------------------------------------------------- - - +BarrelLength ;length of the tank barrel - dont forget to set it to 6 at round start! + .DS [MaxPlayers] ActiveWeapon ;number of the selected weapon .DS [MaxPlayers] ActiveDefenceWeapon ;number of the activated defence weapon - 0 From a205c37dc0f8a3774ee3febe0c228f3dfcecaebd Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 11 Aug 2022 11:10:23 +0200 Subject: [PATCH 73/88] Atract and next player SFX fix --- scorch.xex | Bin 43478 -> 43480 bytes textproc.asm | 4 +++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scorch.xex b/scorch.xex index 92e0efa3168e3065e97d95ce635931f7cbd1d3c5..b4d58838256df9cf9a47732699d79c4e8299e70b 100644 GIT binary patch delta 15267 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 VuBaH?h70_e?PK>xz4&pz{{!@V7K#7> delta 15306 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 diff --git a/textproc.asm b/textproc.asm index ee1e2d3..7093f99 100644 --- a/textproc.asm +++ b/textproc.asm @@ -1195,6 +1195,8 @@ EndOfNick asl ; 8 chars per name tax ; in X where to put new name + mva #sfx_next_player sfx_effect + lda NameAdr ; check if first char is " " and #$7F ; remove inverse (Cursor) beq MakeDefaultName @@ -1216,7 +1218,6 @@ nextchar05 iny cpy #$08 bne nextchar05 - mva #sfx_next_player sfx_effect rts .endp @@ -1987,6 +1988,7 @@ AllTanksFloatingDown mva #1 Erase jsr DrawTankNr mva #0 Erase + sta ATRACT ; reset atract mode NoEraseTank ldx TankNr inc Ytankstable,x From 9d14950ef9cacbed10df5795f4909cae85008a8e Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 11 Aug 2022 14:31:33 +0200 Subject: [PATCH 74/88] AI selected weapons on statusbar --- scorch.asm | 1 + scorch.xex | Bin 43480 -> 43483 bytes 2 files changed, 1 insertion(+) diff --git a/scorch.asm b/scorch.asm index 1fa8025..1346ad3 100644 --- a/scorch.asm +++ b/scorch.asm @@ -500,6 +500,7 @@ RoboTanks jsr ArtificialIntelligence ;pause 30 ldx TankNr + jsr DisplayStatus ; to make visible AI selected defensive (and offensive :) ) jsr MoveBarrelToNewPosition lda kbcode cmp #28 ; ESC diff --git a/scorch.xex b/scorch.xex index b4d58838256df9cf9a47732699d79c4e8299e70b..cb03eb0bcca9753a3c8481ec229f2e40a9c97200 100644 GIT binary patch delta 16347 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 b3#~8iB|?TRHb*QLg|pkI?u~u^*oglH)(Zfu delta 16214 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 From 3b0388fdaf1bd9679c49821aef1cbe964fbc0749 Mon Sep 17 00:00:00 2001 From: pkali Date: Thu, 11 Aug 2022 10:15:38 -0400 Subject: [PATCH 75/88] Scorch50 splash --- artwork/Scorch50.asm | 888 +++++++++++++++++++++++++++++++++++++++++++ artwork/Scorch50.fnt | Bin 0 -> 9216 bytes scorch.asm | 2 +- scorch.xex | Bin 43483 -> 50772 bytes 4 files changed, 889 insertions(+), 1 deletion(-) create mode 100644 artwork/Scorch50.asm create mode 100644 artwork/Scorch50.fnt diff --git a/artwork/Scorch50.asm b/artwork/Scorch50.asm new file mode 100644 index 0000000..faf9418 --- /dev/null +++ b/artwork/Scorch50.asm @@ -0,0 +1,888 @@ +/***************************************/ +/* Use MADS http://mads.atari8.info/ */ +/* Mode: DLI (char mode) */ +/***************************************/ + + ;icl "Scorch50.h" + +; --- dmsc LZSS player routine on zero page + org $80 + +chn_copy .ds 9 +chn_pos .ds 9 +bptr .ds 2 +cur_pos .ds 1 +chn_bits .ds 1 + +bit_data .ds 1 + +fcnt .ds 2 +fadr .ds 2 +fhlp .ds 2 +cloc .ds 1 +regA .ds 1 +regX .ds 1 +regY .ds 1 + +WIDTH = 40 +HEIGHT = 30 + +; --- BASIC switch OFF + org $2000\ mva #$ff portb\ rts\ ini $2000 + +; --- MAIN PROGRAM + org $2000 +ant dta $C2,a(scr) + dta $02,$82,$02,$02,$82,$02,$82,$02,$82,$02,$02,$02,$82,$02,$82,$82 + dta $02,$02,$82,$02,$02,$82,$02,$02,$82,$82,$02,$82,$22 + ;dta $42,a(verline) + dta $41,a(ant) + +;verline +; :37 dta d" " +; dta build + +scr ins "Scorch50.scr" + + .ds 0*40 + + .ALIGN $0400 +fnt ins "Scorch50.fnt" + + ift USESPRITES + .ALIGN $0800 +pmg .ds $0300 + ift FADECHR = 0 + SPRITES + els + .ds $500 + eif + eif + + +song_data + ins 'mmm_16.lzs' +song_end + +POKEY = $D200 + +buffers + .ds 256 * 9 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Song Initialization - this runs in the first tick: +; +.proc init_song + + mva #1 bit_data + + ; Example: here initializes song pointer: + + ;mwa #song_data song_ptr + + ; Init all channels: + ldx #8 + ldy #0 +clear + ; Read just init value and store into buffer and POKEY + jsr get_byte + sta POKEY, x + sty chn_copy, x +cbuf + sta buffers + 255 + inc cbuf + 2 + dex + bpl clear + + ; Initialize buffer pointer: + sty bptr + sty cur_pos + rts +.endp + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Wait for next frame +; +.proc wait_frame + + lda 20 +delay + cmp 20 + beq delay +.endp + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Play one frame of the song +; +.proc play_frame + lda #>buffers + sta bptr+1 + + lda song_data + sta chn_bits + ldx #8 + + ; Loop through all "channels", one for each POKEY register +chn_loop: + lsr chn_bits + bcs skip_chn ; C=1 : skip this channel + + lda chn_copy, x ; Get status of this stream + bne do_copy_byte ; If > 0 we are copying bytes + + ; We are decoding a new match/literal + lsr bit_data ; Get next bit + bne got_bit + jsr get_byte ; Not enough bits, refill! + ror ; Extract a new bit and add a 1 at the high bit (from C set above) + sta bit_data ; +got_bit: + jsr get_byte ; Always read a byte, it could mean "match size/offset" or "literal byte" + bcs store ; Bit = 1 is "literal", bit = 0 is "match" + + sta chn_pos, x ; Store in "copy pos" + + jsr get_byte + sta chn_copy, x ; Store in "copy length" + + ; And start copying first byte +do_copy_byte: + dec chn_copy, x ; Decrease match length, increase match position + inc chn_pos, x + ldy chn_pos, x + + ; Now, read old data, jump to data store + lda (bptr), y + +store: + ldy cur_pos + sta POKEY, x ; Store to output and buffer + sta (bptr), y + +skip_chn: + ; Increment channel buffer pointer + inc bptr+1 + + dex + bpl chn_loop ; Next channel + + inc cur_pos +.endp + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Check for ending of song and jump to the next frame +; + +; not checking really so the tune gets funky :))) + ;lda song_ptr + 1 + ;cmp #>song_end + ;bne wait_frame + ;lda song_ptr + ;cmp #pmg pmbase ;missiles and players data address + mva #$03 pmcntl ;enable players and missiles + eif + + lda:cmp:req $14 ;wait 1 frame + + sei ;stop IRQ interrupts + mva #$00 nmien ;stop NMI interrupts + sta dmactl + mva #$fe portb ;switch off ROM to get 16k more ram + + mwa #NMI $fffa ;new NMI handler + + mva #1 vscrol + + mva #$c0 nmien ;switch on NMI+DLI again + + ift CHANGES ;if label CHANGES defined + +_lp lda trig0 ; FIRE #0 + beq stop + + lda trig1 ; FIRE #1 + beq stop + + lda consol ; START + and #1 + beq stop + + lda skctl + and #$04 + bne _lp ;wait to press any key; here you can put any own routine + + els + +null jmp DLI.dli1 ;CPU is busy here, so no more routines allowed + + eif + + +stop + mva #$00 pmcntl ;PMG disabled + tax + sta:rne hposp0,x+ + + mva #$ff portb ;ROM switch on + mva #$40 nmien ;only NMI interrupts, DLI disabled + cli ;IRQ enabled + + lda #0 + ldx #8 +@ sta POKEY,x + dex + bpl @- + + ;no glitching please (issue #67) + lda #0 + sta $D400 ;dmactl + sta $022F ;dmactls + rts ;return to ... DOS + +; --- DLI PROGRAM + +.local DLI + + ?old_dli = * + + ift !CHANGES + +dli1 lda trig0 ; FIRE #0 + beq stop + + lda trig1 ; FIRE #1 + beq stop + + lda consol ; START + and #1 + beq stop + + lda skctl + and #$04 + beq stop + + lda vcount + cmp #$02 + bne dli1 + + :3 sta wsync + + DLINEW dli13 + + eif + +dli_start + +dli13 + sta regA + + sta wsync ;line=8 + sta wsync ;line=9 + sta wsync ;line=10 + sta wsync ;line=11 + sta wsync ;line=12 + sta wsync ;line=13 +c9 lda #$14 + sta wsync ;line=14 + sta colpm3 + DLINEW DLI.dli2 1 0 0 + +dli2 + sta regA + lda >fnt+$400*$01 + sta wsync ;line=24 + sta chbase + DLINEW dli3 1 0 0 + +dli3 + sta regA + lda >fnt+$400*$02 + sta wsync ;line=48 + sta chbase + sta wsync ;line=49 + sta wsync ;line=50 + sta wsync ;line=51 +s3 lda #$07 + sta wsync ;line=52 + sta sizem + DLINEW dli14 1 0 0 + +dli14 + sta regA + stx regX + sty regY + +x8 lda #$A3 + sta wsync ;line=64 + sta hposp3 +x9 lda #$AB + sta wsync ;line=65 + sta hposm3 + sta wsync ;line=66 + sta wsync ;line=67 + sta wsync ;line=68 + sta wsync ;line=69 + sta wsync ;line=70 +s4 lda #$13 +x10 ldx #$A6 + sta wsync ;line=71 + sta sizem + stx hposm2 +s5 lda #$01 +x11 ldx #$72 +x12 ldy #$62 + sta wsync ;line=72 + sta sizep2 + sta sizep3 + stx hposp2 + sty hposp3 +x13 lda #$A9 + sta wsync ;line=73 + sta hposp1 + DLINEW dli4 1 1 1 + +dli4 + sta regA + lda >fnt+$400*$03 + sta wsync ;line=80 + sta chbase + DLINEW dli5 1 0 0 + +dli5 + sta regA + stx regX + lda >fnt+$400*$04 + sta wsync ;line=112 + sta chbase + sta wsync ;line=113 + sta wsync ;line=114 + sta wsync ;line=115 + sta wsync ;line=116 + sta wsync ;line=117 + sta wsync ;line=118 +s6 lda #$07 +x14 ldx #$A3 + sta wsync ;line=119 + sta sizem + stx hposm1 +s7 lda #$01 +x15 ldx #$93 + sta wsync ;line=120 + sta sizep1 + stx hposp1 + DLINEW dli15 1 1 0 + +dli15 + sta regA + stx regX + + sta wsync ;line=128 + sta wsync ;line=129 + sta wsync ;line=130 + sta wsync ;line=131 +x16 lda #$4A + sta wsync ;line=132 + sta hposp1 +c10 lda #$D4 + sta wsync ;line=133 + sta color2 +s8 lda #$C3 +x17 ldx #$5A + sta wsync ;line=134 + sta sizem + stx hposm3 + DLINEW dli6 1 1 0 + +dli6 + sta regA + stx regX + sty regY + lda >fnt+$400*$05 + sta wsync ;line=136 + sta chbase + sta wsync ;line=137 + sta wsync ;line=138 + sta wsync ;line=139 + sta wsync ;line=140 + sta wsync ;line=141 + sta wsync ;line=142 +s9 lda #$C7 +x18 ldx #$A9 + sta wsync ;line=143 + sta sizem + stx hposm1 +s10 lda #$D7 +x19 ldx #$9E +c11 ldy #$02 + sta wsync ;line=144 + sta sizem + stx hposm2 + sty colpm2 + sta wsync ;line=145 +c12 lda #$04 + sta wsync ;line=146 + sta colpm1 + sta wsync ;line=147 + sta wsync ;line=148 + sta wsync ;line=149 +s11 lda #$00 +x20 ldx #$74 +c13 ldy #$02 + sta wsync ;line=150 + sta sizep3 + stx hposp3 + sty colpm3 + sta wsync ;line=151 + sta wsync ;line=152 + sta wsync ;line=153 + sta wsync ;line=154 + sta wsync ;line=155 + sta wsync ;line=156 + sta wsync ;line=157 +c14 lda #$04 + sta wsync ;line=158 + sta color0 + DLINEW dli7 1 1 1 + +dli7 + sta regA + lda >fnt+$400*$06 + sta wsync ;line=160 + sta chbase + DLINEW dli8 1 0 0 + +dli8 + sta regA + stx regX + sty regY + lda >fnt+$400*$07 + sta wsync ;line=184 + sta chbase + sta wsync ;line=185 +s12 lda #$00 +x21 ldx #$8E +c15 ldy #$08 + sta wsync ;line=186 + sta sizep2 + stx hposp2 + sty colpm2 +x22 lda #$4C +c16 ldx #$0E + sta wsync ;line=187 + sta hposp3 + stx colpm3 +c17 lda #$0A +c18 ldx #$34 + sta wsync ;line=188 + sta color1 + stx colpm3 +s13 lda #$43 +x23 ldx #$49 + sta wsync ;line=189 + sta sizem + stx hposm3 +c19 lda #$08 +c20 ldx #$34 + sta wsync ;line=190 + sta color1 + stx colpm2 + sta wsync ;line=191 +c21 lda #$0A + sta wsync ;line=192 + sta color1 +c22 lda #$08 + sta wsync ;line=193 + sta color1 +c23 lda #$0A + sta wsync ;line=194 + sta color1 +c24 lda #$34 + sta wsync ;line=195 + sta color2 +c25 lda #$0C + sta wsync ;line=196 + sta color1 +c26 lda #$0A + sta wsync ;line=197 + sta color1 +c27 lda #$0C + sta wsync ;line=198 + sta color1 + sta wsync ;line=199 + sta wsync ;line=200 +c28 lda #$0E + sta wsync ;line=201 + sta color1 +c29 lda #$0C + sta wsync ;line=202 + sta color1 +c30 lda #$0E + sta wsync ;line=203 + sta color1 +c31 lda #$0C + sta wsync ;line=204 + sta color1 +c32 lda #$0E + sta wsync ;line=205 + sta color1 + DLINEW dli16 1 1 1 + +dli16 + sta regA + + sta wsync ;line=208 + sta wsync ;line=209 +c33 lda #$0C + sta wsync ;line=210 + sta color1 +c34 lda #$0E + sta wsync ;line=211 + sta color1 +c35 lda #$0C + sta wsync ;line=212 + sta color1 + DLINEW dli9 1 0 0 + +dli9 + sta regA + stx regX + sty regY + lda >fnt+$400*$08 +c36 ldx #$0A + sta wsync ;line=216 + sta chbase + stx color1 +c37 lda #$0C + sta wsync ;line=217 + sta color1 +c38 lda #$0A +x24 ldx #$9D +c39 ldy #$34 + sta wsync ;line=218 + sta color1 + stx hposm1 + sty colpm1 +s14 lda #$03 +x25 ldx #$7D + sta wsync ;line=219 + sta sizep3 + stx hposp3 +c40 lda #$08 +s15 ldx #$13 +x26 ldy #$45 + sta wsync ;line=220 + sta color1 + stx sizem + sty hposm2 +s16 lda #$03 +x27 ldx #$59 + sta wsync ;line=221 + sta sizep2 + stx hposp2 +s17 lda #$53 +x28 ldx #$49 +x29 ldy #$79 + sta wsync ;line=222 + sta sizem + stx hposp1 + sty hposm3 +c41 lda #$06 +c42 ldx #$00 + sta wsync ;line=223 + sta color1 + stx color2 + lda >fnt+$400*$01 +s18 ldx #$50 +x30 ldy #$44 + sta wsync ;line=224 + sta chbase + stx sizem + sty hposm0 + sta wsync ;line=225 +c43 lda #$08 + sta wsync ;line=226 + sta color1 +c44 lda #$0C + sta wsync ;line=227 + sta color1 + sta wsync ;line=228 + sta wsync ;line=229 +c45 lda #$0E + sta wsync ;line=230 + sta color1 + DLINEW dli10 1 1 1 + +dli10 + sta regA + lda >fnt+$400*$00 + sta wsync ;line=232 + sta chbase + DLINEW dli11 1 0 0 + + lda regA + rti + +dli11 + sta regA + + lda #>$a000 ; system font + sta wsync ;line=232 + sta chbase + lda #$01 + sta gtictl + + lda regA + rti + + +.endl + +; --- + +CHANGES = 1 +FADECHR = 0 + +SCHR = 127 + +; --- + +.proc NMI + + bit nmist + bpl VBL + + jmp DLI.dli_start +dliv equ *-2 + +VBL + sta regA + stx regX + sty regY + + sta nmist ;reset NMI flag + + mwa #ant dlptr ;ANTIC address program + + mva #@dmactl(standard|dma|lineX1|players|missiles) dmactl ;set new screen width + + inc cloc ;little timer + +; Initial values + + lda >fnt+$400*$00 + sta chbase +c0 lda #$00 + sta colbak +c1 lda #$0E + sta color1 +c2 lda #$84 + sta color2 +c3 lda #$0E + sta color3 + lda #$02 + sta chrctl + lda #$01 + sta gtictl + sta sizep0 +s0 lda #$03 + sta sizem +x0 lda #$D0 + sta hposp0 +x1 lda #$28 + sta hposm0 +c4 lda #$00 + sta colpm0 +x2 lda #$A2 + sta hposm3 +c5 lda #$0E + sta colpm3 +s1 lda #$00 + sta sizep2 + sta sizep3 +x3 lda #$92 + sta hposp2 +x4 lda #$8A + sta hposp3 +c6 lda #$14 + sta colpm2 +s2 lda #$00 + sta sizep1 +x5 lda #$9A + sta hposp1 +c7 lda #$14 + sta colpm1 +x6 lda #$A4 + sta hposm2 +x7 lda #$A6 + sta hposm1 +c8 lda #$00 + sta color0 + + mwa #DLI.dli_start dliv ;set the first address of DLI interrupt + +;this area is for yours routines + jsr play_frame + +quit + lda regA + ldx regX + ldy regY + rti + +.endp + +; --- + ini main +; --- + + opt l- + +.MACRO SPRITES +missiles + .he 00 00 00 00 00 00 00 00 03 03 C3 03 03 03 03 03 + .he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 + .he 03 03 03 03 03 03 03 03 03 83 83 83 C3 C3 C3 C3 + .he C3 C3 C3 C3 C3 E3 E3 E3 E3 E3 E3 F3 F3 F3 F3 FB + .he FB FB FB FB FF FF FF FF F3 33 83 83 83 83 C3 D3 + .he D3 D3 13 03 03 03 03 03 03 03 03 03 03 03 03 03 + .he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 + .he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 0F + .he 0F 0F 0F 0F 0F 0F 0F 0F 0F 0F 03 03 03 03 C3 C3 + .he C3 C3 C3 C3 C3 C3 C3 C3 C3 D3 FF FF 3F 3F 3F 3F + .he 3F 3F 33 13 03 03 03 03 03 03 03 03 03 03 03 03 + .he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 + .he 03 03 03 03 03 03 03 43 43 C3 C3 C3 C3 03 03 03 + .he 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 + .he 03 03 0F 0F 3F 3F FF FC FE FE FF DB 03 03 03 03 + .he 03 03 03 03 03 03 03 03 00 00 00 00 00 00 00 00 +player0 + .he 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 +player1 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 F0 FC FE FE FF FF FF FF + .he FF 0F 0F 0F 0F 0F 0F 0F 0F 0F 07 07 07 07 07 07 + .he 03 03 03 FF FF FF FF FF CF CF FF FF FF FF FF 9F + .he 9F FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 + .he 00 F0 F0 F0 F0 78 F8 78 78 78 78 38 78 38 3C 3C + .he 3C 3C 1C 3C 1C 1C 1C 1C 1E 1E 1E 1E 0E 1E 0E 0E + .he 0E 0F 07 0F 07 0F 07 07 07 07 07 07 06 06 06 06 + .he FF FF FF FF FF FF FF FF FF FF FF 00 00 3E 3F 7F + .he 7F 7F 7F 7F 7F 7F 7F 3F 3F 3F 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 FF FF FF FF FF FF 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +player2 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF + .he FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 FF FF FF FF FF 99 99 FF FF FF FF FF 33 + .he 33 FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 + .he 00 00 80 F0 F8 F8 F8 FC FC FC FC FC FC FC FC FC + .he FC FE FE FE FE FE FE FF FF FF FF FF FF FF FE FC + .he F8 F8 F8 F8 F0 F0 F0 F0 F0 F0 F0 F0 E0 E0 E0 E0 + .he E0 E0 E0 FC FE FE FF FF 8F 87 87 87 07 07 07 07 + .he 07 07 07 07 07 07 07 03 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 F8 FC FC FE FE FF FF 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 FF FF FF FF FF FF 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +player3 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 01 07 0F 1F 1F 3F 3F 7F + .he 7F 78 78 F0 F0 F0 F0 F8 F8 F8 78 7C 7C 7C 3C 3E + .he 3E 3E 1E 1F 1F 1F 0F 0F 0F 0F 0F 1F 1F 1F 1F 1F + .he 1F 3F 3F 3F 3F 3F 3F 3F FF 7F 7F 3F 3F 1F 1F 0F + .he 1F 1F 1F 3F 3F 3F 3F 3F 3F 3B 30 30 30 30 30 30 + .he 30 30 30 30 38 3E 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F + .he 7F 7F 7F 7F 7F 7F 7F FF FF FF FF FF FF FF FF FF + .he FF FF FF FF FF FF FF FF 7F 7F 7F 7F 7F 7F FF FF + .he FF FF FF FF FE FE FE FE FE FE FE FE FC 1C FF 7E + .he 7E FE FE FE FE FF FF FF 7F 7E 7E 3C 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 00 00 7C FE FE FF FF FF 00 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + .he 00 00 00 FF FF FF FF FF FF FF FF FF 00 00 00 00 + .he 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +.ENDM + +USESPRITES = 1 + +.MACRO DLINEW + mva <:1 NMI.dliv + ift [>?old_dli]<>[>:1] + mva >:1 NMI.dliv+1 + eif + + ift :2 + lda regA + eif + + ift :3 + ldx regX + eif + + ift :4 + ldy regY + eif + + rti + + .def ?old_dli = * +.ENDM + diff --git a/artwork/Scorch50.fnt b/artwork/Scorch50.fnt new file mode 100644 index 0000000000000000000000000000000000000000..e4fced42e789ac9a438caee1dd7ddc56e8a639d4 GIT binary patch literal 9216 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 a{QRqLe)>!gj0z+Eh5mxTUl9011pWstHv;Vd literal 0 HcmV?d00001 diff --git a/scorch.asm b/scorch.asm index 1346ad3..485e28f 100644 --- a/scorch.asm +++ b/scorch.asm @@ -118,7 +118,7 @@ icl 'lib/macro.hea' ;splash screen and musix - icl 'artwork/HIMARS14.asm' + icl 'artwork/Scorch50.asm' ;Game loading address ORG $3000 WeaponFont diff --git a/scorch.xex b/scorch.xex index cb03eb0bcca9753a3c8481ec229f2e40a9c97200..66f3718eb4a07ccdb19ce701e6ca5105ea3e42c7 100644 GIT binary patch delta 11079 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 G+WrSP#ngcS From 028c34bf3136a6fc74920f8739a3bf81f0edf026 Mon Sep 17 00:00:00 2001 From: pkali Date: Thu, 11 Aug 2022 10:43:45 -0400 Subject: [PATCH 76/88] cleanup --- artwork/HIMARS14.asm | 501 ------------------------------------------- artwork/HIMARS14.fnt | Bin 4096 -> 0 bytes artwork/HIMARS14.g2f | Bin 3521 -> 0 bytes artwork/HIMARS14.png | Bin 4644 -> 0 bytes artwork/HIMARS14.scr | Bin 1120 -> 0 bytes 5 files changed, 501 deletions(-) delete mode 100644 artwork/HIMARS14.asm delete mode 100644 artwork/HIMARS14.fnt delete mode 100644 artwork/HIMARS14.g2f delete mode 100644 artwork/HIMARS14.png delete mode 100644 artwork/HIMARS14.scr diff --git a/artwork/HIMARS14.asm b/artwork/HIMARS14.asm deleted file mode 100644 index bcc29c3..0000000 --- a/artwork/HIMARS14.asm +++ /dev/null @@ -1,501 +0,0 @@ -; @com.wudsn.ide.asm.mainsourcefile=../scorch.asm -/***************************************/ -/* Use MADS http://mads.atari8.info/ */ -/* Mode: DLI (char mode) */ -/***************************************/ - - ;icl "HIMARS14.h" - ;ICL '../lib/atari.hea' - - -WIDTH = 40 -HEIGHT = 30 - -; --- BASIC switch OFF - org $2000\ mva #$ff portb\ rts\ ini $2000 - -; --- dmsc LZSS player routine on zero page - org $80 - -chn_copy .ds 9 -chn_pos .ds 9 -bptr .ds 2 -cur_pos .ds 1 -chn_bits .ds 1 - -bit_data .ds 1 - - - -fcnt .ds 2 -fadr .ds 2 -fhlp .ds 2 -cloc .ds 1 -regA .ds 1 -regX .ds 1 -regY .ds 1 -; --- MAIN PROGRAM - org $2000 -ant dta $80 - dta $42,a(scr),$02,$02,$02,$02,$02,$02,$02,$02,$02,$82,$02,$02,$02,$02,$82 - dta $02,$02,$02,$82,$82,$82,$02,$82,$02,$02,$02,$82 - dta $42,a(verline) - dta $41,a(ant) - -verline - :37 dta d" " - build - -scr ins "HIMARS14.scr" - - .ds 2*40 - - .ALIGN $0400 -fnt ins "HIMARS14.fnt" - - ift USESPRITES - .ALIGN $0800 -pmg .ds $0300 - ift FADECHR = 0 - SPRITES - els - .ds $500 - eif - eif - -song_data - ins 'mmm_16.lzs' -song_end - -POKEY = $D200 - -buffers - .ds 256 * 9 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Song Initialization - this runs in the first tick: -; -.proc init_song - - mva #1 bit_data - - ; Example: here initializes song pointer: - - ;mwa #song_data song_ptr - - ; Init all channels: - ldx #8 - ldy #0 -clear - ; Read just init value and store into buffer and POKEY - jsr get_byte - sta POKEY, x - sty chn_copy, x -cbuf - sta buffers + 255 - inc cbuf + 2 - dex - bpl clear - - ; Initialize buffer pointer: - sty bptr - sty cur_pos - rts -.endp - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Wait for next frame -; -.proc wait_frame - - lda 20 -delay - cmp 20 - beq delay -.endp - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Play one frame of the song -; -.proc play_frame - lda #>buffers - sta bptr+1 - - lda song_data - sta chn_bits - ldx #8 - - ; Loop through all "channels", one for each POKEY register -chn_loop: - lsr chn_bits - bcs skip_chn ; C=1 : skip this channel - - lda chn_copy, x ; Get status of this stream - bne do_copy_byte ; If > 0 we are copying bytes - - ; We are decoding a new match/literal - lsr bit_data ; Get next bit - bne got_bit - jsr get_byte ; Not enough bits, refill! - ror ; Extract a new bit and add a 1 at the high bit (from C set above) - sta bit_data ; -got_bit: - jsr get_byte ; Always read a byte, it could mean "match size/offset" or "literal byte" - bcs store ; Bit = 1 is "literal", bit = 0 is "match" - - sta chn_pos, x ; Store in "copy pos" - - jsr get_byte - sta chn_copy, x ; Store in "copy length" - - ; And start copying first byte -do_copy_byte: - dec chn_copy, x ; Decrease match length, increase match position - inc chn_pos, x - ldy chn_pos, x - - ; Now, read old data, jump to data store - lda (bptr), y - -store: - ldy cur_pos - sta POKEY, x ; Store to output and buffer - sta (bptr), y - -skip_chn: - ; Increment channel buffer pointer - inc bptr+1 - - dex - bpl chn_loop ; Next channel - - inc cur_pos -.endp - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Check for ending of song and jump to the next frame -; - -; not checking really so the tune gets funky :))) - ;lda song_ptr + 1 - ;cmp #>song_end - ;bne wait_frame - ;lda song_ptr - ;cmp #pmg pmbase ;missiles and players data address - mva #$03 pmcntl ;enable players and missiles - eif - - lda:cmp:req $14 ;wait 1 frame - - ; copy system font to $a000 - ldx #0 -@ lda $e000,x - sta $a000,x - ;lda $e100,x ; i need digits only :] - ;sta $a100,x - ;lda $e200,x - ;sta $a200,x - ;lda $e300,x - ;sta $a300,x - inx - bne @- - - sei ;stop IRQ interrupts - mva #$00 nmien ;stop NMI interrupts - sta dmactl - mva #$fe portb ;switch off ROM to get 16k more ram - - mwa #NMI $fffa ;new NMI handler - - mva #$c0 nmien ;switch on NMI+DLI again - - ift CHANGES ;if label CHANGES defined - -_lp lda trig0 ; FIRE #0 - beq stop - - lda trig1 ; FIRE #1 - beq stop - - lda consol ; START - and #1 - beq stop - - lda skctl - and #$04 - bne _lp ;wait to press any key; here you can put any own routine - - els - -null jmp DLI.dli1 ;CPU is busy here, so no more routines allowed - - eif - - -stop - mva #$00 pmcntl ;PMG disabled - tax - sta:rne hposp0,x+ - - mva #$ff portb ;ROM switch on - mva #$40 nmien ;only NMI interrupts, DLI disabled - cli ;IRQ enabled - - - lda #0 - ldx #8 -@ sta POKEY,x - dex - bpl @- - - ;no glitching please (issue #67) - lda #0 - sta $D400 ;dmactl - sta $022F ;dmactls - rts ;return to ... DOS - -; --- DLI PROGRAM - -.local DLI - - ?old_dli = * - - ift !CHANGES - -dli1 lda trig0 ; FIRE #0 - beq stop - - lda trig1 ; FIRE #1 - beq stop - - lda consol ; START - and #1 - beq stop - - lda skctl - and #$04 - beq stop - - lda vcount - cmp #$02 - bne dli1 - - :3 sta wsync - - DLINEW dli10 - - eif - -dli_start - -dli10 - sta regA - -c4 lda #$04 - sta wsync ;line=8 - sta color0 - sta gtictl - DLINEW DLI.dli2 1 0 0 - -dli2 - sta regA - lda >fnt+$400*$01 - sta wsync ;line=96 - sta chbase - DLINEW dli3 1 0 0 - -dli3 - sta regA - lda >fnt+$400*$02 - sta wsync ;line=136 - sta chbase - DLINEW dli4 1 0 0 - -dli4 - sta regA - lda >fnt+$400*$01 - sta wsync ;line=168 - sta chbase - DLINEW dli5 1 0 0 - -dli5 - sta regA - lda >fnt+$400*$02 - sta wsync ;line=176 - sta chbase - DLINEW dli6 1 0 0 - -dli6 - sta regA - lda >fnt+$400*$03 - sta wsync ;line=184 - sta chbase - DLINEW dli7 1 0 0 - -dli7 - sta regA - lda >fnt+$400*$00 - sta wsync ;line=200 - sta chbase - DLINEW dli11 1 0 0 - -dli11 - sta regA - - lda #>$a000 ; system font - sta wsync ;line=232 - sta chbase - lda #$01 - sta gtictl - - lda regA - rti - -.endl - -; --- - -CHANGES = 1 -FADECHR = 0 - -SCHR = 127 - -; --- - -.proc NMI - - bit nmist - bpl VBL - - jmp DLI.dli_start -dliv equ *-2 - -VBL - sta regA - stx regX - sty regY - - sta nmist ;reset NMI flag - - mwa #ant dlptr ;ANTIC address program - - mva #@dmactl(standard|dma|lineX1) dmactl ;set new screen width - - inc cloc ;little timer - -; Initial values - - lda >fnt+$400*$00 - sta chbase -c0 lda #$00 - sta colbak - lda #$02 - sta chrctl - lda #$01 - sta gtictl -c1 lda #$0C - sta color1 -c2 lda #$02 - sta color2 -c3 lda #$0E - sta color3 -x0 lda #$00 - sta hposp0 - sta hposp1 - sta hposp2 - sta hposp3 - sta hposm0 - sta hposm1 - sta hposm2 - sta hposm3 - sta sizep0 - sta sizep1 - sta sizep2 - sta sizep3 - sta sizem - sta colpm0 - sta colpm1 - sta colpm2 - sta colpm3 - sta color0 - - mwa #DLI.dli_start dliv ;set the first address of DLI interrupt - -;this area is for yours routines - jsr play_frame - -quit - lda regA - ldx regX - ldy regY - rti - -.endp - -; --- - ini main -; --- - - ;opt l- - -.MACRO SPRITES -missiles - .ds $100 -player0 - .ds $100 -player1 - .ds $100 -player2 - .ds $100 -player3 - .ds $100 -.ENDM - -USESPRITES = 0 - -.MACRO DLINEW - mva <:1 NMI.dliv - ift [>?old_dli]<>[>:1] - mva >:1 NMI.dliv+1 - eif - - ift :2 - lda regA - eif - - ift :3 - ldx regX - eif - - ift :4 - ldy regY - eif - - rti - - .def ?old_dli = * -.ENDM - diff --git a/artwork/HIMARS14.fnt b/artwork/HIMARS14.fnt deleted file mode 100644 index c80a393af551c7159faec059241df46908058ef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 zcmeHJ-ESOM6+bhxn_1flySAG;QX|ha7*WE5BSa+&TF*KJWavYpe&un4iV$z{3sM@K zopEhsKYD0y4dB)p|NOAEGK$d0pich);Im*2T}R!#aR zp#GffnS1ZK=brC-i9Us<83smv02n4vELuSjN@QHe6*Y>A3ZbYMC`y{;IIb&%2qTGj z8bcmq-Sd3k$NK!`gFWi+6vEH|!ZCXQK?R&^S#cbv*w&ZtXYxZLW;YDh3n#?bDzUw{ zcX0X2v(p)$mrWC79$dzPn%A^UJ;B@g1U?VPIpj-mu{0V=#%cQS`QEryESjcac;#|= zef{=7lsrMtPLE@$ei7EmC7x#sn6m4b0w(`xMP*MA_wAw}GuQF_pxN#vDf^1S{N(v^ zzXpNQiJ15OKq?Nq*$u`=O{3l34VrUNl5_*|r=WNoQgFN~L^@A%#0I-=YJ2M!<}S@A zY^&oUJ`zzR&mq#8LZE5!A`oGFnj}5R%oA>{-iF=^PF+R^97W5ixtN5i(w{PGaL87@ zUcVU#@nNU4wTNi%_Im9bpivxmn+6Mq^dvce+(xU_>2NGrCZ`D}3gog_(d)EYjYh5Z z@Y(#`!$PCs)csH?WwE-NlhkLnsoKu{0-Kf)Pr^Qe>KG=m7@IOEeANgqTyb!_f z6fGhX*ad0&^0k+~GCE`$Ep|eu(^FY5{Q%Qa!9hkHzQNVRHNkN@hN6PiyJ3WNsC_{* zRXi~UqW-u~*(_tT*<{K#hT$&EP*mxY{iX?fRmM}zAe92&^YTMuFqx*~EMGJY`C?RR za2!#y+1%XR>>y6}?|<-t(5T9L)3k`h>~`U9pjK<#|L^{Ox0h7YFu1X~xQy1~Dn6;R z3L65SH#8loO+6qU71iwIObMs8*H3R+z znw_0pSzVn5;2BpIYZfb5m&Sp&N{jUQ9oeei=@YhNTZsGp>F-lE{vs$KR-N7{1YcFtcv`$nbaNVSozsw80} zvG;sGrwx|$iGn`z++%-u;`-S2=*Yhx^tws1ntRHdn0@UG$jR4e;a z&s1TYob(j6!D$bk7|;tk;TE|3r@zx-kxA`m z5c>DOWCPcA*3B#~$SfS+kd8Cm(t`XY9PRbLXvd6N1H1m8#wiK{(5UVoC?5I^}iIu$}1* zhbYQjy>sv?|AFBjhnm7>=N*^gDbs= zQm)lJ0Z#(Zw;>x%nsS~oV;Skhz|#b8oS%jf0!xF8hu9YvW90Ey8gP}BS#VEaP3ndPt$AmSGWVk0L4 z{m z$#h3{0rsrik{=i$yp0y#{QhcwV*v_>e7`;N8<{+VOH%%-bv2jXaCk0bP%GG*y)_`; z=Vd+zm$XzZfTD&012Nlf2fV_|fG{hZNNyVW{(`6HNE`lr?x`7lHa~HCWrR-pPm|}_ z>xK0K8x91gruc7as(hByqg>W9QF$7qlK!Q^qd)x3nLobzY64z7@Vv5qR2v#KhDLw% z`mMij2iqJkE-5FhJFI4gbU{^bu3tRj#0 zf4t+f;I)U4-Jg$yB(Rtv#-j~T10=5;;oZlNSpae+H7!?C54{d;Dbfq*(a<%2diXnQ z6W^t;&wlOd%-}gHuRghec7!~^qXR9e;mB?H`9yuJDIyaIpP#;q)a9Yk@PFlj{{dw( B2vz_9 diff --git a/artwork/HIMARS14.g2f b/artwork/HIMARS14.g2f deleted file mode 100644 index 027136d7a45921e682f2b5b3457b495091bf0914..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3521 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 R>mh(0=14p#VfRxX{|iZ00}=oL diff --git a/artwork/HIMARS14.png b/artwork/HIMARS14.png deleted file mode 100644 index a7c03b22820b83057a94cfebf36a01e15d83a593..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4644 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 diff --git a/artwork/HIMARS14.scr b/artwork/HIMARS14.scr deleted file mode 100644 index cb251a142f17ab8e6dbef03a02987baabdf602eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1120 zcmchV*H%+e5QhKIK|(YINTCJ|(m{yb1QJTHQBvq60hJ^a3!p)Td5^5+Q}8Ojk28Dc zcyKK)ywQDeX3osN&Yo}n1N@U?srb9kR#q9hYDsEp`P3ODGuAiUFkTw1oHf~Owwt$% zk{RvfZ~`taG*b)E>h=I$pV=>GZS6!I=qz;s-Q@29Zr=$60=;+p`c3J;;Lz|0@fjT> z|Gn`Eq9Abp!NW(7pFDjQVqI8iC#Q%aQPGvAXJ~d#vY2Q7`HPpYUY8aYSu?*R!ey?< zrO79eOzC80b!}}O-i^(zZ6KWy9XGOk7hUe`zIpp@FPAUu9~>S@he_Ul`1t9VPJmOU zR4cBms;;T6fNx6JB3idq-zix4(x`fnKd6O*}A&Aq>k6 zBco%C8ZZAH*L@Upv{Yyi2#Er*JDe^CaF=yP@cafL5)|=FImH5*eOwDCf@CmQDHP`Mqti39 zG#4|*Ri3ab@kH`6rAA~A(nOgosl@|(Ipa-mtl7HqOEbS&$CXvc27K(LkIiI--upFAxwgm?7SGNvu4(_T F(l0fh-*^B3 From fd15ed9bb67b79bcb5ea0eaf10c001c9e685c900 Mon Sep 17 00:00:00 2001 From: pkali Date: Thu, 11 Aug 2022 10:57:30 -0400 Subject: [PATCH 77/88] correct song during gameplay and version 1.00 --- artwork/Scorch50.asm | 24 ++++++++++++------------ display.asm | 6 +++--- scorch.asm | 2 +- scorch.xex | Bin 50772 -> 50751 bytes weapons.asm | 2 ++ 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/artwork/Scorch50.asm b/artwork/Scorch50.asm index faf9418..ab5e005 100644 --- a/artwork/Scorch50.asm +++ b/artwork/Scorch50.asm @@ -653,22 +653,22 @@ dli10 lda >fnt+$400*$00 sta wsync ;line=232 sta chbase - DLINEW dli11 1 0 0 + ;DLINEW dli11 1 0 0 lda regA rti -dli11 - sta regA - - lda #>$a000 ; system font - sta wsync ;line=232 - sta chbase - lda #$01 - sta gtictl - - lda regA - rti +;dli11 +; sta regA +; +; lda #>$a000 ; system font +; sta wsync ;line=232 +; sta chbase +; lda #$01 +; sta gtictl +; +; lda regA +; rti .endl diff --git a/display.asm b/display.asm index b85e1f1..a7001cc 100644 --- a/display.asm +++ b/display.asm @@ -101,9 +101,9 @@ dl ; MAIN game display list ;Screen displays go first to avoid crossing 4kb barrier ;----------------------------------------------- OptionsScreen - dta d"Welcome to Scorch ver. " - build ; 3 bytes from scorch.asm (fancy method) :) - dta d" (un)2000-2022" + dta d"Welcome to Scorch v. " + build ; 4 bytes from scorch.asm (fancy method) :) + dta d" (un)2000-2022" dta d" Please select option with cursor keys " dta d" and press (Return) to proceed " OptionsHere diff --git a/scorch.asm b/scorch.asm index 485e28f..6e8d5e6 100644 --- a/scorch.asm +++ b/scorch.asm @@ -36,7 +36,7 @@ ;we decided it must go in 'English' to let other people work on it .macro build - dta d"148" ; number of this build (3 bytes) + dta d"1.00" ; number of this build (3 bytes) .endm icl 'definitions.asm' diff --git a/scorch.xex b/scorch.xex index 66f3718eb4a07ccdb19ce701e6ca5105ea3e42c7..5a98348e748ad737069e7f304f5571dc45ef74aa 100644 GIT binary patch delta 15913 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 diff --git a/weapons.asm b/weapons.asm index 17fdd6f..36fc466 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1210,6 +1210,8 @@ callInventory ; mva #$ff isInventory jsr Purchase + lda #song_ingame + jsr RmtSongSelect mva #0 escFlag jsr DisplayStatus jsr SetMainScreen From bc65dafdacc8ec61bdd9accd0ad6c481b570927c Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 11 Aug 2022 18:21:45 +0200 Subject: [PATCH 78/88] Long Schlong new price and SFX and minor fix --- artwork/Scorch50.scr | Bin 0 -> 1200 bytes artwork/sfx/feat.old | 41 +++++++++++++++++++++++++++++++++++ artwork/sfx/feat.txt | 4 ++-- artwork/sfx/schorch_str2.rmt | Bin 0 -> 3740 bytes constants.asm | 12 +++++----- definitions.asm | 3 ++- grafproc.asm | 1 + scorch.asm | 2 +- scorch.xex | Bin 50751 -> 50876 bytes textproc.asm | 1 + weapons.asm | 3 +++ 11 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 artwork/Scorch50.scr create mode 100644 artwork/sfx/feat.old create mode 100644 artwork/sfx/schorch_str2.rmt diff --git a/artwork/Scorch50.scr b/artwork/Scorch50.scr new file mode 100644 index 0000000000000000000000000000000000000000..b1b3d7f69359c24dfa8604d3c97ae9f797c9705e GIT binary patch literal 1200 zcmbtU=~og_6n`zR=@mBxLLhCT(hA6=XmMewKuasN&{kUvTG)Ik0@`-`GKWw83-h=3 zmRT5t6X$rp%=VkP_x_eaM~)slj!!5j$*I#WI5RNl_IS_whWvrxx#5xX>V?q7OP5E- zu3Wtqjzq7I-4C9OL=!dS$3mEZR0dRQAUJ literal 0 HcmV?d00001 diff --git a/artwork/sfx/feat.old b/artwork/sfx/feat.old new file mode 100644 index 0000000..cdab946 --- /dev/null +++ b/artwork/sfx/feat.old @@ -0,0 +1,41 @@ +STEREOMODE equ 0 +;* --------BEGIN-------- +;* C:\Atari\rmt\rmt128\schorch_str.rmt +FEAT_SFX equ 1 +FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable +FEAT_NOSTARTINGSONGLINE equ 0 +FEAT_INSTRSPEED equ 1 +FEAT_CONSTANTSPEED equ 0 ;(19 times) +FEAT_COMMAND1 equ 1 ;(18 times) +FEAT_COMMAND2 equ 0 ;(0 times) +FEAT_COMMAND3 equ 0 ;(0 times) +FEAT_COMMAND4 equ 0 ;(0 times) +FEAT_COMMAND5 equ 0 ;(0 times) +FEAT_COMMAND6 equ 0 ;(0 times) +FEAT_COMMAND7SETNOTE equ 0 ;(0 times) +FEAT_COMMAND7VOLUMEONLY equ 0 ;(0 times) +FEAT_PORTAMENTO equ 0 ;(0 times) +FEAT_FILTER equ 1 ;(44 times) +FEAT_FILTERG0L equ 1 ;(13 times) +FEAT_FILTERG1L equ 1 ;(22 times) +FEAT_FILTERG0R equ 0 ;(0 times) +FEAT_FILTERG1R equ 0 ;(0 times) +FEAT_BASS16 equ 0 ;(0 times) +FEAT_BASS16G1L equ 0 ;(0 times) +FEAT_BASS16G3L equ 0 ;(0 times) +FEAT_BASS16G1R equ 0 ;(0 times) +FEAT_BASS16G3R equ 0 ;(0 times) +FEAT_VOLUMEONLYG0L equ 0 ;(0 times) +FEAT_VOLUMEONLYG2L equ 0 ;(0 times) +FEAT_VOLUMEONLYG3L equ 0 ;(0 times) +FEAT_VOLUMEONLYG0R equ 0 ;(0 times) +FEAT_VOLUMEONLYG2R equ 0 ;(0 times) +FEAT_VOLUMEONLYG3R equ 0 ;(0 times) +FEAT_TABLETYPE equ 0 ;(0 times) +FEAT_TABLEMODE equ 0 ;(0 times) +FEAT_TABLEGO equ 1 ;(1 times) +FEAT_AUDCTLMANUALSET equ 1 ;(6 times) +FEAT_VOLUMEMIN equ 0 ;(0 times) +FEAT_EFFECTVIBRATO equ 1 ;(3 times) +FEAT_EFFECTFSHIFT equ 1 ;(11 times) +;* --------END-------- diff --git a/artwork/sfx/feat.txt b/artwork/sfx/feat.txt index cdab946..cd2326c 100644 --- a/artwork/sfx/feat.txt +++ b/artwork/sfx/feat.txt @@ -1,6 +1,6 @@ STEREOMODE equ 0 ;* --------BEGIN-------- -;* C:\Atari\rmt\rmt128\schorch_str.rmt +;* C:\Atari\rmt\rmt128\schorch_str2.rmt FEAT_SFX equ 1 FEAT_GLOBALVOLUMEFADE equ 0 ;RMTGLOBALVOLUMEFADE variable FEAT_NOSTARTINGSONGLINE equ 0 @@ -33,7 +33,7 @@ FEAT_VOLUMEONLYG2R equ 0 ;(0 times) FEAT_VOLUMEONLYG3R equ 0 ;(0 times) FEAT_TABLETYPE equ 0 ;(0 times) FEAT_TABLEMODE equ 0 ;(0 times) -FEAT_TABLEGO equ 1 ;(1 times) +FEAT_TABLEGO equ 1 ;(2 times) FEAT_AUDCTLMANUALSET equ 1 ;(6 times) FEAT_VOLUMEMIN equ 0 ;(0 times) FEAT_EFFECTVIBRATO equ 1 ;(3 times) diff --git a/artwork/sfx/schorch_str2.rmt b/artwork/sfx/schorch_str2.rmt new file mode 100644 index 0000000000000000000000000000000000000000..1c893ac0b0cf4aaa540da6eba841f725a331705d GIT binary patch literal 3740 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 delta 16197 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 K{@2F+?EeGA8V0if diff --git a/textproc.asm b/textproc.asm index 7093f99..624071c 100644 --- a/textproc.asm +++ b/textproc.asm @@ -840,6 +840,7 @@ NotBattery cmp #ind_Long_Barrel____ bne NotBarrel ; if activate long barrel, we do it differently too + mva #sfx_long_barrel sfx_effect mva #LongBarrel BarrelLength,x bne DecreaseDefensive ; bypass activation NotBarrel diff --git a/weapons.asm b/weapons.asm index 36fc466..e29d5f6 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1210,11 +1210,14 @@ callInventory ; mva #$ff isInventory jsr Purchase + mva #0 dmactls ; dark screen + jsr WaitOneFrame lda #song_ingame jsr RmtSongSelect mva #0 escFlag jsr DisplayStatus jsr SetMainScreen + jsr WaitOneFrame jsr DrawTanks jsr WaitForKeyRelease jmp BeforeFire From 25ed106e024485f52b15f52ffb9f4569eb700dde Mon Sep 17 00:00:00 2001 From: Pecusx Date: Thu, 11 Aug 2022 21:23:34 +0200 Subject: [PATCH 79/88] Financial bonus for the winner --- scorch.asm | 10 +++++++++- scorch.xex | Bin 50876 -> 50890 bytes 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/scorch.asm b/scorch.asm index 1edd290..f03b425 100644 --- a/scorch.asm +++ b/scorch.asm @@ -237,7 +237,15 @@ CalculateGains ; Important! If player has 10 energy and gets a central hit ; from nuke that would take 90 energy points, his loss ; is 90, not 10 - + + ; adding the remaining energy of the tank to gain + ; winner gets more ! :) + lda Energy,x + adc gainL,x + sta gainL,x + bcc @+ + inc gainH,x +@ ; add gain * 2 asl gainL,x rol gainH,x diff --git a/scorch.xex b/scorch.xex index 0149cdaebfaebc5259e9f9f7c0ec1f33fdecc1bb..ebde84251e660c5ec1f018b86ff28f70fecde204 100644 GIT binary patch delta 16471 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 XD}$pgF*#yD6rSEX{`K6~rVaXEv_$iF delta 16575 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 MANh*= Date: Thu, 11 Aug 2022 22:52:16 +0200 Subject: [PATCH 80/88] Polish instruction --- instrukcjaPL.txt | 156 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 instrukcjaPL.txt diff --git a/instrukcjaPL.txt b/instrukcjaPL.txt new file mode 100644 index 0000000..1a7236d --- /dev/null +++ b/instrukcjaPL.txt @@ -0,0 +1,156 @@ +Podstawowa instrukcja: + +Grać można przy użyciu klawiatury (wszystkie funkcjonalności) lub joysticka (wszystkie funkcjonalności niezbędne w rozgrywce). + +1 Wybór opcji gry. +Na pierwszym ekranie możemy skonfigurować opcje rozgrywwki: +- ilość graczy (2 - 6) obejmuje tak ludzi jak graczy sterowanych przez komputer +- początkową ilość gotówki każdego z graczy (8k to wybrana przez nas wartość optymalna, jecz przy krótkich rozgrywkach warto wybrać większą wartość) +- grawitacja +- maksymalna siła wiatru (wiatr jest losowany na początku każdej z rund, tu możemy wybrać jak silny może być) +- ilość rozgrywanych rund +- szybkość lotu pocisków (nie ma wpływu na tor lotu - zmienia jedynie widoczną prędkość rysowania - nie zmienia nic w samej rozgrywce) +- częstotliwość samobójstw :) - jeśli przez ileś tur gra nie odnotowała trafień (czołgi ciągle strzelają niecelnie) jeden z takich pudłujących czołgów popełnia samobójstwo - tu określamy jak długo mogą “strzelać w próżnię” :) - jeśli grają tylko ludzie optymalne ustawienie to “norm”, w przypadku graczy sterowanych przez komputer… wedle uznania. +- wysokość (i pofałdowanie) gór od prawie płaskich (NL), do strzelistych i wysokich (NP) +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 joysticjiem wybrać czy danym czołgiem będzie kierował człowiek (opcja HUMAN) czy też kompute (pozostałe opcje). Jednocześnie z klawiatury można wprowadzić nazwę wybranego gracza. +Po naciśnięciu klawisza Return lub przycisku Joysticka ekran przechodzi na następnego gracza aż zostaną wybrane poziomy trudności dla każdego z nich. +Jeśli nazwa nie zostanie wpisana (bo np operujemy wyłącznie joystickiem), to zostanie uzupełniona nazwą domyślną. + +3. Ekran zakupów (przed każdą rundą) +Na tym ekranie można dokonywać zakupów broni ofensywnych i defensywnych. Widoczne są tylko te bronie na które gracza stać wraz z informacją o cenie i ilości jednostek danej broni, którą za ten cenę otrzymamy. Informacje na ekranie nie wymagają chyba więcej opisu. Po listach poruszamy się klawiszami kursora (góra i dół) lub joystickiem, klawisz TAB lub strzałka w lewo czy też ruch joystickiem w lewo zmieniają ekran na bronie defensywne lub ofensywne, klawisz SPACJA lub strzałka w prawo a także joystick w prawo realizują zakup wskazanej broni. +Klawisz RETURN lub przycisk joysticka przechodzi do ekranu zakupów następnego gracza. +(oczywiście dla graczy komputerowych ten ekran się nie pojawia) + +4. Główny ekran gry +W linii statusowej widoczna jest informacja o tym który z graczy aktualnie może oddać strzał oraz zestaw innych informacji: +- nazwa czołgu gracza +- wybrana aktualnie broń ofensywna +- pozostała ilość punktów energii gracza i jeśli ma on aktywną broń defensywną posiadającą swój zasób energii - w nawiasie ten zasób +- ustawiony przez gracza kąt nachylenia lufy i kierunek jej nachylenia +- ustawiona przez gracza siła strzału (maksymalna siła strzału jest ograniczana przez energię gracza - nie może przekroczyć energii * 10 . Oznacza to, że mając małą ilość energii możemy oddać słabsze strzały +- numer aktualnej rundy rozgrywki +- prędkość i kierunek wiatru +- w nawiasie nazwę aktywnej broni defensywnej - jeśli jest jakaś aktywowana przez gracz +Tutaj klawiszologia jest prosta, klawisze kursora lub joustick: lewo/prawo - zmiana kąta nachylenia lufy, góra/dół - zmiana ustawienia siły strzału. +SPACJA lub przycisk joysticka naciśnięte krótko - oddanie strzału +TAB - wybór broni ofensywnej (ta opcja nie jest dostępna bezpośredni joystickiem - trzeba wybrać Inventory) +klawisz I lub dłuższe przytrzymanie przycisku joysticka - przejście do Inventory +Inventory to ekran (a w zasadzie dwa) bliźniaczo podobny do ekranu zakupów. Zasady poruszania się są identyczne z tym że tu nie kupujemy broni, ale wybieramy jedną z ofensywnych, którą będziemy strzelać lub aktywujemy broń defensywną. +Klawisz M - wyłączenie/włączenie muzyki w tle +Klawisz S - wyłączenie/włączenie dźwięków efektów. + +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). + + +A tutaj zręby opisu działania poszczególnych broni, zasad punktacji itp: + +—----------------------- + +Najpierw co wiemy o energii czołgów +- Czołgi mają energię (a Ogry warstwy - jak cebula) - na starcie 99 jednostek +- Energii czołgom ubywa na 3 sposoby: +1. 1 jednostka po oddaniu każdego strzału +2. w czasie spadania (jeden piksel w dół 2 jednostki) +3. w chwili trafienia w czołg lub obok niego jakiegoś pocisku - i tu ilość odejmowanej energii zależy od odległości od centrum eksplozji i typu/siły rażenia pocisku. + +Jak działa odejmowanie energii (i zarabianie kasy!) +Po każdej rundzie wyliczana jest ilość zdobytych/straconych pieniędzy robione jest to na podstawie dwóch zmiennych gromadzonych przez każdy z czołgów w trakcie rundy. Te zmienne to: +gain - energia "przechwycona" od trafionych czołgów (także jeśli trafimy w samego siebie :) i tu haczyk, jeśli pozostało nam bardzo mało energii opłacalne może być trafienie w siebie mocną bronią! +loose - energia stracona w wyniku eksplozji/upadku (i tu ważne liczona jest całkowita utrata energii nawet jeśli czołg ma w chwili trafienia mniej). +Dodatkowo czołg który wygrał rundę ma parametr gain (przechwyconej od trafionych czołgów energii) zwiększany o pozostałą mu na koniec rundy energię (bo nie zginął i powinien ją mieć - choć bywa też inaczej :) ) + +Konkretnie: +Po każdej rundzie: +money = money + (2 * (gain+energy)) +money = money - loose +if money <0 then money=0 + +(na starcie każdej rundy gain i loose mają wartość 0) + +W czasie rundy, jeśli w wyniku strzału oddanego przez czołg inny czołg zostanie trafiony, czołg oddający strzał "dostaje energię" zabraną czołgowi trafionemu. +czołg oddający strzał: +gain = gain + EnergyDecrease +czołg trafiony: +loose = loose + EnergyDecrease + +gdzie EnergyDecrease to utrata energii w wyniku trafienia. + +Oczywiście jednocześnie trafiony czołg traci ilość energii zapisaną w EnergyDecrease, z tym że tutaj strata nie może przekroczyć posiadanej energii. + +Uwaga! Ekranowa reprezentacja pieniędzy ma na końcu dopisane dodatkowe 0 więc faktyczne mamy 10 razy więcej kasy niż wynika z powyższych obliczeń :) + +Jak działa trafienie. +Każda broń, która skutkuje eksplozją, ma swój promień rażenia (ExplosionRadius). +Po eksplozji każdy czołg w jej zasięgu traci energię. +Działa to tak, że obliczana jest odległość trafianego czołgu od centrum eksplozji, zmniejszony o tę odległość ExplosionRadius jest mnożony przez 8 i w wyniku otrzymujemy EnergyDecrease. +Czyli w przypadku trafienia centralnie w czołg: +EnergyDecrease = ExplosionRadius * 8 +a z każdym pikselem dalej od centrum ubywa o 8 jednostek mniej. +Nie wiem czy to zrozumiałe - ja rozumiem :) +Przykładowo, jeśli czołg zostanie trafiony centralnie przy pomocy Baby Missile - odejmowane jest mu 88 jednostek energii (11 * 8), co także oznacza, że przy trafieniu tym pociskiem w odległości 12 pikseli od czołgu - nie traci on energii wcale. + +A oto wartości promienia rażenia (ExplosionRadius) dla poszczególnych broni: + +Baby Missile - 11 +Missile - 17 +Baby Nuke - 25 +Nuke - 31 +LeapFrog - 17 15 13 +Funky Bomb - 21 11 (* 5) +MIRV - 17 (* 5) +Death's Head - 31 (* 5) +Napalm - x 40 (ta broń jest inna i nie jest wyznaczana odległość od centrum, po prostu każdy czołg znajdujący się w zasięgu płomieni traci 40 jednostek energii - zmienna ExplosionRadius nie jest używana) +Hot Napalm - x 80 (zasada taka jak w Napalm) +Baby Roller - 11 +Roller - 21 +Heavy Roller - 31 +Riot Charge - 31 +Riot Blast - 0 (tak na prawdę - 61 ale przy tych broniach nie jest brana pod uwagę przy liczeniu ubytku energii tylko szerokości gruntu do opadnięcia) +Riot Bomb - 17 +Heavy Riot Bomb - 29 +Baby Digger - 0 (60 - jak w Riot Blast) +Digger - 0 (60 - jak wyżej) +Heavy Digger - 0 (60 - jak wyżej) +Baby Sandhog - 0 (60 - jak wyżej) +Sandhog - 0 (60 - jak wyżej) +Heavy Sandhog - 0 (60 - jak wyżej) +Dirt Clod - 12 +Dirt Ball - 22 +Ton of Dirt - 31 +Liquid Dirt - 0 (może warto to zmienić?) +Dirt Charge - 0 (61 - jak wyżej) +Laser - x 100 (ale tu także jest inaczej - równo 100 tylko w przypadku bezpośredniego trafienia, zmienna ExplosionRadius nie jest używana, więc nie ma mnożenia przez 8 - po prostu odejmujemy 100 jednostek energii - czyli czołg zawsze ginie). + + +Duże punkty otrzymane przez gracza to ilość czołgów, które zginęły wcześniej niż on. Jeśli któryś z innych czołgów skapitulował wcześniej (Biała Flaga) nie jest doliczany do tych które zginęły i nie daje punktów. +Tylko te punkty decydują o kolejności w podsumowaniu + + +A teraz bronie defensywne: +White Flag - powoduje poddanie gracza (może czasem przydać się w sytuacji beznadziejnej). Zaletą jest to, że poddając się nie dajemy dużego punktu przeciwnikom i nie powodujemy, że któryś zyska na tym, że nas zgładzi, ograniczamy też stratę swojej energii czyli także kasy. I tu także ważna uwaga - to jedyna broń defensywna, którą można deaktywować. Wystarczy ponownie wejść do inventory i jeszcze raz wybrać jej aktywację. +Battery - w momencie aktywacji doładowuje energię czołgu do pełna (99 jednostek) i jednocześnie jest to jedyna broń defensywna, która nie deaktywuje innych broni defensywnych w przypadku jej użycia. +Parachute - nie chroni przed ubytkiem energii z powodu sąsiedniej eksplozji, powoduje że nie ubywa energii w czasie JEDNEGO spadania. Po takim upadku deaktywuje się i trzeba aktywować nowy spadochron. +Shield - najprostsza osłona działa dokładnie przeciwnie niż Parachute, nie chroni przed ubytkiem energii w czasie spadania, chroni za to przed ubytkiem energii spowodowanym JEDNĄ sąsiednią eksplozją. Chroni jednorazowo, bez znaczenia jak silna jest eksplozja (czy jest to tylko "draśnięcie", czy też bezpośrednie trafienie atomówką) i od razu po niej deaktywuje się. +Heavy Shield - osłona z własną energią (na starcie 99 jednostek), działa tak samo jak Shield (nie chroni przed upadkiem) z tym wyjątkiem, że ma własny zasób energii. Przy eksplozji w pierwszej kolejności zmniejszana jest energia tej osłony i jeśli dojdzie ona do 0 to osłona deaktywuje się i dalej zmniejszana jest energia czołgu. W związku z takim działaniem, czołg z tym typem osłony można "zabić" podkopując go, bo spadanie zmniejsza energię czołgu a nie osłony. +Force Shield - najmocniejsza osłona - działa tak jak Heavy Shield tyle że połączona z Parachute. Co ważne w jej przypadku upadek nie zabiera energii osłonie ani czołgowi. Zabierają ją tylko trafienia. +Bouncy Castle - broń agresywna :) . Działa następująco. W przypadku bezpośredniego trafienia w czołg (i osłonę) powoduje "odbicie" pocisku w przeciwnym kierunku z tą samą siłą z jaką był wystrzelony. W przypadku braku wiatru i różnicy poziomów broń trafia wtedy w czołg, który ją wystrzelił. Po takim odbiciu deaktywuje się. W związku z tym, że broń ta reaguje w ten sposób tylko na precyzyjne trafienia, jest także osłoną odpowiadającą działaniu Heavy Shield i ma na starcie 99 jednostek (prawdopodobnie trzeba będzie przemyśleć tę wartość i dać tu mniejszą). +Mag Deflector - druga broń agresywna :) . W przypadku bezpośredniego trafienia w czołg (i osłonę) powoduje przesunięcie punktu trafienia losowo w lewo lub prawą stronę chronionego czołgu, ale niezbyt daleko, więc można dostać "odłamkiem" przy silniejszej broni. Tak jak w przypadku Bouncy Castle jest także osłoną odpowiadającą działaniu Heavy Shield i ma na starcie 99 jednostek (prawdopodobnie i tutaj trzeba będzie przemyśleć tę wartość i dać mniejszą). +Nuclear Winter - nic nie dodaje, nic nie zabiera :) - w zasadzie to broń nie tyle defensywna co obosieczna. Zasypuje teren opadem "radioaktywnym", który jest zwyczajną glebą. Jeśli nie mamy pod ręką żadnej broni odkopującej teren i do tego osłony (najlepiej jednorazowej), to po takim "opadzie" będzie trzeba strzelić do siebie - bo będąc pod ziemią inaczej się nie da. Ewentualnie pozostaje zawsze White Flag. +Long Schlong - broń specjalna :) - kosztuje dużo, nie bardzo w czymkolwiek pomaga (poza ewentualnym odkopaniem się ale tylko przy niewielkim przysypaniu ale fanie się nazywa i wygląda :) - Można ją aktywować niezależnie od innych broni defensywnych i pozostaje aktywna do końca rundy (nie da się jej deaktywować). + +W związku z odmiennym działaniem broni MIRV, Auto Defense i Mag Deflector wykorzystują tylko funkcję osłony przy trafieniu tą bronią. + +Dodatkowo, żadna z osłon nie chroni przed Napalmem. Auto Defense czy Mag Deflector przy bezpośrednim trafieniu odbije je lub przeniesie obok, ale wystarczy trafić bardzo blisko czołgu i nie zadziała jego osłona. + +Bronie White Flag i Nuclear Winter po aktywacji wymagają uruchomienia, jest to realizowanie przez "oddanie strzału" po aktywacji tej broni. Oczywiście strzał bronią ofensywną nie jest wtedy oddawany, a jedynie uruchamiana jest wybrana broń defensywna. + +Można mieć aktywną tylko jedną broń defensywną w danej chwili (za wyjątkiem Long Schlong oczywiście :) ). Zawsze przed oddaniem strzału możemy zmienić decyzję i aktywować inną broni defensywną czy też dezaktywować White Flag. +Oczywiście aktywacja broni w momencie kiedy mamy już aktywowaną jakąś inną powoduje utratę tej poprzedniej (nie ma zwrotów :) ). + + + + From 2820f664678c8f566be7b9ad9e958107fac1e543 Mon Sep 17 00:00:00 2001 From: pkali Date: Thu, 11 Aug 2022 22:28:23 -0400 Subject: [PATCH 81/88] credits updt --- constants.asm | 8 ++++---- scorch.xex | Bin 50890 -> 50925 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/constants.asm b/constants.asm index af39038..98ed096 100644 --- a/constants.asm +++ b/constants.asm @@ -622,10 +622,10 @@ CreditsStart dta d"Tomasz 'Pecus' Peck",d"o"* dta d"Pawel 'pirx' Kalinowsk",d"i"* dta d" "* - dta d"SFX and Musi",d"c"* + dta d"SFX, Music and Suppor",d"t"* dta d"Michal 'Miker' Szpilowsk",d"i"* dta d" "* - dta d"Additional musi",d"c"* + dta d"Additional Musi",d"c"* dta d"Mario 'Emkay' Kri",d"x"* dta d" "* dta d"Code Optimizatio",d"n"* @@ -638,8 +638,8 @@ CreditsStart dta d"Ideas and Q",d"A"* dta d"Bocianu, Probabilitydragon, EnderDude",d","* dta d"Beeblebrox, KrzysRog, lopezpb, Dracon",d","* - dta d"brad-colbert, archon800",d","* - dta d"Shaggy the Ataria",d"n"* + dta d"brad-colbert, archon800, nowy80",d","* + dta d"Shaggy the Atarian, RetroBorsuk, ZP",d"H"* dta d" "* dta d"Stay tuned for the FujiNet version",d"!"* dta d" "* diff --git a/scorch.xex b/scorch.xex index ebde84251e660c5ec1f018b86ff28f70fecde204..115752d8d5646e41fcbee9d1fd0fd072cab10de9 100644 GIT binary patch delta 14961 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 F{2$gtG*kcp delta 14919 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 OuA3`w&wMYC^8W#l$V!I* From 710570ae8a2cdbe825173fb374fc659e98067af5 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 12 Aug 2022 13:40:04 +0200 Subject: [PATCH 82/88] Press O to Game Over and small bugfix --- scorch.asm | 22 ++++++++++++---------- scorch.xex | Bin 50925 -> 50948 bytes textproc.asm | 22 +++++++++++----------- variables.asm | 2 +- weapons.asm | 13 +++++++++++-- 5 files changed, 35 insertions(+), 24 deletions(-) diff --git a/scorch.asm b/scorch.asm index f03b425..16efc67 100644 --- a/scorch.asm +++ b/scorch.asm @@ -175,14 +175,14 @@ START jsr Options ;startup screen mva #0 dmactls ; dark screen jsr WaitOneFrame - lda escFlag - bne START + bit escFlag + bmi START jsr EnterPlayerNames mva #0 dmactls ; dark screen jsr WaitOneFrame - lda escFlag - bne START + bit escFlag + bmi START jsr RandomizeSequence ; for the round #1 shooting sequence is random @@ -199,8 +199,9 @@ MainGameLoop jsr RoundInit jsr MainRoundLoop - lda escFlag - bne START + bit escFlag + bmi START + jvs GoGameOver mva #0 TankNr ; @@ -316,6 +317,7 @@ eskipzeroing lda GameIsOver beq NoGameOverYet +GoGameOver mva #0 dmactls ; dark screen jsr WaitOneFrame jsr GameOverScreen @@ -514,8 +516,8 @@ RoboTanks cmp #28 ; ESC bne @+ jsr AreYouSure - lda escFlag - seq:rts + bit escFlag + spl:rts @ jmp AfterManualShooting @@ -525,7 +527,7 @@ ManualShooting jsr WaitForKeyRelease jsr BeforeFire lda escFlag - seq:rts + seq:rts ; keys Esc or O AfterManualShooting mva #0 plot4x4color @@ -1459,7 +1461,7 @@ nextishigher and #$3f ;CTRL and SHIFT ellimination cmp #28 ; ESC bne getkeyend - mvx #1 escFlag + mvx #$80 escFlag bne getkeyend checkJoyGetKey diff --git a/scorch.xex b/scorch.xex index 115752d8d5646e41fcbee9d1fd0fd072cab10de9..d490e935d8442c118f08c975d887d25842dfefb2 100644 GIT binary patch delta 16602 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 M{x7%k?-cg^UzIY?)&Kwi delta 16391 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 K&%T&D^#22USFy+d diff --git a/textproc.asm b/textproc.asm index 624071c..55311dd 100644 --- a/textproc.asm +++ b/textproc.asm @@ -63,8 +63,8 @@ OptionsMainLoop jsr OptionsInversion jsr getkey - ldx escFlag - seq:rts + bit escFlag + spl:rts cmp #$f ;cursor down bne OptionsNoDown @@ -255,7 +255,7 @@ OptionsYLoop ManualPurchase jsr Purchase ldx escFlag - seq:rts + spl:rts AfterManualPurchase inc:lda TankNr @@ -658,8 +658,8 @@ ChoosingItemForPurchase jsr PutLitteChar ; Places pointer at the right position jsr getkey - ldx escFlag - seq:jmp WaitForKeyRelease ; like jsr ... : rts + bit escFlag + spl:jmp WaitForKeyRelease ; like jsr ... : rts cmp #$2c ; Tab jeq ListChange cmp #$06 ; cursor left @@ -1025,8 +1025,8 @@ NoArrowDown lda TankStatusColoursTable,x sta colpf2s ; set color of player name line jsr EnterPlayerName - lda escFlag - seq:rts + bit escFlag + spl:rts inc TankNr lda TankNr cmp NumberOfPlayers @@ -1085,8 +1085,8 @@ endOfTankName CheckKeys jsr getkey - ldx escFlag - seq:rts + bit escFlag + spl:rts ; is the char to be recorded? ldx #keycodesEnd-keycodes ;table was 38 chars long @@ -1614,11 +1614,11 @@ EndOfTypeLine4x4 jsr GetKey cmp #$2b ; "Y" bne @+ - mva #1 escFlag + mva #$80 escFlag bne skip01 @ mva #0 escFlag - jsr WaitForKeyRelease skip01 + jsr WaitForKeyRelease ;clean mva #3 di diff --git a/variables.asm b/variables.asm index 4ca5481..4e367e8 100644 --- a/variables.asm +++ b/variables.asm @@ -352,7 +352,7 @@ TankTempY ;---------------------------------------------------- singleRoundVars ;-------------- -escFlag .ds 1 +escFlag .ds 1 ; 0 - Esc or O not pressed, $80 - Esc pressed, $40 - O pressed ;-------------- CurrentResult .DS 1 diff --git a/weapons.asm b/weapons.asm index e29d5f6..a04e04c 100644 --- a/weapons.asm +++ b/weapons.asm @@ -1191,11 +1191,20 @@ notpressed lda kbcode and #%10111111 ; SHIFT elimination + cmp #$08 ; O + bne @+ + jsr AreYouSure + bit escFlag + bpl notpressed + ;---O pressed-quit game to game over screen--- + mva #$40 escFlag + rts +@ cmp #28 ; ESC bne @+ jsr AreYouSure - lda escFlag - beq notpressed + bit escFlag + bpl notpressed ;---esc pressed-quit game--- rts From 4cd864e47e89fc34676cdd5b4e45bdf865c85c65 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 12 Aug 2022 13:44:05 +0200 Subject: [PATCH 83/88] Polish manual update --- instrukcjaPL.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/instrukcjaPL.txt b/instrukcjaPL.txt index 1a7236d..fa252c4 100644 --- a/instrukcjaPL.txt +++ b/instrukcjaPL.txt @@ -42,6 +42,7 @@ klawisz I lub dłuższe przytrzymanie przycisku joysticka - przejście do Invent Inventory to ekran (a w zasadzie dwa) bliźniaczo podobny do ekranu zakupów. Zasady poruszania się są identyczne z tym że tu nie kupujemy broni, ale wybieramy jedną z ofensywnych, którą będziemy strzelać lub aktywujemy broń defensywną. Klawisz M - wyłączenie/włączenie muzyki w tle Klawisz S - wyłączenie/włączenie dźwięków efektów. +Klawisz O - wymuszenie zakończenia gry (Game Over). W podsumowaniu wyników nie jest brana pod uwagę przerwana właśnie runda rozgrywki, a wyłąćznie rundy zakończone wcześniej. Odpowiada to wciśnięciu klawisza Esc ztą róznicą, że wyświetlane jest podsumowanie oraz creditsy. 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). From 224588eaa95658c9f27ad6e13309e164341e0c5c Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 12 Aug 2022 13:49:25 +0200 Subject: [PATCH 84/88] Manual PL fix :) --- instrukcjaPL.txt | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/instrukcjaPL.txt b/instrukcjaPL.txt index fa252c4..de7314f 100644 --- a/instrukcjaPL.txt +++ b/instrukcjaPL.txt @@ -13,16 +13,16 @@ Na pierwszym ekranie możemy skonfigurować opcje rozgrywwki: - częstotliwość samobójstw :) - jeśli przez ileś tur gra nie odnotowała trafień (czołgi ciągle strzelają niecelnie) jeden z takich pudłujących czołgów popełnia samobójstwo - tu określamy jak długo mogą “strzelać w próżnię” :) - jeśli grają tylko ludzie optymalne ustawienie to “norm”, w przypadku graczy sterowanych przez komputer… wedle uznania. - wysokość (i pofałdowanie) gór od prawie płaskich (NL), do strzelistych i wysokich (NP) 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 Drugi ekran powtarza się dla każdego z graczy można na nim klawiszami kursora lub joysticjiem wybrać czy danym czołgiem będzie kierował człowiek (opcja HUMAN) czy też kompute (pozostałe opcje). Jednocześnie z klawiatury można wprowadzić nazwę wybranego gracza. -Po naciśnięciu klawisza Return lub przycisku Joysticka ekran przechodzi na następnego gracza aż zostaną wybrane poziomy trudności dla każdego z nich. +Po naciśnięciu klawisza [RETURN] lub przycisku Joysticka ekran przechodzi na następnego gracza aż zostaną wybrane poziomy trudności dla każdego z nich. Jeśli nazwa nie zostanie wpisana (bo np operujemy wyłącznie joystickiem), to zostanie uzupełniona nazwą domyślną. 3. Ekran zakupów (przed każdą rundą) -Na tym ekranie można dokonywać zakupów broni ofensywnych i defensywnych. Widoczne są tylko te bronie na które gracza stać wraz z informacją o cenie i ilości jednostek danej broni, którą za ten cenę otrzymamy. Informacje na ekranie nie wymagają chyba więcej opisu. Po listach poruszamy się klawiszami kursora (góra i dół) lub joystickiem, klawisz TAB lub strzałka w lewo czy też ruch joystickiem w lewo zmieniają ekran na bronie defensywne lub ofensywne, klawisz SPACJA lub strzałka w prawo a także joystick w prawo realizują zakup wskazanej broni. -Klawisz RETURN lub przycisk joysticka przechodzi do ekranu zakupów następnego gracza. +Na tym ekranie można dokonywać zakupów broni ofensywnych i defensywnych. Widoczne są tylko te bronie na które gracza stać wraz z informacją o cenie i ilości jednostek danej broni, którą za ten cenę otrzymamy. Informacje na ekranie nie wymagają chyba więcej opisu. Po listach poruszamy się klawiszami kursora (góra i dół) lub joystickiem, klawisz [TAB] lub strzałka w lewo czy też ruch joystickiem w lewo zmieniają ekran na bronie defensywne lub ofensywne, klawisz [SPACJA] lub strzałka w prawo a także joystick w prawo realizują zakup wskazanej broni. +Klawisz [RETURN] lub przycisk joysticka przechodzi do ekranu zakupów następnego gracza. (oczywiście dla graczy komputerowych ten ekran się nie pojawia) 4. Główny ekran gry @@ -36,15 +36,15 @@ W linii statusowej widoczna jest informacja o tym który z graczy aktualnie moż - prędkość i kierunek wiatru - w nawiasie nazwę aktywnej broni defensywnej - jeśli jest jakaś aktywowana przez gracz Tutaj klawiszologia jest prosta, klawisze kursora lub joustick: lewo/prawo - zmiana kąta nachylenia lufy, góra/dół - zmiana ustawienia siły strzału. -SPACJA lub przycisk joysticka naciśnięte krótko - oddanie strzału -TAB - wybór broni ofensywnej (ta opcja nie jest dostępna bezpośredni joystickiem - trzeba wybrać Inventory) -klawisz I lub dłuższe przytrzymanie przycisku joysticka - przejście do Inventory -Inventory to ekran (a w zasadzie dwa) bliźniaczo podobny do ekranu zakupów. Zasady poruszania się są identyczne z tym że tu nie kupujemy broni, ale wybieramy jedną z ofensywnych, którą będziemy strzelać lub aktywujemy broń defensywną. -Klawisz M - wyłączenie/włączenie muzyki w tle -Klawisz S - wyłączenie/włączenie dźwięków efektów. -Klawisz O - wymuszenie zakończenia gry (Game Over). W podsumowaniu wyników nie jest brana pod uwagę przerwana właśnie runda rozgrywki, a wyłąćznie rundy zakończone wcześniej. Odpowiada to wciśnięciu klawisza Esc ztą róznicą, że wyświetlane jest podsumowanie oraz creditsy. +[SPACJA] lub przycisk joysticka naciśnięte krótko - oddanie strzału +[TAB] - wybór broni ofensywnej (ta opcja nie jest dostępna bezpośrednio joystickiem - trzeba wybrać Inventory) +klawisz [I] lub dłuższe przytrzymanie przycisku joysticka - przejście do Inventory +Inventory to ekran (a w zasadzie dwa) bliźniaczo podobny do ekranu zakupów. Zasady poruszania się są identyczne z tym, że tu nie kupujemy broni, ale wybieramy jedną z ofensywnych, którą będziemy strzelać lub aktywujemy broń defensywną. +Klawisz [M] - wyłączenie/włączenie muzyki w tle +Klawisz [S] - wyłączenie/włączenie dźwięków efektów. +Klawisz [O] - 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. -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). +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). A tutaj zręby opisu działania poszczególnych broni, zasad punktacji itp: From cee53fd2577e4c846ec35c7dfc78c153e0db514a Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 12 Aug 2022 15:23:23 +0200 Subject: [PATCH 85/88] Now splash screen works on classic Atari 800 :) --- artwork/Scorch50.asm | 68 +++++++++++++++---------------------------- scorch.xex | Bin 50948 -> 50944 bytes textproc.asm | 2 +- 3 files changed, 24 insertions(+), 46 deletions(-) diff --git a/artwork/Scorch50.asm b/artwork/Scorch50.asm index ab5e005..ab6aa99 100644 --- a/artwork/Scorch50.asm +++ b/artwork/Scorch50.asm @@ -28,7 +28,7 @@ WIDTH = 40 HEIGHT = 30 ; --- BASIC switch OFF - org $2000\ mva #$ff portb\ rts\ ini $2000 + ;org $2000\ mva #$ff portb\ rts\ ini $2000 ; --- MAIN PROGRAM org $2000 @@ -211,6 +211,7 @@ main ; ;sta $a300,x ; inx ; bne @- + ; --- init PMG ift USESPRITES @@ -223,16 +224,18 @@ main sei ;stop IRQ interrupts mva #$00 nmien ;stop NMI interrupts sta dmactl - mva #$fe portb ;switch off ROM to get 16k more ram + ;mva #$fe portb ;switch off ROM to get 16k more ram - mwa #NMI $fffa ;new NMI handler + ;mwa #NMI $fffa ;new NMI handler + + VMAIN NMI.vbl,6 ;jsr SetVBL + VDLI DLI.dli_start + mva #1 vscrol mva #$c0 nmien ;switch on NMI+DLI again - ift CHANGES ;if label CHANGES defined - _lp lda trig0 ; FIRE #0 beq stop @@ -247,27 +250,26 @@ _lp lda trig0 ; FIRE #0 and #$04 bne _lp ;wait to press any key; here you can put any own routine - els - -null jmp DLI.dli1 ;CPU is busy here, so no more routines allowed - - eif - stop + + cli + vmain sysvbv,6 + mva #$00 pmcntl ;PMG disabled tax sta:rne hposp0,x+ - mva #$ff portb ;ROM switch on + ;mva #$ff portb ;ROM switch on mva #$40 nmien ;only NMI interrupts, DLI disabled - cli ;IRQ enabled + ;cli ;IRQ enabled - lda #0 + lda #0 ldx #8 @ sta POKEY,x dex bpl @- + ;no glitching please (issue #67) lda #0 @@ -281,32 +283,6 @@ stop ?old_dli = * - ift !CHANGES - -dli1 lda trig0 ; FIRE #0 - beq stop - - lda trig1 ; FIRE #1 - beq stop - - lda consol ; START - and #1 - beq stop - - lda skctl - and #$04 - beq stop - - lda vcount - cmp #$02 - bne dli1 - - :3 sta wsync - - DLINEW dli13 - - eif - dli_start dli13 @@ -680,6 +656,8 @@ FADECHR = 0 SCHR = 127 +dliv = $0200 + ; --- .proc NMI @@ -688,14 +666,14 @@ SCHR = 127 bpl VBL jmp DLI.dli_start -dliv equ *-2 + VBL sta regA stx regX sty regY - sta nmist ;reset NMI flag + ;sta nmist ;reset NMI flag mwa #ant dlptr ;ANTIC address program @@ -763,7 +741,7 @@ quit lda regA ldx regX ldy regY - rti + jmp sysvbv .endp @@ -864,9 +842,9 @@ player3 USESPRITES = 1 .MACRO DLINEW - mva <:1 NMI.dliv + mva <:1 dliv ift [>?old_dli]<>[>:1] - mva >:1 NMI.dliv+1 + mva >:1 dliv+1 eif ift :2 diff --git a/scorch.xex b/scorch.xex index d490e935d8442c118f08c975d887d25842dfefb2..97b3f3cc842a060c69bee5a49d789f5f067439ee 100644 GIT binary patch delta 337 zcmZqaV{YhUX8QksqfnbQ`I1S*$b=YGF*6Z;nzwBkbItvf#u#_2BxL+99rkC)am8A(#v^e<$1V> z0Yn5ug3(HL5Y2O8n?HAO%*lTGY3SgJw73HIx?%|XJ&C|Wfj zT7jO>;lCol>@zdJbza;2mIae-9lAwlg4E{&)hnFLgSgQr{>kRs4zi|`eN-yV? zm4|>LlQ-JPvpfYcuGj?2y8;<23wrH<3YX1avH+ym1gbb3q{hwGhGiy*(PnGRaskBH zYuh284ANDIqRRoQs}!Ur#qJ2F8%RwNP|ajRdkvO6kZ`R1dOaS w2r&Ef9*~xNpcaLbc~EC=zV0Av%D8Ux*HZ340GAbz2LJ#7 diff --git a/textproc.asm b/textproc.asm index 55311dd..d29f539 100644 --- a/textproc.asm +++ b/textproc.asm @@ -254,7 +254,7 @@ OptionsYLoop ManualPurchase jsr Purchase - ldx escFlag + bit escFlag spl:rts AfterManualPurchase From 171f37c73f49196350e08872009a942faca26a80 Mon Sep 17 00:00:00 2001 From: pkali Date: Fri, 12 Aug 2022 09:52:51 -0400 Subject: [PATCH 86/88] intro colors fix --- artwork/Scorch50.asm | 11 +++++++++++ scorch.xex | Bin 50944 -> 50964 bytes 2 files changed, 11 insertions(+) diff --git a/artwork/Scorch50.asm b/artwork/Scorch50.asm index ab6aa99..1d47d3e 100644 --- a/artwork/Scorch50.asm +++ b/artwork/Scorch50.asm @@ -228,6 +228,17 @@ main ;mwa #NMI $fffa ;new NMI handler + sta colbaks + lda #$0E + sta colpf1s + lda #$84 + sta colpf2s + lda #$0E + sta colpf3s + lda #$02 + + + VMAIN NMI.vbl,6 ;jsr SetVBL VDLI DLI.dli_start diff --git a/scorch.xex b/scorch.xex index 97b3f3cc842a060c69bee5a49d789f5f067439ee..c36b2f8d74ec65493a8686cf6c71262414a1ffca 100644 GIT binary patch delta 193 zcmZqZW1iB-yrILIiM3>MmvxVP?+K=re7#4RR<`sW1F?=Xtz=q|u&8(?n?lT!1#2fO z+EfW&>}6nDI?thX-b$Tbt}DHqS5`iryv|06gBvKmvY?l7@@1P4@iefaW%HLT04X$q zDy*37Y-`WBYjU%#8RN&vyKK80|NaF6$od1wM<4SF$O@JXtVvvZ+m#@ZMeqrls>7TIa3Q>E*i8 z%Xwwx`N@ZDl$byDGE9DB6Cx7?lwVoU%Lr7oZ2po3AcZDSg(;K6ZS5JCO`dLR#&~z~ zIooc=g2_>KQjATLOYM#`22ZxNH(;!uoM*p@(R{L^gA(J+$u16)7-w$2?qJ&n08Df~ AbpQYW From 0d210b8d88fcf14c5400cd6821537f8d19675b2d Mon Sep 17 00:00:00 2001 From: pkali Date: Fri, 12 Aug 2022 10:59:15 -0400 Subject: [PATCH 87/88] basic off --- artwork/Scorch50.asm | 2 +- scorch.xex | Bin 50964 -> 50980 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/artwork/Scorch50.asm b/artwork/Scorch50.asm index 1d47d3e..ecc2f78 100644 --- a/artwork/Scorch50.asm +++ b/artwork/Scorch50.asm @@ -28,7 +28,7 @@ WIDTH = 40 HEIGHT = 30 ; --- BASIC switch OFF - ;org $2000\ mva #$ff portb\ rts\ ini $2000 + org $2000\ mva #$ff portb\ rts\ ini $2000 ; --- MAIN PROGRAM org $2000 diff --git a/scorch.xex b/scorch.xex index c36b2f8d74ec65493a8686cf6c71262414a1ffca..6c9c35a4e8bce5cd449ade900f0cb5d7843fb36f 100644 GIT binary patch delta 29 lcmbQz$GoJES?K?N1_f4ymH&GgFDE==dd$S2u#rjVH~_SM3yuH) delta 13 UcmZ3|$2_Hvnd$%kjY2}l0VwbV_W%F@ From 5070b11be383c6e8d671e748320e76f1005145c8 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 12 Aug 2022 22:34:56 +0200 Subject: [PATCH 88/88] Battery lottery --- scorch.asm | 56 +++++++++++++++++++++++++++++---------------------- scorch.xex | Bin 50980 -> 50988 bytes textproc.asm | 3 ++- 3 files changed, 34 insertions(+), 25 deletions(-) diff --git a/scorch.asm b/scorch.asm index 16efc67..664ff1c 100644 --- a/scorch.asm +++ b/scorch.asm @@ -625,30 +625,8 @@ NextPlayerShoots SeteXistenZ lda Energy,x sta eXistenZ,x - sta L1 - - ;DATA L1,L2 - ;Multiplication 8bit*8bit, - ;result 16bit - ;this algiorithm is a little longer than one in Ruszczyc 6502 book - ;but it is faster - - LDy #8 - LDA #0 - CLC -LP0 - ror - ROR L1 - BCC B0 - CLC - ADC #10 ; (L2) multiplication by 10 -B0 DEY - BNE LP0 - ror - ROR L1 - STA MaxForceTableH,x - lda L1 - sta MaxForceTableL,x + + jsr MaxForceCalculate dex bpl SeteXistenZ @@ -908,7 +886,37 @@ NotNegativeShieldEnergy .endr @ rts .endp +;-------------------------------------------------- +.proc MaxForceCalculate +; calculates max force for tank (tanknr in X) +; Energy of tank X in A +;-------------------------------------------------- + sta L1 + + ;DATA L1,L2 + ;Multiplication 8bit*8bit, + ;result 16bit + ;this algiorithm is a little longer than one in Ruszczyc 6502 book + ;but it is faster + LDy #8 + LDA #0 + CLC +LP0 + ror + ROR L1 + BCC B0 + CLC + ADC #10 ; (L2) multiplication by 10 +B0 DEY + BNE LP0 + ror + ROR L1 + STA MaxForceTableH,x + lda L1 + sta MaxForceTableL,x + rts +.endp ;-------------------------------------------------- .proc PMoutofScreen ;-------------------------------------------------- diff --git a/scorch.xex b/scorch.xex index 6c9c35a4e8bce5cd449ade900f0cb5d7843fb36f..8daadca4631d6c7565f576f3cb568e43348966a1 100644 GIT binary patch delta 16437 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 diff --git a/textproc.asm b/textproc.asm index d29f539..2b8fcc1 100644 --- a/textproc.asm +++ b/textproc.asm @@ -835,7 +835,8 @@ invSelectDef ; if activate battery, we do it differently mva #sfx_battery sfx_effect mva #99 Energy,x - bne DecreaseDefensive ; bypass activation + jsr MaxForceCalculate + jmp DecreaseDefensive ; bypass activation NotBattery cmp #ind_Long_Barrel____ bne NotBarrel