diff --git a/Atari/interrupts.asm b/Atari/interrupts.asm index 773ab72..1dd1ca1 100644 --- a/Atari/interrupts.asm +++ b/Atari/interrupts.asm @@ -143,6 +143,7 @@ lab2 ; ------- RMT ------- SkipRMTVBL ; ------ meteors ------ start + .IF TARGET = 5200 .OR CART_VERSION = 1 ldx #0 bit Mcounter bpl MeteorOnSky @@ -180,6 +181,7 @@ GoSecondPlot jsr GoMplot2 SkipSecondPlot SkipMeteors + .ENDIF ; ------ meteors ------ end bit ScrollFlag bpl EndOfCreditsVBI diff --git a/game.asm b/game.asm index eeaf0b8..26bd80d 100644 --- a/game.asm +++ b/game.asm @@ -258,6 +258,9 @@ noRandomMountains jsr drawtanks ;finally draw tanks mva #$00 TankSequencePointer + + lda random + sta MeteorsRound ; Turns meteors on or off during the next round. ;---------round screen is ready--------- mva #TextForegroundColor COLOR1 ; status line "on" @@ -360,9 +363,11 @@ CheckNextTankAD jsr RandomizeForce.LimitForce jsr PutTankNameOnScreen ; jsr DisplayStatus ; There is no need anymore, it is always after PutTankNameOnScreen - + + bit MeteorsRound + bmi @+ mva #0 MeteorsFlag - +@ lda SkillTable,x beq ManualShooting diff --git a/scorch.asm b/scorch.asm index 0b0530a..1301fd8 100644 --- a/scorch.asm +++ b/scorch.asm @@ -46,7 +46,8 @@ AdditionalZPvariables = $20 .zpvar Mpoint1Y .byte ; meteor first point Y position .zpvar Mcounter .byte ; meteor length counter ( $ff - no meteor on sky ) .zpvar Mpoint2Y .byte ; meteor last point Y position - .zpvar MeteorsFlag .byte ; $ff - block meteors + .zpvar MeteorsFlag .byte ; set 7th bit - block meteors + .zpvar MeteorsRound .byte ; set 7th bit - block meteors in round FirstZpageVariable = $51 diff --git a/scorch.bin b/scorch.bin index 799c72b..b1df5dd 100644 Binary files a/scorch.bin and b/scorch.bin differ diff --git a/scorch.xex b/scorch.xex index d0ebef8..860fe35 100644 Binary files a/scorch.xex and b/scorch.xex differ diff --git a/scorchC64.asm b/scorchC64.asm index cc14708..8c693ec 100644 --- a/scorchC64.asm +++ b/scorchC64.asm @@ -35,9 +35,10 @@ icl 'definitions.asm' ;--------------------------------------------------- -FirstZpageVariable = $54 ; $57 +FirstZpageVariable = $53 ; $57 .zpvar DliColorBack .byte = FirstZpageVariable - .zpvar MeteorsFlag .byte + .zpvar MeteorsFlag .byte ; set 7th bit - block meteors + .zpvar MeteorsRound .byte ; set 7th bit - block meteors in round .zpvar GradientNr .byte .zpvar GradientColors .word .zpvar WindChangeInRound .byte ; wind change after each turn (not round only) flag - (0 - round only, >0 - each turn)