trogdor: work on timing a bit

This commit is contained in:
Vince Weaver 2024-01-29 01:04:59 -05:00
parent 9bdfebdd30
commit cf1fc32b63
3 changed files with 46 additions and 40 deletions

View File

@ -20,6 +20,11 @@
do_flames:
; this gets set to 1 if bg being copied
lda #2
sta FLAME_DELAY
;======================================
; left flame short 2 frames
@ -30,7 +35,7 @@ do_flames:
jsr draw_flame_small_1
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
@ -48,7 +53,8 @@ left_flame_animate1:
ldx FLAME_L
jsr draw_flame_tall_1
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
; 2
@ -58,7 +64,8 @@ left_flame_animate1:
ldx FLAME_L
jsr draw_flame_tall_2
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
dec ANIMATE_COUNT
@ -77,7 +84,7 @@ left_flame_animate1:
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
@ -96,7 +103,8 @@ right_flame_animate1:
ldx FLAME_R
jsr draw_flame_tall_2
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
; 1
@ -106,7 +114,8 @@ right_flame_animate1:
ldx FLAME_R
jsr draw_flame_tall_1
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
dec ANIMATE_COUNT
@ -121,7 +130,7 @@ right_flame_animate1:
jsr draw_flame_small_2
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
;=============================
@ -133,7 +142,7 @@ right_flame_animate1:
jsr draw_flame_small_1
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
;================================================
@ -150,7 +159,8 @@ left_flame_animate2:
ldx FLAME_L
jsr draw_flame_tall_1
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
; 2
@ -160,7 +170,8 @@ left_flame_animate2:
ldx FLAME_L
jsr draw_flame_tall_2
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jsr wait_ticks
dec ANIMATE_COUNT
@ -176,14 +187,9 @@ left_flame_animate2:
jsr draw_flame_small_1
jsr hgr_page_flip
lda #2
lda FLAME_DELAY
jmp wait_ticks ; tail call
; jsr wait_ticks
; rts
;===============================
; draw_flame_bg
@ -204,15 +210,15 @@ draw_flame_bg:
flame_bg_right:
jsr hgr_copy_right
rts
lda #1
sta FLAME_DELAY
jmp hgr_copy_right ; tail call
flame_bg_left:
jsr hgr_copy_left
rts
lda #1
sta FLAME_DELAY
jmp hgr_copy_left ; tail call
flame_bg_clear:
@ -249,15 +255,13 @@ draw_flame_small_common:
sta MASKH
txa
; lda #8
sta SPRITE_X
lda #152
sta SPRITE_Y
jsr hgr_draw_sprite_big_mask
jmp hgr_draw_sprite_big_mask ; tail call
rts
;===============================
; draw_flame_tall
@ -292,16 +296,13 @@ draw_flame_tall_2:
draw_left_flame_common:
; lda #8
txa
sta SPRITE_X
lda #54
sta SPRITE_Y
jsr hgr_draw_sprite_big_mask
rts
jmp hgr_draw_sprite_big_mask ; tail call
;===================================
@ -311,16 +312,16 @@ draw_twin_flames_tall_1:
ldx #4
jsr draw_flame_tall_1
ldx #28
jsr draw_flame_tall_2
rts
jmp draw_flame_tall_2 ; tail call
draw_twin_flames_tall_2:
ldx #4
jsr draw_flame_tall_2
ldx #28
jsr draw_flame_tall_1
rts
jmp draw_flame_tall_1 ; tail call
;===================================
@ -330,5 +331,5 @@ draw_twin_flames_low:
ldx #4
jsr draw_flame_small_1
ldx #28
jsr draw_flame_small_2
rts
jmp draw_flame_small_2 ; tail call

View File

@ -156,7 +156,7 @@ scroll_in_loop:
cmp #200
bne scroll_in_loop
lda #10
lda #30
jsr wait_ticks
@ -186,7 +186,6 @@ scroll_in_loop:
jsr zx02_full_decomp
; pan 9 times
; FIXME: update timing
lda #9
jsr horiz_pan
@ -221,7 +220,7 @@ scroll_in_loop:
jsr hgr_page_flip
lda #42
lda #20
jsr wait_ticks
;=====================
@ -241,7 +240,7 @@ scroll_in_loop:
jsr hgr_page_flip
lda #30
lda #10
jsr wait_ticks
@ -258,6 +257,9 @@ scroll_in_loop:
lda #160
jsr wait_ticks
lda #120
jsr wait_ticks
;======================================
@ -288,7 +290,9 @@ scroll_in_loop:
jsr hgr_page_flip
lda #50 ; should be 250?
lda #160
jsr wait_ticks
lda #90
jsr wait_ticks
;==========================

View File

@ -134,6 +134,7 @@ ANIMATE_COUNT = $F5
FLAME_L = $F6
FLAME_R = $F7
FLAME_BG = $F8
FLAME_DELAY = $F9
;==============================================
; $FC-$FF we use for in/out pointers