build 134

This commit is contained in:
2022-04-10 11:18:29 -04:00
parent c7f09261f6
commit 0f6e171e5c
12 changed files with 154 additions and 185 deletions
+8 -4
View File
@@ -1,5 +1,8 @@
# Atari 8-bit Scorched Earth source code
# Scorch - Atari 8-bit Scorched Earth clone source code
---------------------------------------------------
Scorch is a multi-player, turn-based, artillery video game. Tanks do turn-based battle in two-dimensional terrain, with each player adjusting the angle and power of their tank turret before each shot.
by Tomasz 'pecus' Pecko and Pawel 'pirx' Kalinowski
Warsaw, Miami 2000, 2001, 2002, 2003, 2009, 2012, 2013, 2022
@@ -7,9 +10,10 @@ Warsaw, Miami 2000, 2001, 2002, 2003, 2009, 2012, 2013, 2022
You can contact us at pecus@poczta.fm or pirx@5oft.pl
home page of this project is https://github.com/pkali/scorch_src
This source code was originally compiled under OMC65 crossassembler
(https://github.com/pkali/omc65)
and on 2012-06-21 translated to mads
This source code was originally compiled under [OMC65 crossassembler](https://github.com/pkali/omc65) and on 2012-06-21 translated to [mads](https://github.com/tebe6502/Mad-Assembler).
Compilation: `mads scorch.asm -o:scorch.xex`
Game source code is split into 5+3 parts:
- scorch.asm is the main game code (with many assorted routines)
-55
View File
@@ -345,58 +345,3 @@ loop
rts
.endp
PurchaseMeTable .proc ;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 0 ;"Napalm " ; 8
dta 0 ;"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 1 ;"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
.endp
+17 -16
View File
@@ -7,7 +7,15 @@
;icl "HIMARS14.h"
;ICL '../lib/atari.hea'
org $80
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
@@ -26,22 +34,15 @@ skip
rts
.endp
song_ptr = get_byte + 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
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 $F0
+59 -12
View File
@@ -13,7 +13,6 @@ CashOptionH
GravityTable .by 10,20,25,30,40
MaxWindTable .by 5,20,40,60,80
RoundsTable .by 10,20,30,40,50
RoundsInTheGame .by 10 ;how many rounds in the current game
flyDelayTable .by 255,150,75,35,1
;------------------------------------------------
@@ -284,12 +283,8 @@ costable
linetableL
:screenheight .by <(display+screenBytes*#)
;:20 .by <(display+screenBytes*#)
.by <PlotLine
linetableH
:screenheight .by >(display+screenBytes*#)
;:20 .by >(display+screenBytes*#)
.by >PlotLine
;----------------------------
bittable
.by $80,$40,$20,$10,$08,$04,$02,$01
@@ -327,7 +322,7 @@ WhereToSlideTable
.BY %000 ; 00001001
.BY %000 ; 00001010
.BY %000 ; 00001011
.BY %000 ; 00001100
.BY %100 ; 00001100
.BY %000 ; 00001101
.BY %000 ; 00001110
.BY %000 ; 00001111
@@ -630,12 +625,12 @@ EndOfTheBarrelY
;-------------------------------------------------
TanksNamesDefault
dta d"1st Tank"
dta d"2nd Tank"
dta d"3rd Tank"
dta d"4th Tank"
dta d"5th Tank"
dta d"6th Tank"
dta d"1st.Tank"
dta d"2nd.Tank"
dta d"3rd.Tank"
dta d"4th.Tank"
dta d"5th.Tank"
dta d"6th.Tank"
;Weapon prices (*10 on screen)
price_Baby_Missile___ = 0 ;_0
@@ -907,6 +902,58 @@ WeaponUnits
.by 25 ;Contact_Trigger
.by 0 ;_____________63
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 0 ;"Napalm " ; 8
dta 0 ;"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 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
;-------------------------------------------------
; Screen codes of icons (chars) representing a given weapon
WeaponSymbols
+2 -6
View File
@@ -51,10 +51,7 @@ dl ; MAIN game display list
.byte $42
.word textbuffer
.byte $02, $02 +$80 ;DLI
.byte $00
.byte $4f
.word PlotLine
.byte $10 ; 2 blank lines
.byte $4f
.word display
@@ -66,12 +63,11 @@ dl ; MAIN game display list
:97 .byte $0f
.byte $41
.word dl
PlotLine = display + screenHeight*screenBytes ; the last line is plot pointer
;-----------------------------------------------
;Screen displays go first to avoid crossing 4kb barrier
;-----------------------------------------------
OptionsScreen
dta d"Welcome to Scorch ver. 133 (un)2000-2022"
dta d"Welcome to Scorch ver. 134 (un)2000-2022"
dta d" Please select option with cursor keys "
dta d" and press (Return) to proceed "
OptionsHere
+4 -28
View File
@@ -977,6 +977,7 @@ EndDrawing
.endp
; -----------------------------------------
unPlot .proc
; plots a point and saves the plotted byte, reverts the previous plot.
; -----------------------------------------
ldx #0 ; only one pixel
unPlotAfterX
@@ -996,7 +997,8 @@ unPlotAfterX
; is it not out of the screen ????
cpw ydraw #screenheight
jcs EndOfUnPlot
jcc CheckX
mwa #0 ydraw
CheckX
cpw xdraw #screenwidth
jcs EndOfUnPlot
@@ -1032,6 +1034,7 @@ MakeUnPlot
lda color
beq ClearUnPlot
;plotting here
lda (xbyte),y
sta OldOraTemp
ora bittable,x
@@ -1174,33 +1177,6 @@ point .proc
rts
.endp
; -----------------------------------------
PlotPointer .proc
; -----------------------------------------
; draws pointer that shows where is the bullet
; when it is over the screen
; (it is on the top of the screen)
mwa xdraw tempCir
mva #0 color
mwa #screenHeight ydraw
mwa oldPlotPointerX xdraw
jsr plot
mwa tempCir xdraw
mva #1 color
mwa #screenHeight ydraw
jsr plot
mwa xdraw oldPlotPointerX
rts
.endp
;--------------------------------------------------
DrawLine .proc
;--------------------------------------------------
+43 -43
View File
@@ -103,8 +103,8 @@ CONSOL = $D01F ; rejestr stanu klawiszy konsoli Start (bit 0), Select (bit 1),
* --- POKEY
* ---------------------------------------------------------------------------------------------
IRQENS = $0010 ; rejestr-cie IRQEN
IRQSTAT = $0011 ; rejestr-cie IRQST
IRQENS = $0010 ; shadow register IRQEN
IRQSTAT = $0011 ; shadow register IRQST
AUDF3 = $D204 ; czstotliwo pracy generatora 3 (Z)
AUDCTL = $D208 ; rejestr kontroli generatorw dwiku (Z)
@@ -147,22 +147,22 @@ NMIST = $D40F ; rejestr statusu przerwa NMI
;-------------------------------------
;additional system variables
;-------------------------------------
COLPM0S = $02C0 ;- - rejestr-cie COLPM0
COLPM1S = $02C1 ;- - rejestr-cie COLPM1
COLPM2S = $02C2 ;- - rejestr-cie COLPM2
COLPM3S = $02C3 ;- - rejestr-cie COLPM3
COLPF0S = $02C4 ;- - rejestr-cie COLPF0
COLPF1S = $02C5 ;- - rejestr-cie COLPF1
COLPF2S = $02C6 ;- - rejestr-cie COLPF2
COLPF3S = $02C7 ;- - rejestr-cie COLPF3
COLPM0S = $02C0 ;- - shadow register COLPM0
COLPM1S = $02C1 ;- - shadow register COLPM1
COLPM2S = $02C2 ;- - shadow register COLPM2
COLPM3S = $02C3 ;- - shadow register COLPM3
COLPF0S = $02C4 ;- - shadow register COLPF0
COLPF1S = $02C5 ;- - shadow register COLPF1
COLPF2S = $02C6 ;- - shadow register COLPF2
COLPF3S = $02C7 ;- - shadow register COLPF3
COLBAKS = $02C8
GTICTLS = $026F ;- - rejestr-cie GTIACTL
GTICTLS = $026F ;- - shadow register GTIACTL
DMACTLS = $022F ;- - rejestr kontroli dostpu do pamici - cie
DLPTRS = $0230 ;- - adres programu ANTIC-a - cie
CHBAS = $02F4 ;- - rejestr-cie CHBASE
KBCODES = $02FC ;- - rejestr-cie KBCODE
CHBAS = $02F4 ;- - shadow register CHBASE
KBCODES = $02FC ;- - shadow register KBCODE
SETVBV = $E45C
XITVBV = $E462
@@ -178,10 +178,10 @@ JSTICK2 = $027A ;- JSTICK2 - pooenie joysticka 0
JSTICK3 = $027B ;- JSTICK3 - pooenie joysticka 1
PTRIG0 = $027C ;- PTRIG0 - przycisk potencjometru 0
PTRIG1 = $027D ;- PTRIG1 - przycisk potencjometru 1
TRIG0S = $0284 ;- TRIG0S - przycisk joysticka 0, rejestr-cie TRIG0
TRIG1S = $0285 ;- TRIG1S - przycisk joysticka 1, rejestr-cie TRIG1
TRIG2S = $0286 ;- TRIG2S - rejestr-cie TRIG0
TRIG3S = $0287 ;- TRIG3S - rejestr-cie TRIG1
TRIG0S = $0284 ;- TRIG0S - przycisk joysticka 0, shadow register TRIG0
TRIG1S = $0285 ;- TRIG1S - przycisk joysticka 1, shadow register TRIG1
TRIG2S = $0286 ;- TRIG2S - shadow register TRIG0
TRIG3S = $0287 ;- TRIG3S - shadow register TRIG1
/*
@@ -189,8 +189,8 @@ Rejestry OS w pamici RAM
$08 - WARMST - znacznik gorcego startu
$0E - APPMHI - najwyszy adres RAM zajty przez program
$10 - IRQENS - rejestr-cie IRQEN
$11 - IRQSTAT - rejestr-cie IRQST
$10 - IRQENS - shadow register IRQEN
$11 - IRQSTAT - shadow register IRQST
$12 - RTCLOK - zegar czasu rzeczywistego
$15 - BUFADR - adres bufora dla operacji dyskowych
$17 - ICCOMT - rejestr przejciowy kodu operacji I/O
@@ -267,12 +267,12 @@ $0214 - VTIMR4 - wektor przerwania licznika 4 POKEY-a
$0218 - TIMCNT1 - pierwszy licznik systemu
$0226 - TIMVEC1 - wektor przerwania licznika TIMCNT1
$022A - TIMFLG3 - znacznik wyzerowania licznika TIMCNT3
$022F - DMACTLS - rejestr-cie DMACTL
$0230 - DLPTRS - rejestr-cie DLPTR
$0232 - SKCTLS - rejestr-cie SKCTL
$022F - DMACTLS - shadow register DMACTL
$0230 - DLPTRS - shadow register DLPTR
$0232 - SKCTLS - shadow register SKCTL
$0233 - LCOUNT - licznik odczytu dla nowego urzdzenia
$0234 - LPENHS - rejestr-cie LPENH
$0235 - LPENVS - rejestr-cie LPENV
$0234 - LPENHS - shadow register LPENH
$0235 - LPENVS - shadow register LPENV
$023A - CDEVIC - kod urzdzenia dla SIO
$023B - CCMND - kod operacji dla SIO
$023C - CAUX1 - pierwszy bajt pomocniczy dla SIO
@@ -283,25 +283,25 @@ $0244 - COLDST - znacznik zimnego startu systemu
$0245 - RECLEN - dugo rekordu z nowego urzdzenia
$0246 - DSKTIM - warto Timeout dla stacji dyskw
$0247 - PDVMSK - maska obecnoci nowych urzdze
$0248 - PDVRS - rejestr-cie PDVREG
$0248 - PDVRS - shadow register PDVREG
$024A - RELADR - adres procedury przemieszczalnej
$024C - PPTMPA - rejestr przechowania zawartoci akumulatora
$024D - PPTMPX - rejestr przechowania zawartoci rejestru X
$026B - CHSPTR - wektor nieuywanego zestawu znakw
$026C - VSFLAG - znacznik przesuwu pionowego obrazu
$026E - FINE - znacznik delikatnego przesuwu obrazu
$026F - GTICTLS - rejestr-cie GTIACTL
$0270 - PADDL0 - rejestr-cie POT0
$026F - GTICTLS - shadow register GTIACTL
$0270 - PADDL0 - shadow register POT0
$0278 - JSTICK0 - pooenie joysticka 0
$0279 - JSTICK1 - pooenie joysticka 1
$027A - JSTICK2 - pooenie joysticka 0
$027B - JSTICK3 - pooenie joysticka 1
$027C - PTRIG0 - przycisk potencjometru 0
$027D - PTRIG1 - przycisk potencjometru 1
$0284 - TRIG0S - przycisk joysticka 0, rejestr-cie TRIG0
$0285 - TRIG1S - przycisk joysticka 1, rejestr-cie TRIG1
$0286 - TRIG2S - rejestr-cie TRIG0
$0287 - TRIG3S - rejestr-cie TRIG1
$0284 - TRIG0S - przycisk joysticka 0, shadow register TRIG0
$0285 - TRIG1S - przycisk joysticka 1, shadow register TRIG1
$0286 - TRIG2S - shadow register TRIG0
$0287 - TRIG3S - shadow register TRIG1
$0288 - HIBYTE - indeks operacji nowego urzdzenia
$0289 - WMODE - znacznik sposobu dostpu do magnetofonu
$028A - BLIM - dugo bufora magnetofonu
@@ -326,15 +326,15 @@ $02BC - HOLD4 - pomocniczy rejestr przejciowy
$02BD - DRETRY - liczba powtrze wywoa urzdzenia
$02BE - SHFLOK - znacznik klawiszy SHIFT i CONTROL
$02BF - BOTSCR - liczba wierszy tekstu
$02C0 - COLPM0S - rejestr-cie COLPM0
$02C1 - COLPM1S - rejestr-cie COLPM1
$02C2 - COLPM2S - rejestr-cie COLPM2
$02C3 - COLPM3S - rejestr-cie COLPM3
$02C4 - COLPF0S - rejestr-cie COLPF0
$02C5 - COLPF1S - rejestr-cie COLPF1 ;gr.8 letters
$02C6 - COLPF2S - rejestr-cie COLPF2 ;gr.8 background
$02C7 - COLPF3S - rejestr-cie COLPF3
$02C8 - COLBAKS - rejestr-cie COLBAK
$02C0 - COLPM0S - shadow register COLPM0
$02C1 - COLPM1S - shadow register COLPM1
$02C2 - COLPM2S - shadow register COLPM2
$02C3 - COLPM3S - shadow register COLPM3
$02C4 - COLPF0S - shadow register COLPF0
$02C5 - COLPF1S - shadow register COLPF1 ;gr.8 letters
$02C6 - COLPF2S - shadow register COLPF2 ;gr.8 background
$02C7 - COLPF3S - shadow register COLPF3
$02C8 - COLBAKS - shadow register COLBAK
$02C9 - RUNADR - adres procedury nowego urzdzenia
$02CB - HIUSED - adres kocowy procedury nowego urzdzenia
$02CF - GBYTEA - adres procedury nowego urzdzenia
@@ -352,15 +352,15 @@ $02EC - DVTMOT - dodatkowy rejestr Timeout urzdzenia
$02ED - REVNUM - numer wersji nowego urzdzenia
$02EE - CBAUD - prdko transmisji z magnetofonu
$02F0 - CRSINH - znacznik widocznoci kursora
$02F3 - CHACT - rejestr-cie CHRCTL
$02F4 - CHBAS - rejestr-cie CHBASE
$02F3 - CHACT - shadow register CHRCTL
$02F4 - CHBAS - shadow register CHBASE
$02F5 - NEWROW - nowa pozycja pionowa kursora
$02F6 - NEWCOL - nowa pozycja pozioma kursora
$02F8 - ROWINC - zmiana pionowej pozycji kursora
$02F9 - COLINC - zmiana poziomej pozycji kursora
$02FA - CHAR - kod wewntrzny znaku
$02FB - ATACHR - kod ATASCII znaku
$02FC - KBCODES - rejestr-cie KBCODE
$02FC - KBCODES - shadow register KBCODE
$02FD - FILDAT - numer koloru dla wypeniania
$02FE - DSPFLG - znacznik wywietlania znakw kontrolnych
$02FF - SSFLAG - znacznik start/stop dla przesuwu obrazu
-2
View File
@@ -715,8 +715,6 @@ deletePtr = temp
lda #0
sta Erase
sta tracerflag
sta oldPlotPointerX
sta oldPlotPointerX+1
sta GameIsOver
BIN
View File
Binary file not shown.
+8 -6
View File
@@ -823,11 +823,13 @@ NoArrowDown
jsr PMoutofScreen
; display tank number
ldx tanknr
lda skillTable,x
sta difficultyLevel
inx
stx decimal
mwa #(NameScreen+41) displayposition
jsr displaybyte
jsr SelectLevel ; setting choosen level of the opponent (Moron, etc)
jsr HighlightLevel ; setting choosen level of the opponent (Moron, etc)
; clear tank name editor field
ldx #8
@@ -919,7 +921,7 @@ ChangeOfLevelUp ; change difficulty level of computer opponent
bne DoNotLoopLevelUp
mva #$0 DifficultyLevel
DoNotLoopLevelUp
jsr SelectLevel
jsr HighlightLevel
jmp CheckKeys
;----
ChangeOfLevelDown
@@ -927,7 +929,7 @@ ChangeOfLevelDown
bpl DoNotLoopLevelDown
mva #$8 DifficultyLevel
DoNotLoopLevelDown
jsr SelectLevel
jsr HighlightLevel
jmp CheckKeys
;----
ChangeOfLevel3Up
@@ -939,7 +941,7 @@ ChangeOfLevel3Up
sbb DifficultyLevel #9
DoNotLoopLevel3Up
jsr SelectLevel
jsr HighlightLevel
jmp CheckKeys
;----
ChangeOfLevel3Down
@@ -947,7 +949,7 @@ ChangeOfLevel3Down
bpl @+
adb DifficultyLevel #9
@
jsr SelectLevel
jsr HighlightLevel
jmp CheckKeys
;----
EndOfNick
@@ -992,7 +994,7 @@ nextchar05
.endp
.proc SelectLevel
.proc HighlightLevel
; this routine highlights the choosen
; level of the computer opponent
ldx #8 ; 9 possible levels
+6 -6
View File
@@ -16,7 +16,13 @@ TanksNames ; DO NOT ZERO - ticket #24
;----------------------------
;Options DO NOT ZERO - ticket #27
OptionsTable .by 0,0,2,2,0,1
RoundsInTheGame .by 10 ;how many rounds in the current game
;--------------------------------------------------
skilltable ; computer controlled players' skills (1-8), 0 - human (no cleaning, ticket #30)
.DS [MaxPlayers]
;-----------------------------------
variablesStart ; zeroing starts here
;--------------
OptionsY .ds 0 ;vertical position of cursor on Options screen
@@ -26,9 +32,6 @@ NumberOfPlayers .DS 1 ;current number of players (counted from 1)
TankSequence .DS [MaxPlayers] ;sequence of shooting during the Round
GameIsOver .DS 1 ; 1 - it was the last round in the game
;-----------------------------------
skilltable ; computer controlled players' skills (1-8), 0 - human
.DS [MaxPlayers]
;-----------------------------------
moneyH ;we place zero at the end of prices and money
;and have range from 0 to 99990 (not too much)
;money players have (maybe one more byte is needed?)
@@ -354,9 +357,6 @@ ResultOfTankNr
.DS 1
;----------------------------
oldPlotPointerX
.ds 2
;----------------------------
;PutChar4x4
LoopCounter4x4 .DS 1
y4x4 .DS 1
+7 -7
View File
@@ -218,10 +218,10 @@ DoNotEor
mwa ytrajfb ytraj+1
jsr Flight
jsr CalculateExplosionRange
lda HitFlag
beq NoExplosionInFunkyBomb
jsr CalculateExplosionRange
jsr xmissile
jsr xmissile
NoExplosionInFunkyBomb
dec FunkyBombCounter
bne FunkyBombLoop
@@ -1673,7 +1673,7 @@ SkipCollisionCheck
jsr UnPlot
NoUnPlot
jsr PlotPointer
; jsr PlotPointer
jmp Loopi
@@ -2020,7 +2020,6 @@ mrSkipCollisionCheck
jsr unPlot.unPlotAfterX
ldx MirvMissileCounter
jne mrLoopi
jsr PlotPointer ; pointer only for bullet nr 0
jmp mrLoopi
@@ -2241,9 +2240,10 @@ HowManyBullets .proc
ShellDelay .proc
ldx flyDelay
DelayLoop
sta wsync
sta wsync
dex
lda VCOUNT
@ cmp VCOUNT
beq @-
dex
bne DelayLoop
rts
.endp