From f701ef3227bc89e1c4999c4e8c749304fcdbdefa Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sun, 3 Sep 2023 15:47:45 +0200 Subject: [PATCH] Meteors added :) --- Atari/gr_basics.asm | 30 +++++++++++++++++++++++++++ Atari/interrupts.asm | 48 +++++++++++++++++++++++++++++++++++++++++++ artwork/talk.asm | 8 ++++---- game.asm | 4 ++++ scorch.asm | 17 +++++++++++++-- scorch.xex | Bin 56544 -> 56646 bytes scorchC64.asm | 3 ++- scorchC64.prg | Bin 40005 -> 39914 bytes 8 files changed, 103 insertions(+), 7 deletions(-) diff --git a/Atari/gr_basics.asm b/Atari/gr_basics.asm index c2bd0ef..82d0bc2 100644 --- a/Atari/gr_basics.asm +++ b/Atari/gr_basics.asm @@ -161,6 +161,36 @@ ClearPlot rts .endp +; ----------------------------------------- +.proc ExPlot ;ExPlot (EplotX, EplotY) +; EOR plot: +; Inverts color of a pixel +; Note: No coordinate control!!! +; With off-screen coordinates, it can damage main program. +; ----------------------------------------- + ; let's calculate coordinates from xdraw and ydraw + ;xbyte = xbyte/8 + lda EplotX+1 + lsr + lda EplotX + ror ;just one bit over 256. Max screenwidth = 512!!! + lsr + lsr + sta EplotByte + ;--- + ldx EplotY + ldy linetableL,x + lda linetableH,x + sta EplotByte+1 + + ldx EplotX ; optimization (256 bytes long bittable) + + lda (EplotByte),y + eor bittable1_long,x + sta (EplotByte),y + rts +.endp + ; ----------------------------------------- .proc point_plot ; ----------------------------------------- diff --git a/Atari/interrupts.asm b/Atari/interrupts.asm index f774bc3..3f6d350 100644 --- a/Atari/interrupts.asm +++ b/Atari/interrupts.asm @@ -142,6 +142,54 @@ lab2 jsr RASTERMUSICTRACKER+3 ;1 play ; ------- RMT ------- SkipRMTVBL + ; ------ meteors ------ start + bit Mcounter + bpl MeteorOnSky + bit MeteorsFlag + bmi SkipMeteors + ; randomize meteor + lda random + and #%11111111 + bne SkipMeteors + lda random + sta Mpoint1X + sta Mpoint2X + lda #0 + sta Mpoint1X+1 + sta Mpoint2X+1 + lda random + and #$1f + sta Mpoint1Y + sta Mpoint2Y + mva #10 Mcounter +MeteorOnSky + lda Mpoint1Y + cmp #64 + beq NoFirstPlot + sta EplotY + inc Mpoint1Y + mwa Mpoint1X EplotX + inw Mpoint1X + jsr Explot +NoFirstPlot + lda Mcounter + beq @+ + dec Mcounter + bpl SkipSecondPlot +@ lda Mpoint2Y + cmp #64 + bne GoSecondPlot + mva #$ff Mcounter + bmi SkipMeteors +GoSecondPlot + sta EplotY + inc Mpoint2Y + mwa Mpoint2X EplotX + inw Mpoint2X + jsr Explot +SkipSecondPlot +SkipMeteors + ; ------ meteors ------ end bit ScrollFlag bpl EndOfCreditsVBI CreditsVBI diff --git a/artwork/talk.asm b/artwork/talk.asm index 0c07932..0378cab 100644 --- a/artwork/talk.asm +++ b/artwork/talk.asm @@ -45,7 +45,7 @@ dta d"HASTA LA VISTA, BABY!"^ dta d"THIS IS YOUR BRAIN ON SCORCH."^ dta d"TAKE THIS!"^ - dta d"THIS SCREEN AIN'T BIG ENOUGH FOR THE BOTH OF US."^ + dta d"THIS SCREEN AIN'T BIG ENOUGH FOR US."^ dta d"DIE, ALIEN SWINE!"^ dta d"AWRUK!!!"^ dta d"I SHALL OIL MY TURRET WITH YOUR BLOOD."^ @@ -78,12 +78,12 @@ dta d"OH MAN!"^ dta d"DOOUGH!"^ dta d"NEW DAY, NEW BOMB."^ - dta d"THIS IS THE END, MY ONLY FRIEND."^ + dta d"THIS IS END."^ dta d"VERY FUNNY."^ dta d"THE FAT LADY SANG."^ - dta d"WHY DOES EVERYTHING HAPPEN TO ME?"^ + dta d"WHY DOES HAPPEN TO ME?"^ dta d"I'M GOING DOWN."^ - dta d"I'VE GOT A BAD FEELING ABOUT THIS."^ + dta d"I'VE GOT A BAD FEELING."^ dta d"CRAPOLA."^ dta d"POW!"^ dta d"BIF!"^ diff --git a/game.asm b/game.asm index 617d621..eeaf0b8 100644 --- a/game.asm +++ b/game.asm @@ -42,6 +42,7 @@ MainGameLoop jsr RoundInit jsr MainRoundLoop + mva #$ff MeteorsFlag bit escFlag jvs GoGameOver bmi START @@ -360,6 +361,8 @@ CheckNextTankAD jsr PutTankNameOnScreen ; jsr DisplayStatus ; There is no need anymore, it is always after PutTankNameOnScreen + mva #0 MeteorsFlag + lda SkillTable,x beq ManualShooting @@ -392,6 +395,7 @@ ManualShooting spl:rts ; keys Esc or O AfterManualShooting + mva #$ff MeteorsFlag mva #$00 plot4x4color jsr DisplayTankNameAbove ; defensive weapons without flight handling diff --git a/scorch.asm b/scorch.asm index f0ee556..d7fed75 100644 --- a/scorch.asm +++ b/scorch.asm @@ -26,7 +26,7 @@ ;--------------------------------------------------- .macro build - dta d"1.37" ; number of this build (4 bytes) + dta d"1.38" ; number of this build (4 bytes) .endm .macro RMTSong @@ -37,6 +37,17 @@ ;--------------------------------------------------- icl 'definitions.asm' ;--------------------------------------------------- +AdditionalZPvariables = $20 + .zpvar EplotX .word = AdditionalZPvariables + .zpvar EplotByte .word + .zpvar EplotY .byte + .zpvar Mpoint1X .word ; meteor first point X position + .zpvar Mpoint1Y .byte ; meteor first point Y position + .zpvar Mpoint2X .word ; meteor last point X position + .zpvar Mpoint2Y .byte ; meteor last point Y position + .zpvar Mcounter .byte ; meteor length counter ( $ff - no meteor on sky ) + .zpvar MeteorsFlag .byte ; $ff - block meteors + FirstZpageVariable = $51 .zpvar DliColorBack .byte = FirstZpageVariable @@ -374,7 +385,9 @@ NoRMT_PALchange lda #$ff ; initial value sta sfx_effect - + sta Mcounter + sta MeteorsFlag + RMTSong 0 .IF TARGET = 5200 diff --git a/scorch.xex b/scorch.xex index 42102da75879c77a2f64e04cd5cdf416df6591ee..6347f929d686fcedd4b60c30481b57286634af9f 100644 GIT binary patch delta 8068 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 E0H`wCb^rhX delta 7809 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 ZREO!y&(IkOwy9vcHnIQfNVx0?`akBvXHx(G diff --git a/scorchC64.asm b/scorchC64.asm index 1fb2bfd..cc14708 100644 --- a/scorchC64.asm +++ b/scorchC64.asm @@ -35,8 +35,9 @@ icl 'definitions.asm' ;--------------------------------------------------- -FirstZpageVariable = $55 ; $57 +FirstZpageVariable = $54 ; $57 .zpvar DliColorBack .byte = FirstZpageVariable + .zpvar MeteorsFlag .byte .zpvar GradientNr .byte .zpvar GradientColors .word .zpvar WindChangeInRound .byte ; wind change after each turn (not round only) flag - (0 - round only, >0 - each turn) diff --git a/scorchC64.prg b/scorchC64.prg index 59c975c753e4015d4635a4a4f7ac7209ee83d699..dbc1d7d93dde4b681807fa72dc1e7579f44a8951 100644 GIT binary patch delta 6309 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 aUm@jJV`hA03_5TJ*R@w*v delta 6387 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