mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-20 17:29:28 +00:00
monkey: logo screen more or less done
This commit is contained in:
parent
e76f13186b
commit
917bb14ad2
|
@ -34,7 +34,7 @@ interrupt_handler:
|
||||||
tya
|
tya
|
||||||
pha
|
pha
|
||||||
|
|
||||||
inc $0404 ; debug (flashes char onscreen)
|
; inc $0404 ; debug (flashes char onscreen)
|
||||||
|
|
||||||
bit $C404 ; clear 6522 interrupt by reading T1C-L ; 4
|
bit $C404 ; clear 6522 interrupt by reading T1C-L ; 4
|
||||||
|
|
||||||
|
|
158
monkey/title.s
158
monkey/title.s
|
@ -35,6 +35,18 @@ title_start:
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
|
|
||||||
|
|
||||||
|
;====================================
|
||||||
|
; load LF logo
|
||||||
|
;====================================
|
||||||
|
|
||||||
|
lda #<logo_lzsa
|
||||||
|
sta LZSA_SRC_LO
|
||||||
|
lda #>logo_lzsa
|
||||||
|
sta LZSA_SRC_HI
|
||||||
|
lda #$c ; load to page $c00
|
||||||
|
jsr decompress_lzsa2_fast
|
||||||
|
|
||||||
|
|
||||||
setup_music:
|
setup_music:
|
||||||
; decompress music
|
; decompress music
|
||||||
|
|
||||||
|
@ -47,39 +59,78 @@ setup_music:
|
||||||
|
|
||||||
jsr mockingboard_detect
|
jsr mockingboard_detect
|
||||||
|
|
||||||
title_loop:
|
|
||||||
|
|
||||||
;====================================
|
;====================================
|
||||||
; load LF logo
|
|
||||||
;====================================
|
;====================================
|
||||||
|
; Main LOGO loop
|
||||||
lda #<logo_lzsa
|
;====================================
|
||||||
sta LZSA_SRC_LO
|
;====================================
|
||||||
lda #>logo_lzsa
|
|
||||||
sta LZSA_SRC_HI
|
|
||||||
lda #$c ; load to page $c00
|
|
||||||
jsr decompress_lzsa2_fast
|
|
||||||
|
|
||||||
jsr gr_copy_to_current
|
|
||||||
|
|
||||||
logo_loop:
|
logo_loop:
|
||||||
|
|
||||||
; draw sprites
|
; copy over background
|
||||||
|
|
||||||
; lda GUYBRUSH_X
|
|
||||||
; sta XPOS
|
|
||||||
; lda GUYBRUSH_Y
|
|
||||||
; sta YPOS
|
|
||||||
|
|
||||||
; lda #<guybrush_back_sprite
|
|
||||||
; sta INL
|
|
||||||
; lda #>guybrush_back_sprite
|
|
||||||
; sta INH
|
|
||||||
|
|
||||||
; jsr put_sprite_crop
|
|
||||||
|
|
||||||
jsr gr_copy_to_current
|
jsr gr_copy_to_current
|
||||||
|
|
||||||
|
; draw sparks
|
||||||
|
|
||||||
|
lda FRAMEH ; only do this once
|
||||||
|
bne done_sparks
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
spark_loop:
|
||||||
|
lda sparks,Y
|
||||||
|
bmi done_sparks
|
||||||
|
|
||||||
|
sta XPOS
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda sparks,Y
|
||||||
|
sta YPOS
|
||||||
|
iny
|
||||||
|
|
||||||
|
; calc which spark
|
||||||
|
|
||||||
|
lda sparks,Y
|
||||||
|
sta TEMPY
|
||||||
|
|
||||||
|
sec
|
||||||
|
lda FRAMEL
|
||||||
|
sbc TEMPY ; negative if too soon
|
||||||
|
bmi draw_empty_sprite
|
||||||
|
cmp #5 ; over 5 if done
|
||||||
|
bcs draw_empty_sprite
|
||||||
|
|
||||||
|
asl
|
||||||
|
tax
|
||||||
|
lda spark_sprites,X
|
||||||
|
sta INL
|
||||||
|
lda spark_sprites+1,X
|
||||||
|
jmp draw_spark_sprite
|
||||||
|
|
||||||
|
draw_empty_sprite:
|
||||||
|
lda #<empty_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>empty_sprite
|
||||||
|
|
||||||
|
draw_spark_sprite:
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
iny
|
||||||
|
tya
|
||||||
|
pha
|
||||||
|
|
||||||
|
jsr put_sprite_crop
|
||||||
|
|
||||||
|
pla
|
||||||
|
tay
|
||||||
|
|
||||||
|
jmp spark_loop
|
||||||
|
|
||||||
|
done_sparks:
|
||||||
|
|
||||||
|
; flip page
|
||||||
|
|
||||||
jsr page_flip
|
jsr page_flip
|
||||||
|
|
||||||
; incrememnt frame
|
; incrememnt frame
|
||||||
|
@ -87,8 +138,8 @@ logo_loop:
|
||||||
jsr inc_frame
|
jsr inc_frame
|
||||||
|
|
||||||
; if it's been x seconds then go to next part
|
; if it's been x seconds then go to next part
|
||||||
lda FRAMEH
|
lda FRAMEL
|
||||||
cmp #3
|
cmp #$50
|
||||||
beq do_monkey_loop
|
beq do_monkey_loop
|
||||||
|
|
||||||
; early escape if keypressed
|
; early escape if keypressed
|
||||||
|
@ -98,6 +149,11 @@ logo_loop:
|
||||||
jmp done_with_title
|
jmp done_with_title
|
||||||
|
|
||||||
do_logo_loop:
|
do_logo_loop:
|
||||||
|
|
||||||
|
; delay
|
||||||
|
lda #200
|
||||||
|
jsr WAIT
|
||||||
|
|
||||||
jmp logo_loop
|
jmp logo_loop
|
||||||
|
|
||||||
|
|
||||||
|
@ -117,6 +173,11 @@ monkey_loop:
|
||||||
|
|
||||||
jsr page_flip
|
jsr page_flip
|
||||||
|
|
||||||
|
|
||||||
|
; early escape if end of song
|
||||||
|
lda DONE_PLAYING
|
||||||
|
bmi done_with_title
|
||||||
|
|
||||||
; early escape if keypressed
|
; early escape if keypressed
|
||||||
lda KEYPRESS
|
lda KEYPRESS
|
||||||
bpl loop_again
|
bpl loop_again
|
||||||
|
@ -194,24 +255,29 @@ room_frame_no_oflo:
|
||||||
theme_lzsa:
|
theme_lzsa:
|
||||||
.incbin "music/theme.lzsa"
|
.incbin "music/theme.lzsa"
|
||||||
|
|
||||||
logo_sprites:
|
spark_sprites:
|
||||||
.word logo_sprite0
|
.word empty_sprite
|
||||||
.word logo_sprite1
|
.word spark0_sprite
|
||||||
.word logo_sprite2
|
.word spark1_sprite
|
||||||
.word logo_sprite1
|
.word spark2_sprite
|
||||||
.word logo_sprite0
|
.word spark1_sprite
|
||||||
|
.word spark0_sprite
|
||||||
|
|
||||||
logo_sprite0:
|
empty_sprite:
|
||||||
|
.byte 1,1
|
||||||
|
.byte $AA
|
||||||
|
|
||||||
|
spark0_sprite:
|
||||||
.byte 3,2
|
.byte 3,2
|
||||||
.byte $AA,$AA,$AA
|
.byte $AA,$AA,$AA
|
||||||
.byte $AA,$AF,$AA
|
.byte $AA,$AF,$AA
|
||||||
|
|
||||||
logo_sprite1:
|
spark1_sprite:
|
||||||
.byte 3,2
|
.byte 3,2
|
||||||
.byte $AA,$3A,$AA
|
.byte $AA,$3A,$AA
|
||||||
.byte $A3,$3F,$A3
|
.byte $A3,$3F,$A3
|
||||||
|
|
||||||
logo_sprite2:
|
spark2_sprite:
|
||||||
.byte 3,3
|
.byte 3,3
|
||||||
.byte $AA,$b3,$AA
|
.byte $AA,$b3,$AA
|
||||||
.byte $Ab,$bF,$Ab
|
.byte $Ab,$bF,$Ab
|
||||||
|
@ -221,15 +287,15 @@ logo_sprite2:
|
||||||
|
|
||||||
sparks:
|
sparks:
|
||||||
; X,Y timestamp
|
; X,Y timestamp
|
||||||
.byte 0,10, 0 ; first: 0,10
|
.byte 0,10, 32 ; first: 0,10
|
||||||
.byte 3,26, 2 ; second: 3,26
|
.byte 3,26, 34 ; second: 3,26
|
||||||
.byte 6,10, 4 ; third: 6,10
|
.byte 6,10, 36 ; third: 6,10
|
||||||
.byte 6,28, 6 ; 4th 6,28
|
.byte 6,28, 38 ; 4th 6,28
|
||||||
.byte 10,14, 8 ; 5th 10,14
|
.byte 10,14, 40 ; 5th 10,14
|
||||||
.byte 15,22, 10 ; 6th 15,22
|
.byte 15,22, 42 ; 6th 15,22
|
||||||
.byte 19,14, 12 ; 7th 19,14
|
.byte 19,14, 44 ; 7th 19,14
|
||||||
.byte 25,24, 14 ; 8th 25,24
|
.byte 25,24, 46 ; 8th 25,24
|
||||||
.byte 28,10, 16 ; 9th 28,10
|
.byte 28,10, 48 ; 9th 28,10
|
||||||
.byte 32,30, 18 ; 10th 32,30
|
.byte 32,30, 50 ; 10th 32,30
|
||||||
.byte 37,10, 20 ; 11th 37,10
|
.byte 37,10, 52 ; 11th 37,10
|
||||||
.byte $ff
|
.byte $ff
|
||||||
|
|
Loading…
Reference in New Issue
Block a user