ds: hook up end animations
@ -53,10 +53,13 @@ demosplash.o: demosplash.s \
|
|||||||
pt3_lib_init.s pt3_lib_core.s pt3_lib_mockingboard.s \
|
pt3_lib_init.s pt3_lib_core.s pt3_lib_mockingboard.s \
|
||||||
pt3_lib_play_frame.s pt3_lib_write_frame.s \
|
pt3_lib_play_frame.s pt3_lib_write_frame.s \
|
||||||
interrupt_handler.s \
|
interrupt_handler.s \
|
||||||
|
missing.s k_40_48d.inc create_update_type1.s \
|
||||||
starbase.s \
|
starbase.s \
|
||||||
starbase_action.s \
|
starbase_action.s \
|
||||||
missing.s k_40_48d.inc create_update_type1.s \
|
gr_run_sequence.s \
|
||||||
graphics/starbase/starbase.inc \
|
graphics/starbase/starbase.inc \
|
||||||
|
graphics/starbase/ship_flames.inc \
|
||||||
|
graphics/starbase/star_wipe.inc \
|
||||||
graphics/sprites/alien.inc graphics/sprites/astronaut.inc \
|
graphics/sprites/alien.inc graphics/sprites/astronaut.inc \
|
||||||
escape.s create_update_type2.s offsets_table2.s \
|
escape.s create_update_type2.s offsets_table2.s \
|
||||||
book.s book_40_48d.inc \
|
book.s book_40_48d.inc \
|
||||||
|
@ -185,7 +185,8 @@ wait_until_keypressed:
|
|||||||
.include "gr_pageflip.s"
|
.include "gr_pageflip.s"
|
||||||
.align $100
|
.align $100
|
||||||
.include "gr_fast_clear.s"
|
.include "gr_fast_clear.s"
|
||||||
;.include "gr_overlay.s"
|
.include "gr_overlay.s"
|
||||||
|
.include "gr_run_sequence.s"
|
||||||
.align $100
|
.align $100
|
||||||
.include "movement_table.s"
|
.include "movement_table.s"
|
||||||
.include "font.s"
|
.include "font.s"
|
||||||
@ -220,6 +221,9 @@ wait_until_keypressed:
|
|||||||
|
|
||||||
; Pictures (no need to align)
|
; Pictures (no need to align)
|
||||||
.include "appleII_40_96.inc"
|
.include "appleII_40_96.inc"
|
||||||
|
.include "graphics/starbase/starbase.inc"
|
||||||
|
.include "graphics/starbase/ship_flames.inc"
|
||||||
|
.include "graphics/starbase/star_wipe.inc"
|
||||||
.include "earth.inc"
|
.include "earth.inc"
|
||||||
.include "book_40_48d.inc"
|
.include "book_40_48d.inc"
|
||||||
.include "credits_bg.inc"
|
.include "credits_bg.inc"
|
||||||
|
108
demosplash/gr_overlay.s
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
|
||||||
|
;=========================================================
|
||||||
|
; gr_overlay, 40x48 version
|
||||||
|
;=========================================================
|
||||||
|
; copy 0xc00 to DRAW_PAGE
|
||||||
|
; then overlay with 0x1000, treating 0xa as transparent
|
||||||
|
|
||||||
|
gr_overlay:
|
||||||
|
jsr gr_copy_to_current
|
||||||
|
|
||||||
|
|
||||||
|
gr_overlay_noload:
|
||||||
|
|
||||||
|
lda #40
|
||||||
|
sta CH ; xsize is in CH ; 3
|
||||||
|
lda #46
|
||||||
|
sta CV ; ysize is in CV ; 3
|
||||||
|
|
||||||
|
gr_overlay_custom:
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
gr_overlay_loop:
|
||||||
|
|
||||||
|
ldy CV ; 3
|
||||||
|
lda gr_offsets,Y ; lookup low-res memory address ; 4
|
||||||
|
sta OUTL ; store out low byte of addy ; 3
|
||||||
|
sta INL
|
||||||
|
lda gr_offsets+1,Y ; look up high byte ; 4
|
||||||
|
clc
|
||||||
|
adc DRAW_PAGE ; ; 3
|
||||||
|
sta OUTH ; and store it out ; 3
|
||||||
|
|
||||||
|
lda gr_offsets+1,Y ; look up high byte ; 4
|
||||||
|
clc
|
||||||
|
adc #$c ; force to start at $1000
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
; OUTH:OUTL now points at right place
|
||||||
|
|
||||||
|
ldx CH ; load xsize into x ; 3
|
||||||
|
ldy #0
|
||||||
|
gr_overlay_put_pixel:
|
||||||
|
lda (INL),Y ; get sprite colors ; 5
|
||||||
|
|
||||||
|
; check if completely transparent
|
||||||
|
; if so, skip
|
||||||
|
|
||||||
|
cmp #$aa ; if all zero, transparent ; 2
|
||||||
|
beq gr_overlay_done_draw ; don't draw it ; 2nt/3
|
||||||
|
|
||||||
|
sta COLOR ; save color for later ; 3
|
||||||
|
|
||||||
|
; check if top pixel transparent
|
||||||
|
|
||||||
|
and #$f0 ; check if top nibble zero ; 2
|
||||||
|
cmp #$a0
|
||||||
|
bne gr_overlay_bottom ; if not skip ahead ; 2nt/3
|
||||||
|
|
||||||
|
lda COLOR
|
||||||
|
and #$0f
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
|
lda #$f0 ; setup mask ; 2
|
||||||
|
sta MASK ; 3
|
||||||
|
bmi gr_overlay_mask ; always? ; 3
|
||||||
|
|
||||||
|
|
||||||
|
gr_overlay_bottom:
|
||||||
|
lda COLOR ; re-load color ; 3
|
||||||
|
and #$0f ; check if bottom nibble zero ; 2
|
||||||
|
cmp #$0a
|
||||||
|
bne overlay_put_sprite_all ; if not, skip ahead ; 2nt/3
|
||||||
|
;=============
|
||||||
|
; 7/8
|
||||||
|
|
||||||
|
lda COLOR
|
||||||
|
and #$f0
|
||||||
|
sta COLOR
|
||||||
|
lda #$0f ; 2
|
||||||
|
sta MASK ; setup mask ; 3
|
||||||
|
;===========
|
||||||
|
; 5
|
||||||
|
|
||||||
|
gr_overlay_mask:
|
||||||
|
lda (OUTL),Y ; get color at output ; 5
|
||||||
|
and MASK ; mask off unneeded part ; 3
|
||||||
|
ora COLOR ; or the color in ; 3
|
||||||
|
sta (OUTL),Y ; store it back ; 6
|
||||||
|
|
||||||
|
jmp gr_overlay_done_draw ; we are done ; 3
|
||||||
|
|
||||||
|
overlay_put_sprite_all:
|
||||||
|
lda COLOR ; load color ; 3
|
||||||
|
sta (OUTL),Y ; and write it out ; 6
|
||||||
|
|
||||||
|
|
||||||
|
gr_overlay_done_draw:
|
||||||
|
iny
|
||||||
|
dex ; decrement x counter ; 2
|
||||||
|
bne gr_overlay_put_pixel ; if not done, keep looping ; 2nt/3
|
||||||
|
|
||||||
|
dec CV ; decemenet total y count ; 5
|
||||||
|
dec CV
|
||||||
|
bpl gr_overlay_loop ; loop if not done ; 2nt/3
|
||||||
|
|
||||||
|
|
||||||
|
rts ; return ; 6
|
104
demosplash/gr_run_sequence.s
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
;=================================
|
||||||
|
; Display a sequence of images
|
||||||
|
;=================================
|
||||||
|
; quit if escape pressed?
|
||||||
|
|
||||||
|
; pattern is TIME, PTR
|
||||||
|
; if time==0, then done
|
||||||
|
; if time==255, reload $C00 with PTR
|
||||||
|
; if time==0..127 wait TIME, then overlay PTR over $C00
|
||||||
|
; if time==128..254, wait TIME-128, then overlay GBASL over $C00
|
||||||
|
|
||||||
|
run_sequence:
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
run_sequence_loop:
|
||||||
|
lda (INTRO_LOOPL),Y ; get time
|
||||||
|
beq run_sequence_done ; if zero, then done
|
||||||
|
|
||||||
|
cmp #$ff ; if $ff, then load image to $c00
|
||||||
|
bne not_reload
|
||||||
|
|
||||||
|
reload_image:
|
||||||
|
iny
|
||||||
|
lda (INTRO_LOOPL),Y
|
||||||
|
sta GBASL
|
||||||
|
iny
|
||||||
|
lda (INTRO_LOOPL),Y
|
||||||
|
sta GBASH
|
||||||
|
iny
|
||||||
|
sty INTRO_LOOPER ; save for later
|
||||||
|
lda #$0c ; load to $c00
|
||||||
|
jsr load_rle_gr
|
||||||
|
jmp seq_stuff
|
||||||
|
|
||||||
|
not_reload:
|
||||||
|
tax
|
||||||
|
cmp #$80 ;if negative, no need to load pointer
|
||||||
|
bcs no_set_image_ptr ; bge (branch if greater equal)
|
||||||
|
|
||||||
|
|
||||||
|
get_image_ptr:
|
||||||
|
iny
|
||||||
|
lda (INTRO_LOOPL),Y
|
||||||
|
sta GBASL
|
||||||
|
iny
|
||||||
|
lda (INTRO_LOOPL),Y
|
||||||
|
sta GBASH
|
||||||
|
|
||||||
|
no_set_image_ptr:
|
||||||
|
txa
|
||||||
|
and #$7f
|
||||||
|
tax
|
||||||
|
cpx #1
|
||||||
|
beq seq_no_wait
|
||||||
|
|
||||||
|
jsr long_wait
|
||||||
|
seq_no_wait:
|
||||||
|
|
||||||
|
iny
|
||||||
|
sty INTRO_LOOPER ; save for later
|
||||||
|
lda #$10 ; load to $1000
|
||||||
|
jsr load_rle_gr
|
||||||
|
|
||||||
|
jsr gr_overlay
|
||||||
|
jsr page_flip
|
||||||
|
seq_stuff:
|
||||||
|
ldy INTRO_LOOPER
|
||||||
|
|
||||||
|
; exit early if escape pressed
|
||||||
|
|
||||||
|
lda KEYPRESS
|
||||||
|
cmp #27+$80
|
||||||
|
beq run_sequence_done
|
||||||
|
bit KEYRESET
|
||||||
|
|
||||||
|
jmp run_sequence_loop
|
||||||
|
run_sequence_done:
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; long(er) wait
|
||||||
|
; waits approximately ?? ms
|
||||||
|
|
||||||
|
long_wait:
|
||||||
|
lda #64
|
||||||
|
jsr wait ; delay
|
||||||
|
dex
|
||||||
|
bne long_wait
|
||||||
|
rts
|
||||||
|
|
||||||
|
;=================
|
||||||
|
; from apple II rom monitor
|
||||||
|
; in case we have language card active
|
||||||
|
|
||||||
|
wait: sec
|
||||||
|
wait2: pha
|
||||||
|
wait3: sbc #$01
|
||||||
|
bne wait3
|
||||||
|
pla
|
||||||
|
sbc #$01
|
||||||
|
bne wait2
|
||||||
|
rts
|
@ -25,12 +25,13 @@ ship_flames.inc: $(PNG2RLE) \
|
|||||||
$(PNG2RLE) asm ship_flame5.png ship_flame5_rle >> ship_flames.inc
|
$(PNG2RLE) asm ship_flame5.png ship_flame5_rle >> ship_flames.inc
|
||||||
|
|
||||||
star_wipe.inc: $(PNG2RLE) \
|
star_wipe.inc: $(PNG2RLE) \
|
||||||
star1.png star2.png star3.png star4.png star5.png
|
star1.png star2.png star3.png star4.png star5.png empty.png
|
||||||
$(PNG2RLE) asm star1.png star_wipe1_rle > star_wipe.inc
|
$(PNG2RLE) asm star1.png star_wipe1_rle > star_wipe.inc
|
||||||
$(PNG2RLE) asm star2.png star_wipe2_rle >> star_wipe.inc
|
$(PNG2RLE) asm star2.png star_wipe2_rle >> star_wipe.inc
|
||||||
$(PNG2RLE) asm star3.png star_wipe3_rle >> star_wipe.inc
|
$(PNG2RLE) asm star3.png star_wipe3_rle >> star_wipe.inc
|
||||||
$(PNG2RLE) asm star4.png star_wipe4_rle >> star_wipe.inc
|
$(PNG2RLE) asm star4.png star_wipe4_rle >> star_wipe.inc
|
||||||
$(PNG2RLE) asm star5.png star_wipe5_rle >> star_wipe.inc
|
$(PNG2RLE) asm star5.png star_wipe5_rle >> star_wipe.inc
|
||||||
|
$(PNG2RLE) asm empty.png empty_rle >> star_wipe.inc
|
||||||
|
|
||||||
|
|
||||||
#####
|
#####
|
||||||
|
BIN
demosplash/graphics/starbase/empty.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 2.0 KiB |
@ -12,21 +12,17 @@ star_wipe2_rle: .byte $28 ; ysize=48
|
|||||||
.byte $0A, $A0,$FF,$AA, $A0,$29,$AA
|
.byte $0A, $A0,$FF,$AA, $A0,$29,$AA
|
||||||
.byte $A1
|
.byte $A1
|
||||||
star_wipe3_rle: .byte $28 ; ysize=48
|
star_wipe3_rle: .byte $28 ; ysize=48
|
||||||
.byte $A0,$14,$AA, $5A, $A0,$26,$AA, $0A, $A0,$01,$A5, $A0,$26,$AA, $00
|
.byte $A0,$3B,$AA, $0A, $A0,$27,$AA, $00, $A0,$27,$AA, $00,$00, $A0,$25,$AA
|
||||||
.byte $A0,$27,$AA, $00,$00, $5A, $A0,$24,$AA, $0A, $00,$00, $05
|
.byte $0A, $00,$00, $0A, $A0,$24,$AA, $A4,$00, $A0,$24,$AA, $A4,$00
|
||||||
.byte $A0,$24,$AA, $A4,$00, $A0,$24,$AA, $A4,$00, $5A, $A0,$23,$AA, $A4,$00
|
.byte $A0,$24,$AA, $A4,$00, $A0,$23,$AA, $A6,$00, $A0,$1A,$AA, $A8,$0A, $A6,$00
|
||||||
.byte $A0,$01,$A5, $A0,$22,$AA, $A6,$00, $A0,$19,$AA, $55, $A8,$05, $A6,$00
|
.byte $A8,$0A, $A0,$13,$AA, $A0,$01,$A0, $A0,$12,$00, $A0,$01,$A0, $A0,$15,$AA, $A0,$01,$A0
|
||||||
.byte $A8,$05, $A0,$01,$A5, $A0,$11,$AA, $A0,$01,$A5, $A0,$01,$A0, $A0,$12,$00, $A0,$01,$A0
|
.byte $A0,$10,$00, $A0,$01,$A0, $A0,$17,$AA, $A0,$01,$A0, $AE,$00, $A0,$01,$A0, $A0,$1A,$AA
|
||||||
.byte $5A, $A0,$13,$AA, $A0,$01,$A5, $50, $A0,$10,$00, $A0,$01,$A0, $A0,$01,$A5
|
.byte $A0,$01,$A0, $AB,$00, $A0,$01,$A0, $A0,$1D,$AA, $A9,$00, $A0,$1F,$AA, $A9,$00
|
||||||
.byte $A0,$16,$AA, $50, $AE,$00, $50, $A0,$01,$A5, $A0,$18,$AA, $A0,$01,$A5
|
.byte $A0,$1F,$AA, $A9,$00, $A0,$1E,$AA, $0A, $A9,$00, $0A, $A0,$1D,$AA
|
||||||
.byte $A0,$01,$A0, $AB,$00, $50, $A0,$1D,$AA, $A9,$00, $A0,$01,$A5, $A0,$1E,$AA
|
.byte $A4,$00, $A0,$02,$AA, $A5,$00, $A0,$1C,$AA, $A4,$00, $A4,$AA, $A5,$00
|
||||||
.byte $A9,$00, $A0,$1F,$AA, $A9,$00, $55, $A0,$1C,$AA, $5A, $0A
|
.byte $A0,$1B,$AA, $00,$00, $A0,$01,$A0, $A6,$AA, $A0,$01,$A0, $A3,$00, $A0,$1A,$AA
|
||||||
.byte $A9,$00, $0A, $A0,$1C,$AA, $A0,$01,$A5, $A4,$00, $5A, $A0,$01,$AA
|
.byte $00,$00, $AA,$AA, $A3,$00, $A0,$19,$AA, $00, $AC,$AA, $00,$00
|
||||||
.byte $A5,$00, $A0,$1C,$AA, $A4,$00, $A3,$AA, $A0,$01,$A5, $A5,$00, $A0,$1A,$AA
|
.byte $A0,$34,$AA
|
||||||
.byte $5A, $00,$00, $A0,$01,$A0, $A0,$01,$A5, $A5,$AA, $50, $A3,$00
|
|
||||||
.byte $A0,$1A,$AA, $00,$00, $5A, $A9,$AA, $A3,$00, $A0,$19,$AA, $00
|
|
||||||
.byte $A0,$01,$A5, $AA,$AA, $A0,$01,$A5, $00,$00, $A0,$19,$AA, $A0,$01,$A5, $AD,$AA
|
|
||||||
.byte $A0,$01,$A5, $AC,$AA
|
|
||||||
.byte $A1
|
.byte $A1
|
||||||
star_wipe4_rle: .byte $28 ; ysize=48
|
star_wipe4_rle: .byte $28 ; ysize=48
|
||||||
.byte $A0,$10,$AA, $A8,$00, $A0,$20,$AA, $A8,$00, $A0,$20,$AA, $A8,$00, $A0,$1F,$AA
|
.byte $A0,$10,$AA, $A8,$00, $A0,$20,$AA, $A8,$00, $A0,$20,$AA, $A8,$00, $A0,$1F,$AA
|
||||||
@ -40,8 +36,10 @@ star_wipe4_rle: .byte $28 ; ysize=48
|
|||||||
.byte $A0,$11,$AA, $A0,$18,$00, $A8,$AA
|
.byte $A0,$11,$AA, $A0,$18,$00, $A8,$AA
|
||||||
.byte $A1
|
.byte $A1
|
||||||
star_wipe5_rle: .byte $28 ; ysize=48
|
star_wipe5_rle: .byte $28 ; ysize=48
|
||||||
.byte $A9,$AA, $0A, $A0,$14,$00, $0A, $55, $A8,$AA, $A9,$05
|
.byte $A9,$AA, $0A, $A0,$14,$00, $0A, $A9,$AA, $A9,$0A, $A0,$16,$00
|
||||||
.byte $A0,$16,$00, $A9,$05, $A0,$FF,$00, $A0,$FF,$00, $A0,$FA,$00, $A0,$01,$A0, $A0,$26,$00
|
.byte $A9,$0A, $A0,$FF,$00, $A0,$FF,$00, $A0,$FA,$00, $A0,$01,$A0, $A0,$26,$00, $A0,$01,$A0
|
||||||
.byte $A0,$01,$A0, $A0,$01,$A5, $50, $A0,$24,$00, $A0,$01,$A0, $5A, $A0,$02,$AA
|
.byte $A0,$01,$AA, $A0,$01,$A0, $A0,$24,$00, $A0,$01,$A0, $A3,$AA, $A0,$24,$00, $A0,$02,$AA
|
||||||
.byte $A0,$24,$00, $A0,$02,$AA
|
.byte $A1
|
||||||
|
empty_rle: .byte $28 ; ysize=48
|
||||||
|
.byte $A0,$FF,$00, $A0,$FF,$00, $A0,$FF,$00, $A0,$C3,$00
|
||||||
.byte $A1
|
.byte $A1
|
||||||
|
@ -34,11 +34,6 @@ l4_defeated:
|
|||||||
cmp #5
|
cmp #5
|
||||||
bne starbase_new_room
|
bne starbase_new_room
|
||||||
|
|
||||||
lda #5
|
|
||||||
sta WHICH_LOAD
|
|
||||||
rts
|
|
||||||
|
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
; quit_starbase
|
; quit_starbase
|
||||||
;===========================
|
;===========================
|
||||||
@ -46,13 +41,10 @@ l4_defeated:
|
|||||||
quit_starbase:
|
quit_starbase:
|
||||||
|
|
||||||
wait_loop:
|
wait_loop:
|
||||||
lda KEYPRESS
|
; lda KEYPRESS
|
||||||
bpl wait_loop
|
; bpl wait_loop
|
||||||
|
|
||||||
lda KEYRESET ; clear strobe
|
bit KEYRESET ; clear strobe
|
||||||
|
|
||||||
lda #0
|
|
||||||
sta GAME_OVER
|
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
@ -75,8 +67,6 @@ wait_loop:
|
|||||||
.include "starbase_friend.s"
|
.include "starbase_friend.s"
|
||||||
.include "starbase_alien_laser.s"
|
.include "starbase_alien_laser.s"
|
||||||
|
|
||||||
; room backgrounds
|
|
||||||
.include "graphics/starbase/starbase.inc"
|
|
||||||
; sprites
|
; sprites
|
||||||
.include "graphics/sprites/astronaut.inc"
|
.include "graphics/sprites/astronaut.inc"
|
||||||
.include "graphics/sprites/alien.inc"
|
.include "graphics/sprites/alien.inc"
|
||||||
|
@ -214,10 +214,14 @@ room2:
|
|||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
;room with ship
|
;room with ship
|
||||||
|
|
||||||
room3:
|
room3:
|
||||||
cmp #3
|
cmp #3
|
||||||
bne room_setup_done
|
beq do_room3
|
||||||
|
|
||||||
|
jmp end_sequence
|
||||||
|
|
||||||
|
do_room3:
|
||||||
lda #1
|
lda #1
|
||||||
sta NUM_DOORS
|
sta NUM_DOORS
|
||||||
|
|
||||||
@ -778,3 +782,113 @@ door_c4_r3_xmax: .byte 39
|
|||||||
door_c4_r3_y:
|
door_c4_r3_y:
|
||||||
c4_r3_door0_y: .byte 26
|
c4_r3_door0_y: .byte 26
|
||||||
|
|
||||||
|
|
||||||
|
;============================
|
||||||
|
; end_sequence
|
||||||
|
;============================
|
||||||
|
;
|
||||||
|
; fire engines, star-wipe
|
||||||
|
end_sequence:
|
||||||
|
|
||||||
|
;=========================
|
||||||
|
; set up bg
|
||||||
|
|
||||||
|
; lda #>(ship_rle)
|
||||||
|
; sta GBASH
|
||||||
|
; lda #<(ship_rle)
|
||||||
|
; sta GBASL
|
||||||
|
; lda #$0c ; load image off-screen $c00
|
||||||
|
; jsr load_rle_gr
|
||||||
|
|
||||||
|
|
||||||
|
lda #<flame_sequence
|
||||||
|
sta INTRO_LOOPL
|
||||||
|
lda #>flame_sequence
|
||||||
|
sta INTRO_LOOPH
|
||||||
|
|
||||||
|
jsr run_sequence
|
||||||
|
|
||||||
|
lda #<star_sequence
|
||||||
|
sta INTRO_LOOPL
|
||||||
|
lda #>star_sequence
|
||||||
|
sta INTRO_LOOPH
|
||||||
|
|
||||||
|
jsr run_sequence
|
||||||
|
|
||||||
|
|
||||||
|
; bit KEYRESET
|
||||||
|
|
||||||
|
; jsr wait_until_keypressed
|
||||||
|
|
||||||
|
; trigger end
|
||||||
|
lda #5
|
||||||
|
sta WHICH_ROOM
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
FLAME_FRAMERATE = 10
|
||||||
|
|
||||||
|
flame_sequence:
|
||||||
|
.byte 255
|
||||||
|
.word ship_rle
|
||||||
|
.byte 1
|
||||||
|
.word ship_rle
|
||||||
|
.byte 50
|
||||||
|
.word ship_flame0_rle
|
||||||
|
.byte 40
|
||||||
|
.word ship_flame1_rle
|
||||||
|
.byte 40
|
||||||
|
.word ship_flame2_rle
|
||||||
|
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame3_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame4_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame5_rle
|
||||||
|
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame3_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame4_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame5_rle
|
||||||
|
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame3_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame4_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame5_rle
|
||||||
|
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame3_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame4_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame5_rle
|
||||||
|
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame3_rle
|
||||||
|
.byte FLAME_FRAMERATE
|
||||||
|
.word ship_flame4_rle
|
||||||
|
.byte 255
|
||||||
|
.word ship_flame5_rle
|
||||||
|
|
||||||
|
.byte 0
|
||||||
|
|
||||||
|
star_sequence:
|
||||||
|
.byte 20
|
||||||
|
.word star_wipe1_rle
|
||||||
|
.byte 20
|
||||||
|
.word star_wipe2_rle
|
||||||
|
.byte 20
|
||||||
|
.word star_wipe3_rle
|
||||||
|
.byte 20
|
||||||
|
.word star_wipe4_rle
|
||||||
|
.byte 20
|
||||||
|
.word star_wipe5_rle
|
||||||
|
.byte 20
|
||||||
|
.word empty_rle
|
||||||
|
|
||||||
|
.byte 0
|
||||||
|