mist: add cyan intro

This commit is contained in:
Vince Weaver 2021-09-22 21:53:43 -04:00
parent 2bee1c10b9
commit c508b0d3cd
8 changed files with 134 additions and 33 deletions

24
games/mist/audio/Makefile Normal file
View File

@ -0,0 +1,24 @@
#include ../Makefile.inc
B2D = ../../../utils/bmp2dhr/b2d
PNG2GR = ../../../utils/gr-utils/png2gr
LZSA = ~/research/lzsa/lzsa/lzsa
MAKE_VGI = ../../../graphics/hgr/vgi/make_vgi_asm
all: cyan.pt3.lzsa theme.pt3.lzsa
####
cyan.pt3.lzsa: cyan.pt3
$(LZSA) -r -f2 cyan.pt3 cyan.pt3.lzsa
####
theme.pt3.lzsa: theme.pt3
$(LZSA) -r -f2 theme.pt3 theme.pt3.lzsa
####
clean:
rm -f *~ *.o *.lzsa

View File

@ -15,7 +15,8 @@ title_graphics.inc: m_link_book.lzsa \
falling_right.lzsa falling_left.lzsa \
book_air.lzsa book_sparks.lzsa book_glow.lzsa \
book_ground.lzsa book_ground_n.lzsa \
book_closed_n.lzsa
book_closed_n.lzsa \
cyan1.lzsa cyan2.lzsa cyan3.lzsa
echo "m_link_book_lzsa: .incbin \"m_link_book.lzsa\"" > title_graphics.inc
echo "m_title_m_lzsa: .incbin \"m_title_m.lzsa\"" >> title_graphics.inc
echo "m_title_y_lzsa: .incbin \"m_title_y.lzsa\"" >> title_graphics.inc
@ -32,6 +33,10 @@ title_graphics.inc: m_link_book.lzsa \
echo "book_ground_lzsa: .incbin \"book_ground.lzsa\"" >> title_graphics.inc
echo "book_ground_n_lzsa: .incbin \"book_ground_n.lzsa\"" >> title_graphics.inc
echo "book_closed_n_lzsa: .incbin \"book_closed_n.lzsa\"" >> title_graphics.inc
echo "cyan1_lzsa: .incbin \"cyan1.lzsa\"" >> title_graphics.inc
echo "cyan2_lzsa: .incbin \"cyan2.lzsa\"" >> title_graphics.inc
echo "cyan3_lzsa: .incbin \"cyan3.lzsa\"" >> title_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 766 B

View File

@ -199,7 +199,16 @@ ssi_not_found:
; init song
;==================
jsr pt3_init_song
lda #<cyan_music_compressed
sta getsrc_smc+1
lda #>cyan_music_compressed
sta getsrc_smc+2
lda #$BA ; decompress to $BA00
jsr decompress_lzsa2_fast
jsr pt3_init_song
jmp done_setup_sound
@ -305,19 +314,25 @@ reload_everything:
cyan_title_mb:
; cli
cli
; First
; ldx #<cyan1_lzsa
; ldy #>cyan1_lzsa
; lda #$FF
; jsr draw_and_wait
ldx #<cyan1_lzsa
ldy #>cyan1_lzsa
lda #$20
jsr draw_and_wait
; Second
; ldx #<cyan2_lzsa
; ldy #>cyan2_lzsa
; lda #$FE
; jsr draw_and_wait
ldx #<cyan2_lzsa
ldy #>cyan2_lzsa
lda #$FF
jsr draw_and_wait
; Third
ldx #<cyan3_lzsa
ldy #>cyan3_lzsa
lda #$FE
jsr draw_and_wait
jsr mockingboard_disable_interrupt ; disable music
@ -327,16 +342,22 @@ cyan_title_mb:
cyan_title_nomb:
; First
; ldx #<cyan1_lzsa
; ldy #>cyan1_lzsa
; lda #20
; jsr draw_and_wait
ldx #<cyan1_lzsa
ldy #>cyan1_lzsa
lda #20
jsr draw_and_wait
; Second
; ldx #<cyan2_lzsa
; ldy #>cyan2_lzsa
; lda #40
; jsr draw_and_wait
ldx #<cyan2_lzsa
ldy #>cyan2_lzsa
lda #20
jsr draw_and_wait
; Third
ldx #<cyan3_lzsa
ldy #>cyan3_lzsa
lda #40
jsr draw_and_wait
cyan_title_done:
@ -777,14 +798,14 @@ get_mist_book:
lda #$00
sta DONE_PLAYING
; lda #<theme_music_compressed
; sta getsrc_smc+1
; lda #>theme_music_compressed
; sta getsrc_smc+2
lda #<theme_music_compressed
sta getsrc_smc+1
lda #>theme_music_compressed
sta getsrc_smc+2
; lda #$BA ; decompress to $BA00
lda #$BA ; decompress to $BA00
; jsr decompress_lzsa2_fast
jsr decompress_lzsa2_fast
; re-enable interrupts as SSI code probably broke things
@ -802,14 +823,19 @@ skip_start_music:
jmp change_location
PT3_LOC = theme_music
.align $100
theme_music:
.incbin "audio/theme.pt3"
;PT3_LOC = theme_music
;
;.align $100
;theme_music:
;.incbin "audio/theme.pt3"
PT3_LOC = $BA00
cyan_music_compressed:
.incbin "audio/cyan.pt3.lzsa"
theme_music_compressed:
.incbin "audio/theme.pt3.lzsa"
.if 0
@ -884,3 +910,4 @@ set_inverse:
sta ps_smc1+1
rts

View File

@ -54,4 +54,4 @@ boot_message:
.include "text_print.s"
.include "gr_offsets.s"
.include "wait_a_bit.s"
;.include "wait_a_bit.s"

View File

@ -1,8 +1,19 @@
;====================================
; wait for keypress or a few seconds
;====================================
; SPECIAL CASE
; $FF = wait until sound pattern 1
; $FE = wait until DONE_PLAYING
; $FD = wait until text done
wait_a_bit:
cmp #$FF
beq wait_a_bit_pattern1
cmp #$FE
beq wait_a_bit_end_song
wait_a_bit_time:
bit KEYRESET
tax
@ -14,14 +25,48 @@ keyloop:
lda KEYPRESS
bmi done_keyloop
; bmi keypress_exit
dex
bne keyloop
done_keyloop:
; sta LAST_KEY
bit KEYRESET
rts
;=====================
; wait for pattern 1
wait_a_bit_pattern1:
bit KEYRESET
keyloop2:
lda current_pattern_smc+1
bne done_keyloop2
lda KEYPRESS
bmi done_keyloop2
bpl keyloop2
done_keyloop2:
; sta LAST_KEY
bit KEYRESET
rts
;=====================
; wait for song done
wait_a_bit_end_song:
bit KEYRESET
keyloop3:
lda DONE_PLAYING
bne done_keyloop3
lda KEYPRESS
bmi done_keyloop3
bpl keyloop3
done_keyloop3:
; sta LAST_KEY
bit KEYRESET
rts