second: more timing

This commit is contained in:
Vince Weaver 2023-11-01 01:04:28 -04:00
parent 4d8b79c4f6
commit 670608af34
6 changed files with 80 additions and 25 deletions

View File

@ -178,6 +178,7 @@ qload.inc: generate_common QLOAD
./generate_common -a 0x1200 -s load_file qload.lst > qload.inc ./generate_common -a 0x1200 -s load_file qload.lst > qload.inc
./generate_common -a 0x1200 -s detect_appleii_model qload.lst >> qload.inc ./generate_common -a 0x1200 -s detect_appleii_model qload.lst >> qload.inc
./generate_common -a 0x1200 -s clear_all qload.lst >> qload.inc ./generate_common -a 0x1200 -s clear_all qload.lst >> qload.inc
./generate_common -a 0x1200 -s clear_all_color qload.lst >> qload.inc
./generate_common -a 0x1200 -s set_normal qload.lst >> qload.inc ./generate_common -a 0x1200 -s set_normal qload.lst >> qload.inc
./generate_common -a 0x1200 -s set_inverse qload.lst >> qload.inc ./generate_common -a 0x1200 -s set_inverse qload.lst >> qload.inc
./generate_common -a 0x1200 -s wait qload.lst >> qload.inc ./generate_common -a 0x1200 -s wait qload.lst >> qload.inc

View File

@ -36,15 +36,15 @@ chess_start:
;=================== ;===================
; wait until pattern1 ; wait until pattern1
;pattern1_loop: pattern2_loop:
; lda #1 lda #2
; jsr wait_for_pattern jsr wait_for_pattern
; bcc pattern2_loop bcc pattern2_loop
; technically the above, but we're not fast enough ; technically the above, but we're not fast enough
lda #175 ; lda #175
jsr wait_ticks ; jsr wait_ticks
; lda #$FF ; lda #$FF
; jsr hgr_page1_clearscreen ; jsr hgr_page1_clearscreen
@ -282,11 +282,12 @@ tunnel_loop:
lda #8 lda #8
jsr wait_irq jsr wait_irq
lda KEYPRESS ; finish at music pattern #13 or keypress
bpl tunnel_loop lda #13
jsr wait_for_pattern
bcc tunnel_loop
main_tunnel_done: main_tunnel_done:
bit KEYRESET
;================== ;==================
;================== ;==================
@ -298,6 +299,11 @@ main_tunnel_done:
jsr zooming_circles jsr zooming_circles
lda #$ff
sta clear_all_color+1
jsr clear_all
; todo, fade to white ; todo, fade to white
;================== ;==================
@ -308,13 +314,27 @@ main_tunnel_done:
;================== ;==================
;================== ;==================
; first until pattern 18
lda #18
sta interference_end_smc+1
jsr interference
; TODO: falling bars
jsr clear_all
lda #50
jsr wait_ticks
; again until pattern 25
lda #25
sta interference_end_smc+1
jsr interference jsr interference
main_interference_done: main_interference_done:
rts rts

View File

@ -11,6 +11,9 @@
zooming_circles: zooming_circles:
lda #5
jsr setup_timeout
;=================== ;===================
; init screen ; init screen
@ -85,13 +88,17 @@ xloop:
dex ; 1 dex ; 1
bpl yloop ; 2 bpl yloop ; 2
lda KEYPRESS jsr check_timeout
bmi done_circles bcs done_circles
bcc circle_forever
bpl circle_forever ; bra ; lda KEYPRESS
; bmi done_circles
; bpl circle_forever ; bra
done_circles: done_circles:
bit KEYRESET ; bit KEYRESET
rts rts

View File

@ -184,13 +184,18 @@ done_patch1:
sta patch1 sta patch1
;=================================== ;===================================
lda KEYPRESS interference_end_smc:
bmi done_interference lda #18
jsr wait_for_pattern
bcs done_interference
; lda KEYPRESS
; bmi done_interference
jmp draw_oval_loop ; bra jmp draw_oval_loop ; bra
done_interference: done_interference:
bit KEYRESET ; bit KEYRESET
rts rts

View File

@ -8,6 +8,7 @@
.include "../zp.inc" .include "../zp.inc"
.include "../hardware.inc" .include "../hardware.inc"
.include "../qload.inc" .include "../qload.inc"
.include "../music.inc"
mod7_table = $1c00 mod7_table = $1c00
div7_table = $1d00 div7_table = $1d00
@ -23,15 +24,21 @@ gorilla_start:
; Load graphics ; Load graphics
;=================== ;===================
bit SET_GR ; DEBUG
bit HIRES lda #25
bit FULLGR sta current_pattern_smc+1
bit PAGE1 jsr pt3_set_pattern
lda #0 lda #0
jsr hgr_page1_clearscreen jsr hgr_page1_clearscreen
jsr hgr_page2_clearscreen jsr hgr_page2_clearscreen
; switch to HIRES (previous screen was lores)
bit SET_GR
bit HIRES
bit FULLGR
bit PAGE2 bit PAGE2
; load image offscreen $6000 ; load image offscreen $6000
@ -48,14 +55,28 @@ gorilla_start:
sta COUNT sta COUNT
sta DRAW_PAGE sta DRAW_PAGE
ship_sprite_loop:
lda #$60 lda #$60
jsr hgr_copy jsr hgr_copy
bit PAGE1 bit PAGE1
jsr wait_until_keypress gorilla_wait:
lda #29
jsr wait_for_pattern
bcc gorilla_wait
; TODO: TV_shutoff effect
lda #0
jsr hgr_page1_clearscreen
gorilla_wait2:
lda #30
jsr wait_for_pattern
bcc gorilla_wait2
gorilla_done: gorilla_done:
rts rts
@ -79,6 +100,8 @@ wait_irq_loop:
bne wait_irq_loop bne wait_irq_loop
rts rts
.include "../irq_wait.s"
gorilla_data: gorilla_data:
.incbin "graphics/mntscrl3.hgr.zx02" .incbin "graphics/mntscrl3.hgr.zx02"

View File

@ -180,7 +180,6 @@ load_program_loop:
sta DONE_PLAYING sta DONE_PLAYING
lda #1 lda #1
sta LOOP sta LOOP
;======================== ;========================