; Cyan opener ; by deater (Vince Weaver) .include "../zp.inc" .include "../hardware.inc" .include "../qload.inc" .include "disk00_defines.inc" NUM_SCENES = 20 ;=================== ; notes for cyan opening cyan_opener: ;=================== ; Setup graphics ;=================== bit SET_GR bit HIRES bit FULLGR bit PAGE1 lda #0 sta SCENE_COUNT bit KEYRESET ;=============================== ;=============================== ; main loop ;=============================== ;=============================== cyan_loop: ; decompress graphics ldx SCENE_COUNT lda frames_l,X sta ZX0_src lda frames_h,X sta ZX0_src+1 lda #$20 ; hgr page1 jsr full_decomp ldx #10 jsr wait_a_bit ; exit early if keypress ; lda KEYPRESS ; bmi early_exit inc SCENE_COUNT lda SCENE_COUNT cmp #NUM_SCENES bne cyan_loop ; lurk at logo for 2s? ldx #40 jsr wait_a_bit ;early_exit: ;really_exit: bit KEYRESET lda #LOAD_ATRUS sta WHICH_LOAD lda #$1 sta LEVEL_OVER rts frames_l: .byte cyan01_zx02 .byte >cyan02_zx02 .byte >cyan03_zx02 .byte >cyan04_zx02 .byte >cyan05_zx02 .byte >cyan06_zx02 .byte >cyan07_zx02 ; .byte >cyan08_zx02 .byte >cyan09_zx02 .byte >cyan10_zx02 .byte >cyan11_zx02 .byte >cyan12_zx02 .byte >cyan13_zx02 .byte >cyan14_zx02 .byte >cyan15_zx02 .byte >cyan16_zx02 .byte >cyan17_zx02 .byte >cyan18_zx02 .byte >cyan19_zx02 .byte >cyan20_zx02 .byte >cyan21_zx02 cyan_graphics: .include "graphics_cyan/cyan_graphics.inc"