mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
unsignificants
This commit is contained in:
+57
-71
@@ -542,7 +542,7 @@ NotHigherByte02
|
||||
; x correction for P/M
|
||||
; --
|
||||
.IF XCORRECTION_FOR_PM = 1
|
||||
and #$fe
|
||||
and #$fe
|
||||
.ENDIF
|
||||
; --
|
||||
sta xtankstableL,x
|
||||
@@ -585,7 +585,7 @@ UnequalTanks
|
||||
jsr PMoutofScreen
|
||||
mva #1 Erase ; erase tanks flag
|
||||
.endp
|
||||
;--
|
||||
;-------------------------------------------------
|
||||
.proc drawtanks
|
||||
;-------------------------------------------------
|
||||
lda TankNr
|
||||
@@ -705,12 +705,12 @@ NoMissile
|
||||
ClearPM
|
||||
cpy temp
|
||||
bne ZeroesToGo
|
||||
@ lda (xbyte),y
|
||||
and #%11110000
|
||||
ora #%00001111 ; (2 bits set) we set on two pixels in three lines
|
||||
sta (xbyte),y
|
||||
dey
|
||||
dex
|
||||
@ lda (xbyte),y
|
||||
and #%11110000
|
||||
ora #%00001111 ; (2 bits set) we set on two pixels in three lines
|
||||
sta (xbyte),y
|
||||
dey
|
||||
dex
|
||||
bne @-
|
||||
ZeroesToGo
|
||||
lda (xbyte),y
|
||||
@@ -725,12 +725,12 @@ PMForTank6
|
||||
ClearPM6
|
||||
cpy temp
|
||||
bne ZeroesToGo6
|
||||
@ lda (xbyte),y
|
||||
and #%00001111
|
||||
ora #%11110000 ; (2 bits set) we set on two pixels in three lines
|
||||
sta (xbyte),y
|
||||
dey
|
||||
dex
|
||||
@ lda (xbyte),y
|
||||
and #%00001111
|
||||
ora #%11110000 ; (2 bits set) we set on two pixels in three lines
|
||||
sta (xbyte),y
|
||||
dey
|
||||
dex
|
||||
bne @-
|
||||
ZeroesToGo6
|
||||
lda (xbyte),y
|
||||
@@ -743,9 +743,8 @@ NoPlayerMissile
|
||||
noTankNoPM
|
||||
ldy #$01
|
||||
lda Erase
|
||||
beq @+
|
||||
dey
|
||||
@ sty color
|
||||
seq: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
|
||||
@@ -786,9 +785,8 @@ NoShieldDraw
|
||||
BarrelChange
|
||||
ldy #$01
|
||||
lda Erase
|
||||
beq @+
|
||||
dey
|
||||
@ sty color
|
||||
seq:dey
|
||||
sty color
|
||||
jsr DrawBarrel
|
||||
ldx TankNr
|
||||
DoNotDrawTankNr
|
||||
@@ -879,7 +877,7 @@ tankflash_loop
|
||||
.nowarn dew xdraw ; 1 pixel left
|
||||
sbw ydraw #$0a ; 10 pixels up
|
||||
jsr plot
|
||||
.nowarn dew ydraw
|
||||
.nowarn dew ydraw
|
||||
inw xdraw
|
||||
jsr plot
|
||||
sbw xdraw #$0d ; 13 pixels left
|
||||
@@ -895,14 +893,14 @@ tankflash_loop
|
||||
; this proc draws bold top on shield.
|
||||
; Symbol of ablative shield ? :)
|
||||
;--------------------------------------------------
|
||||
sbw xdraw #$04 ; 5 pixels left
|
||||
sbw xdraw #$04 ; 5 pixels left
|
||||
sbw ydraw #$0b ; 11 pixels up
|
||||
; draw additional top horizontal line of shield ( _ )
|
||||
mva #6 temp
|
||||
@
|
||||
jsr plot
|
||||
.nowarn dew xdraw
|
||||
dec temp
|
||||
jsr plot
|
||||
.nowarn dew xdraw
|
||||
dec temp
|
||||
bne @-
|
||||
rts ; Z allways set
|
||||
.endp
|
||||
@@ -910,7 +908,7 @@ tankflash_loop
|
||||
.proc DrawTankParachute
|
||||
;Tank number in X
|
||||
;--------------------------------------------------
|
||||
lda #char_parachute ; parachute symbol
|
||||
lda #char_parachute ; parachute symbol
|
||||
sta CharCode
|
||||
lda Ytankstable,x
|
||||
cmp #16
|
||||
@@ -953,18 +951,18 @@ ToHighToParachute
|
||||
dec temp
|
||||
bne @-
|
||||
|
||||
sbw xdraw #2 ; 2 pixels left
|
||||
sbw xdraw #2 ; 2 pixels left
|
||||
inw ydraw ; 1 pixel down
|
||||
|
||||
; draw second horizontal line
|
||||
mva #3 temp
|
||||
@
|
||||
jsr plot
|
||||
.nowarn dew xdraw
|
||||
dec temp
|
||||
jsr plot
|
||||
.nowarn dew xdraw
|
||||
dec temp
|
||||
bne @-
|
||||
|
||||
adw xdraw #2 ; 2 pixels right
|
||||
adw xdraw #2 ; 2 pixels right
|
||||
inw ydraw ; 1 pixel down
|
||||
|
||||
; and last pixel
|
||||
@@ -995,14 +993,14 @@ ToHighToParachute
|
||||
inw xdraw
|
||||
; plot 6 random color pixels
|
||||
mva #6 temp
|
||||
@ lda Erase
|
||||
eor #%00000001
|
||||
and random
|
||||
and #%00000001
|
||||
sta color
|
||||
jsr plot
|
||||
inw xdraw
|
||||
dec temp
|
||||
@ lda Erase
|
||||
eor #%00000001
|
||||
and random
|
||||
and #%00000001
|
||||
sta color
|
||||
jsr plot
|
||||
inw xdraw
|
||||
dec temp
|
||||
bne @-
|
||||
; clear last pixel under tank
|
||||
mva #0 color
|
||||
@@ -1046,11 +1044,11 @@ NoFallingSound
|
||||
and #01
|
||||
beq DoNotClearParachute
|
||||
; here we clear the parachute
|
||||
; ldx TankNr
|
||||
; ldx TankNr
|
||||
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
|
||||
@@ -1062,8 +1060,8 @@ DoNotClearParachute
|
||||
; time in our lives! Tada! It opens a new chapter!!!
|
||||
sta ydraw
|
||||
;
|
||||
; UnderTank1 ; byte under tank
|
||||
; UnderTank2 ; byte under tank reversed (for simple check right direction)
|
||||
; UnderTank1 ; byte under tank
|
||||
; UnderTank2 ; byte under tank reversed (for simple check right direction)
|
||||
lda #08
|
||||
sta temp ; Loop Counter
|
||||
ByteBelowTank
|
||||
@@ -1569,14 +1567,14 @@ SetYofNextTank
|
||||
ldy #0
|
||||
ldx #screenheight-1
|
||||
nextPointChecking
|
||||
txa
|
||||
cmp (modify),y
|
||||
bcc NotHigher
|
||||
lda (modify),y
|
||||
tax
|
||||
txa
|
||||
cmp (modify),y
|
||||
bcc NotHigher
|
||||
lda (modify),y
|
||||
tax
|
||||
NotHigher
|
||||
inw modify
|
||||
cpw modify #(mountaintable+screenwidth)
|
||||
inw modify
|
||||
cpw modify #(mountaintable+screenwidth)
|
||||
bne nextPointChecking
|
||||
txa
|
||||
rts
|
||||
@@ -1596,9 +1594,8 @@ notZero
|
||||
jsr _calc_inverse_display
|
||||
|
||||
; now find length of the text
|
||||
@
|
||||
iny
|
||||
lda (LineAddress4x4),y
|
||||
@ iny
|
||||
lda (LineAddress4x4),y
|
||||
bpl @-
|
||||
iny
|
||||
sty fx
|
||||
@@ -2046,8 +2043,8 @@ ybarrel
|
||||
;--------------------------------------------------
|
||||
lda #$00 ; let all P/M disappear
|
||||
ldy #7
|
||||
@ sta hposp0,y
|
||||
dey
|
||||
@ sta hposp0,y
|
||||
dey
|
||||
bpl @-
|
||||
;:8 sta hposp0+# ; optimized... but Y!
|
||||
rts
|
||||
@@ -2057,27 +2054,16 @@ ybarrel
|
||||
lda #%01010101
|
||||
sta sizem ; all missiles, double width
|
||||
ldy #3
|
||||
@ lda #$00
|
||||
sta sizep0,y ; P0-P3 widths
|
||||
lda TankColoursTable,y ; colours of sprites under tanks
|
||||
sta PCOLR0,y
|
||||
dey
|
||||
@ lda #$00
|
||||
sta sizep0,y ; P0-P3 widths
|
||||
lda TankColoursTable,y ; colours of sprites under tanks
|
||||
sta PCOLR0,y
|
||||
dey
|
||||
bpl @-
|
||||
LDA TankColoursTable+4
|
||||
STA COLOR3 ; joined missiles (5th tank)
|
||||
rts
|
||||
.endp
|
||||
;--------------------------------------------------
|
||||
.proc Lissajous
|
||||
;--------------------------------------------------
|
||||
; x = Asin(at + fi)
|
||||
; y = Bsin(bt)
|
||||
; center: xdraw, ydraw
|
||||
|
||||
|
||||
|
||||
|
||||
rts
|
||||
.endp
|
||||
|
||||
.endif
|
||||
+34
-45
@@ -52,19 +52,23 @@ AdditionalZPvariables = $20
|
||||
FirstZpageVariable = $51
|
||||
.zpvar DliColorBack .byte = FirstZpageVariable
|
||||
.zpvar FirstKeypressDelay .byte
|
||||
.zpvar ClearSky .byte ; $ff - Crear sky during drawmountains, 0 - no clear sky
|
||||
.zpvar PaddleState .byte ; old state 2nd button for 2 buttons joysticks
|
||||
.zpvar ClearSky .byte ; $ff - Crear sky during drawmountains, 0 - no clear sky
|
||||
.zpvar PaddleState .byte ; old state 2nd button for 2 buttons joysticks
|
||||
.zpvar GradientNr .byte
|
||||
.zpvar GradientColors .word
|
||||
.zpvar WindChangeInRound .byte ; wind change after each turn (not round only) flag - (0 - round only, >0 - each turn)
|
||||
.zpvar RandomMountains .byte ; mountains type change after each turn flag - (0 - round only, >0 - each turn)
|
||||
.zpvar FastSoilDown .byte ; 0 - standard, >0 - fast
|
||||
.zpvar WindChangeInRound .byte ; wind change after each turn (not round only) flag
|
||||
; (0 - round only, >0 - each turn)
|
||||
.zpvar RandomMountains .byte ; mountains type change after each turn flag
|
||||
; (0 - round only, >0 - each turn)
|
||||
.zpvar FastSoilDown .byte ; 0 - standard, >0 - fast
|
||||
.zpvar JoystickNumber .byte
|
||||
.zpvar LazyFlag .byte ; 7 bit - run Lazy Darwin, 6 bit - run Lazy Boy or Darwin (!) after inventory, 0 - nothing
|
||||
.zpvar SpyHardFlag .byte ; >$7f - run SpyHard after inventory
|
||||
.zpvar Vdebug .byte ; "visual debug" flag ($00 - off, $ff - on)
|
||||
.zpvar xdraw .word ;= $64 ;variable X for plot
|
||||
.zpvar ydraw .word ;variable Y for plot (like in Atari Basic - Y=0 in upper right corner of the screen)
|
||||
.zpvar LazyFlag .byte ; 7 bit - run Lazy Darwin, 6 bit - run Lazy Boy or Darwin (!) after inventory
|
||||
; 0 - nothing
|
||||
.zpvar SpyHardFlag .byte ; >$7f - run SpyHard after inventory
|
||||
.zpvar Vdebug .byte ; "visual debug" flag ($00 - off, $ff - on)
|
||||
.zpvar xdraw .word ; = $64 ;variable X for plot
|
||||
.zpvar ydraw .word ; variable Y for plot
|
||||
; (like in Atari Basic - Y=0 in upper right corner of the screen)
|
||||
.zpvar xbyte .word
|
||||
.zpvar ybyte .word
|
||||
.zpvar CharCode .byte
|
||||
@@ -73,12 +77,12 @@ FirstZpageVariable = $51
|
||||
.zpvar TankSequencePointer .byte
|
||||
.zpvar oldplot .word
|
||||
.zpvar xc .word
|
||||
.zpvar temp .word ;temporary word for the most embeded loops only
|
||||
.zpvar temp2 .word ;same as above
|
||||
.zpvar modify .word ;origially used to replace self-modyfying code
|
||||
.zpvar tempXROLLER .word ;same as above for XROLLER routine (used also in result display routine)
|
||||
.zpvar xtempDRAW .word ;same as above for XDRAW routine
|
||||
.zpvar ytempDRAW .word ;same as above for XDRAW routine
|
||||
.zpvar temp .word ; temporary word for the most embeded loops only
|
||||
.zpvar temp2 .word ; same as above
|
||||
.zpvar modify .word ; origially used to replace self-modyfying code
|
||||
.zpvar tempXROLLER .word ; same as above for XROLLER routine (used also in result display routine)
|
||||
.zpvar xtempDRAW .word ; same as above for XDRAW routine
|
||||
.zpvar ytempDRAW .word ; same as above for XDRAW routine
|
||||
.zpvar tempor2 .word
|
||||
.zpvar CreditsVScrol .byte
|
||||
;--------------temps used in circle routine
|
||||
@@ -103,7 +107,7 @@ FirstZpageVariable = $51
|
||||
.zpvar dliCounter .byte
|
||||
.zpvar pressTimer .byte
|
||||
.zpvar NTSCcounter .byte
|
||||
.zpvar IsEndOfTheFallFlag .byte ; for small speedup ground falling
|
||||
.zpvar IsEndOfTheFallFlag .byte ;for small speedup ground falling
|
||||
.zpvar sfx_effect .byte
|
||||
.zpvar RMT_blocked .byte
|
||||
.zpvar ScrollFlag .byte
|
||||
@@ -129,10 +133,11 @@ FirstZpageVariable = $51
|
||||
.zpvar xcircle .word
|
||||
.zpvar ycircle .word
|
||||
.zpvar vy .word
|
||||
.zpvar vy_ .word ; 4 bytes
|
||||
.zpvar vy_ .word ; 4 bytes
|
||||
.zpvar vx .word
|
||||
.zpvar vx_ .word ; 4 bytes
|
||||
.zpvar HitFlag .byte ;$ff when missile hit ground, $00 when no hit, $01-$06 tank index+1 when hit tank
|
||||
.zpvar vx_ .word ; 4 bytes
|
||||
.zpvar HitFlag .byte ; $ff when missile hit ground, $00 when no hit,
|
||||
; $01-$06 tank index+1 when hit tank
|
||||
.zpvar PositionOnTheList .byte ; pointer position on the list being displayed
|
||||
.zpvar XHit .word
|
||||
.zpvar delta .word
|
||||
@@ -147,7 +152,8 @@ FirstZpageVariable = $51
|
||||
.zpvar RangeLeft .word
|
||||
.zpvar RangeRight .word
|
||||
.zpvar NewAngle .byte
|
||||
.zpvar escFlag .byte ; 7 bit - Exit game, 6 bit - Exit to GameOver (cleared - exit to Menu), 0 - nothing
|
||||
.zpvar escFlag .byte ; 7 bit - Exit game,
|
||||
; 6 bit - Exit to GameOver (cleared - exit to Menu), 0 - nothing
|
||||
.zpvar LineYdraw .byte
|
||||
.zpvar LineXdraw .word
|
||||
.zpvar plot4x4color .byte ; $00 / $ff
|
||||
@@ -163,7 +169,7 @@ FirstZpageVariable = $51
|
||||
.zpvar goleft .byte
|
||||
.zpvar OffsetDL1 .byte
|
||||
.zpvar L1 .byte
|
||||
HotNapalmFlag = FunkyBombCounter ; reuse variable!
|
||||
HotNapalmFlag = FunkyBombCounter ; variable reuse!
|
||||
displayposition = modify
|
||||
LineAddress4x4 = xcircle
|
||||
;* RMT ZeroPage addresses in artwork/sfx/scorch_str9-NTSC.rmt
|
||||
@@ -184,23 +190,6 @@ FirstZpageVariable = $51
|
||||
icl 'Atari/lib/5200SYS.ASM'
|
||||
icl 'Atari/lib/5200MACRO.ASM'
|
||||
.enum @kbcode
|
||||
/*
|
||||
_0
|
||||
_1
|
||||
_2
|
||||
_3
|
||||
_4
|
||||
_5
|
||||
_6
|
||||
_7
|
||||
_8
|
||||
_9
|
||||
_asterisk = $0a
|
||||
_hash = $0b
|
||||
_start = $0c
|
||||
_pause = $0d
|
||||
_reset = $0e
|
||||
*/
|
||||
_space = $00
|
||||
_Y = $01
|
||||
_up = $02
|
||||
@@ -266,15 +255,15 @@ StatusBufferCopyEnd
|
||||
;--------------------------------------------------
|
||||
FirstSTART
|
||||
.IF TARGET = 5200
|
||||
; start in 5200 diagnostic mode
|
||||
; move original startup procedure to RAM
|
||||
; start in 5200 diagnostic mode
|
||||
; move original startup procedure to RAM
|
||||
|
||||
Modified5200Splash = $2100 ; apparently there is some free space here
|
||||
; check kernel version
|
||||
; check kernel version
|
||||
Atari5200KernelByte = $fff8
|
||||
; $32 - 4 joy
|
||||
; $00 - 2 joy
|
||||
; $ff - Altirra kernel
|
||||
; $32 - 4 joy
|
||||
; $00 - 2 joy
|
||||
; $ff - Altirra kernel
|
||||
|
||||
lda Atari5200KernelByte
|
||||
beq rom2joy
|
||||
|
||||
Reference in New Issue
Block a user