DLI timing fix and level/timer names
This commit is contained in:
+48
-141
@@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
.macro build
|
.macro build
|
||||||
dta d"0.76" ; number of this build (4 bytes)
|
dta d"0.77" ; number of this build (4 bytes)
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro RMTSong
|
.macro RMTSong
|
||||||
@@ -30,7 +30,6 @@
|
|||||||
icl 'lib/ATARISYS.ASM'
|
icl 'lib/ATARISYS.ASM'
|
||||||
icl 'lib/MACRO.ASM'
|
icl 'lib/MACRO.ASM'
|
||||||
|
|
||||||
display = $a000
|
|
||||||
.zpvar temp .word = $80
|
.zpvar temp .word = $80
|
||||||
.zpvar temp2 .word
|
.zpvar temp2 .word
|
||||||
.zpvar VBItemp .word
|
.zpvar VBItemp .word
|
||||||
@@ -265,7 +264,7 @@ Power = power_bar+32+10
|
|||||||
gamescreen_middle
|
gamescreen_middle
|
||||||
.ds 32*18 ; 18 lines
|
.ds 32*18 ; 18 lines
|
||||||
screen_score = gamescreen_middle+9*32+14
|
screen_score = gamescreen_middle+9*32+14
|
||||||
screen_level = gamescreen_middle+1*32+12
|
screen_timer = gamescreen_middle+1*32+12
|
||||||
;---------------------------------------------------
|
;---------------------------------------------------
|
||||||
GameColors
|
GameColors
|
||||||
.ds 64
|
.ds 64
|
||||||
@@ -470,7 +469,7 @@ is_PAL
|
|||||||
; time up
|
; time up
|
||||||
bit TimeCount
|
bit TimeCount
|
||||||
bpl time_stopped
|
bpl time_stopped
|
||||||
jsr LevelUp
|
jsr TimelUp
|
||||||
time_stopped
|
time_stopped
|
||||||
; power down
|
; power down
|
||||||
dec PowerTimer
|
dec PowerTimer
|
||||||
@@ -1093,22 +1092,13 @@ DLI_L2
|
|||||||
:2 sta WSYNC
|
:2 sta WSYNC
|
||||||
mva GameColors+c_font3 COLPF3
|
mva GameColors+c_font3 COLPF3
|
||||||
mva #0 DLIcount
|
mva #0 DLIcount
|
||||||
mwa #GameOverDLI1.DLI3 VDSLST
|
mwa #GameOverDLI1.DLI2 VDSLST
|
||||||
pla
|
pla
|
||||||
rti
|
rti
|
||||||
/* DLI2
|
;
|
||||||
pha
|
LastLine
|
||||||
; end of chain
|
|
||||||
:3 sta WSYNC
|
|
||||||
mva GameColors+c_font1b COLPF1
|
|
||||||
mwa #GameOverDLI1.DLI3 VDSLST
|
|
||||||
pla
|
|
||||||
rti */
|
|
||||||
DLI8
|
|
||||||
pha
|
|
||||||
; character set change
|
; character set change
|
||||||
sta WSYNC
|
sta WSYNC
|
||||||
LastLine
|
|
||||||
mva #>font_over CHBASE
|
mva #>font_over CHBASE
|
||||||
; set lower colors
|
; set lower colors
|
||||||
mva GameColors+c_font1b COLPF1
|
mva GameColors+c_font1b COLPF1
|
||||||
@@ -1116,7 +1106,7 @@ LastLine
|
|||||||
inc SyncByte
|
inc SyncByte
|
||||||
pla
|
pla
|
||||||
rti
|
rti
|
||||||
DLI3
|
DLI2
|
||||||
pha
|
pha
|
||||||
lda DLIcount
|
lda DLIcount
|
||||||
cmp #5
|
cmp #5
|
||||||
@@ -1143,90 +1133,7 @@ this_line_score1
|
|||||||
inc DLIcount
|
inc DLIcount
|
||||||
pla
|
pla
|
||||||
rti
|
rti
|
||||||
/* DLI4
|
|
||||||
pha
|
|
||||||
sta WSYNC
|
|
||||||
lda NewHiScorePosition
|
|
||||||
cmp #1
|
|
||||||
beq this_line_score2
|
|
||||||
mva GameColors+c_font1 COLPF1
|
|
||||||
mva GameColors+c_font2 COLPF2
|
|
||||||
:12 sta WSYNC
|
|
||||||
mva GameColors+c_font5 COLPF2
|
|
||||||
mwa #GameOverDLI1.DLI5 VDSLST
|
|
||||||
pla
|
|
||||||
rti
|
|
||||||
this_line_score2
|
|
||||||
mva GameColors+c_font1b COLPF1
|
|
||||||
mva GameColors+c_font2b COLPF2
|
|
||||||
:12 sta WSYNC
|
|
||||||
mva GameColors+c_font5b COLPF2
|
|
||||||
mwa #GameOverDLI1.DLI5 VDSLST
|
|
||||||
pla
|
|
||||||
rti
|
|
||||||
DLI5
|
|
||||||
pha
|
|
||||||
sta WSYNC
|
|
||||||
lda NewHiScorePosition
|
|
||||||
cmp #2
|
|
||||||
beq this_line_score3
|
|
||||||
mva GameColors+c_font1 COLPF1
|
|
||||||
mva GameColors+c_font2 COLPF2
|
|
||||||
:12 sta WSYNC
|
|
||||||
mva GameColors+c_font5 COLPF2
|
|
||||||
mwa #GameOverDLI1.DLI6 VDSLST
|
|
||||||
pla
|
|
||||||
rti
|
|
||||||
this_line_score3
|
|
||||||
mva GameColors+c_font1b COLPF1
|
|
||||||
mva GameColors+c_font2b COLPF2
|
|
||||||
:12 sta WSYNC
|
|
||||||
mva GameColors+c_font5b COLPF2
|
|
||||||
mwa #GameOverDLI1.DLI6 VDSLST
|
|
||||||
pla
|
|
||||||
rti
|
|
||||||
DLI6
|
|
||||||
pha
|
|
||||||
sta WSYNC
|
|
||||||
lda NewHiScorePosition
|
|
||||||
cmp #3
|
|
||||||
beq this_line_score4
|
|
||||||
mva GameColors+c_font1 COLPF1
|
|
||||||
mva GameColors+c_font2 COLPF2
|
|
||||||
:12 sta WSYNC
|
|
||||||
mva GameColors+c_font5 COLPF2
|
|
||||||
mwa #GameOverDLI1.DLI7 VDSLST
|
|
||||||
pla
|
|
||||||
rti
|
|
||||||
this_line_score4
|
|
||||||
mva GameColors+c_font1b COLPF1
|
|
||||||
mva GameColors+c_font2b COLPF2
|
|
||||||
:12 sta WSYNC
|
|
||||||
mva GameColors+c_font5b COLPF2
|
|
||||||
mwa #GameOverDLI1.DLI7 VDSLST
|
|
||||||
pla
|
|
||||||
rti
|
|
||||||
DLI7
|
|
||||||
pha
|
|
||||||
sta WSYNC
|
|
||||||
lda NewHiScorePosition
|
|
||||||
cmp #4
|
|
||||||
beq this_line_score5
|
|
||||||
mva GameColors+c_font1 COLPF1
|
|
||||||
mva GameColors+c_font2 COLPF2
|
|
||||||
:12 sta WSYNC
|
|
||||||
mva GameColors+c_font5 COLPF2
|
|
||||||
mwa #GameOverDLI1.DLI8 VDSLST
|
|
||||||
pla
|
|
||||||
rti
|
|
||||||
this_line_score5
|
|
||||||
mva GameColors+c_font1b COLPF1
|
|
||||||
mva GameColors+c_font2b COLPF2
|
|
||||||
:12 sta WSYNC
|
|
||||||
mva GameColors+c_font5b COLPF2
|
|
||||||
mwa #GameOverDLI1.DLI8 VDSLST
|
|
||||||
pla
|
|
||||||
rti */
|
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc HelpDLI1
|
.proc HelpDLI1
|
||||||
@@ -1643,7 +1550,7 @@ EndOfStartScreen
|
|||||||
iny
|
iny
|
||||||
reverse_birds
|
reverse_birds
|
||||||
sty birds_order ; set birds order
|
sty birds_order ; set birds order
|
||||||
jsr LevelReset
|
jsr TimerReset
|
||||||
jsr InitBranches
|
jsr InitBranches
|
||||||
jsr draw_branches
|
jsr draw_branches
|
||||||
mva #24 PowerValue ; half power
|
mva #24 PowerValue ; half power
|
||||||
@@ -2350,7 +2257,7 @@ next_line
|
|||||||
|
|
||||||
jsr CreditsClear
|
jsr CreditsClear
|
||||||
mva #$00 birds_order ; standard birds order
|
mva #$00 birds_order ; standard birds order
|
||||||
jsr LevelReset
|
jsr TimerReset
|
||||||
jsr InitBranches
|
jsr InitBranches
|
||||||
jsr draw_branches
|
jsr draw_branches
|
||||||
mva #24 PowerValue ; half power
|
mva #24 PowerValue ; half power
|
||||||
@@ -3125,7 +3032,7 @@ branches_anim_phase ; from 0 to 4
|
|||||||
.by 1
|
.by 1
|
||||||
score
|
score
|
||||||
dta d"0000"
|
dta d"0000"
|
||||||
level
|
timer
|
||||||
dta d"00", $1a, d"00", $1a, d"00"
|
dta d"00", $1a, d"00", $1a, d"00"
|
||||||
EyesPhase
|
EyesPhase
|
||||||
.ds 1
|
.ds 1
|
||||||
@@ -3254,113 +3161,113 @@ ScoreReady
|
|||||||
sbc #("0"-'0')
|
sbc #("0"-'0')
|
||||||
sta hs_posX+9
|
sta hs_posX+9
|
||||||
; time
|
; time
|
||||||
lda level
|
lda timer
|
||||||
sec
|
sec
|
||||||
sbc #("0"-'0')
|
sbc #("0"-'0')
|
||||||
sta hs_posX
|
sta hs_posX
|
||||||
lda level+1
|
lda timer+1
|
||||||
sec
|
sec
|
||||||
sbc #("0"-'0')
|
sbc #("0"-'0')
|
||||||
sta hs_posX+1
|
sta hs_posX+1
|
||||||
lda level+3
|
lda timer+3
|
||||||
sec
|
sec
|
||||||
sbc #("0"-'0')
|
sbc #("0"-'0')
|
||||||
sta hs_posX+2
|
sta hs_posX+2
|
||||||
lda level+4
|
lda timer+4
|
||||||
sec
|
sec
|
||||||
sbc #("0"-'0')
|
sbc #("0"-'0')
|
||||||
sta hs_posX+3
|
sta hs_posX+3
|
||||||
lda level+6
|
lda timer+6
|
||||||
sec
|
sec
|
||||||
sbc #("0"-'0')
|
sbc #("0"-'0')
|
||||||
sta hs_posX+4
|
sta hs_posX+4
|
||||||
lda level+7
|
lda timer+7
|
||||||
sec
|
sec
|
||||||
sbc #("0"-'0')
|
sbc #("0"-'0')
|
||||||
sta hs_posX+5
|
sta hs_posX+5
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc LevelToScreen
|
.proc TimeToScreen
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
ldx #7
|
ldx #7
|
||||||
@ lda level,x
|
@ lda timer,x
|
||||||
sta screen_level,x
|
sta screen_timer,x
|
||||||
dex
|
dex
|
||||||
bpl @-
|
bpl @-
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc LevelReset
|
.proc TimerReset
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
; set level to 1 and PowerDownSpeed to ??
|
; set timer to 1 and PowerDownSpeed to ??
|
||||||
lda #"0"
|
lda #"0"
|
||||||
sta level
|
sta timer
|
||||||
sta level+1
|
sta timer+1
|
||||||
sta level+3
|
sta timer+3
|
||||||
sta level+4
|
sta timer+4
|
||||||
sta level+6
|
sta timer+6
|
||||||
sta level+7
|
sta timer+7
|
||||||
|
|
||||||
mvy #0 PowerSpeedIndex
|
mvy #0 PowerSpeedIndex
|
||||||
lda (SpeedTableAdr),y
|
lda (SpeedTableAdr),y
|
||||||
sta PowerDownSpeed
|
sta PowerDownSpeed
|
||||||
jsr LevelToScreen
|
jsr TimeToScreen
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
.proc LevelUp
|
.proc TimelUp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
lda #"0" ; for speed
|
lda #"0" ; for speed
|
||||||
ldx level+7
|
ldx timer+7
|
||||||
inx
|
inx
|
||||||
inx
|
inx
|
||||||
cpx #"9"+1
|
cpx #"9"+1
|
||||||
bcs next_digit6
|
bcs next_digit6
|
||||||
stx level+7
|
stx timer+7
|
||||||
bne to_screen
|
bne to_screen
|
||||||
next_digit6
|
next_digit6
|
||||||
tax ; "0"
|
tax ; "0"
|
||||||
stx level+7
|
stx timer+7
|
||||||
ldx level+6
|
ldx timer+6
|
||||||
inx
|
inx
|
||||||
cpx #"9"+1
|
cpx #"9"+1
|
||||||
bcs next_digit4
|
bcs next_digit4
|
||||||
stx level+6
|
stx timer+6
|
||||||
bne to_screen
|
bne to_screen
|
||||||
next_digit4
|
next_digit4
|
||||||
tax ; "0"
|
tax ; "0"
|
||||||
stx level+6
|
stx timer+6
|
||||||
ldx level+4
|
ldx timer+4
|
||||||
inx
|
inx
|
||||||
cpx #"9"+1
|
cpx #"9"+1
|
||||||
bcs next_digit3
|
bcs next_digit3
|
||||||
stx level+4
|
stx timer+4
|
||||||
bne to_screen
|
bne to_screen
|
||||||
next_digit3
|
next_digit3
|
||||||
tax ; "0"
|
tax ; "0"
|
||||||
stx level+4
|
stx timer+4
|
||||||
ldx level+3
|
ldx timer+3
|
||||||
inx
|
inx
|
||||||
cpx #"6"
|
cpx #"6"
|
||||||
bcs next_digit1
|
bcs next_digit1
|
||||||
stx level+3
|
stx timer+3
|
||||||
bne to_screen
|
bne to_screen
|
||||||
next_digit1
|
next_digit1
|
||||||
tax ; "0"
|
tax ; "0"
|
||||||
stx level+3
|
stx timer+3
|
||||||
ldx level+1
|
ldx timer+1
|
||||||
inx
|
inx
|
||||||
cpx #"9"+1
|
cpx #"9"+1
|
||||||
bcs next_digit0
|
bcs next_digit0
|
||||||
stx level+1
|
stx timer+1
|
||||||
bne to_screen
|
bne to_screen
|
||||||
next_digit0
|
next_digit0
|
||||||
tax ; "0"
|
tax ; "0"
|
||||||
stx level+1
|
stx timer+1
|
||||||
inc level
|
inc timer
|
||||||
to_screen
|
to_screen
|
||||||
jsr LevelToScreen
|
jsr TimeToScreen
|
||||||
rts
|
rts
|
||||||
.endp
|
.endp
|
||||||
;--------------------------------------------------
|
;--------------------------------------------------
|
||||||
@@ -3487,7 +3394,7 @@ draw_branch1
|
|||||||
iny
|
iny
|
||||||
cpy #(5*32) ;5 lines
|
cpy #(5*32) ;5 lines
|
||||||
bne @-
|
bne @-
|
||||||
jsr LevelToScreen
|
jsr TimeToScreen
|
||||||
draw_branch2
|
draw_branch2
|
||||||
lda branches_anim_phase
|
lda branches_anim_phase
|
||||||
; now calculate start screen address
|
; now calculate start screen address
|
||||||
|
|||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user