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 \ falling_right.lzsa falling_left.lzsa \
book_air.lzsa book_sparks.lzsa book_glow.lzsa \ book_air.lzsa book_sparks.lzsa book_glow.lzsa \
book_ground.lzsa book_ground_n.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_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_m_lzsa: .incbin \"m_title_m.lzsa\"" >> title_graphics.inc
echo "m_title_y_lzsa: .incbin \"m_title_y.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_lzsa: .incbin \"book_ground.lzsa\"" >> title_graphics.inc
echo "book_ground_n_lzsa: .incbin \"book_ground_n.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 "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,6 +199,15 @@ ssi_not_found:
; init song ; 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 jsr pt3_init_song
jmp done_setup_sound jmp done_setup_sound
@ -305,19 +314,25 @@ reload_everything:
cyan_title_mb: cyan_title_mb:
; cli cli
; First ; First
; ldx #<cyan1_lzsa ldx #<cyan1_lzsa
; ldy #>cyan1_lzsa ldy #>cyan1_lzsa
; lda #$FF lda #$20
; jsr draw_and_wait jsr draw_and_wait
; Second ; Second
; ldx #<cyan2_lzsa ldx #<cyan2_lzsa
; ldy #>cyan2_lzsa ldy #>cyan2_lzsa
; lda #$FE lda #$FF
; jsr draw_and_wait jsr draw_and_wait
; Third
ldx #<cyan3_lzsa
ldy #>cyan3_lzsa
lda #$FE
jsr draw_and_wait
jsr mockingboard_disable_interrupt ; disable music jsr mockingboard_disable_interrupt ; disable music
@ -327,16 +342,22 @@ cyan_title_mb:
cyan_title_nomb: cyan_title_nomb:
; First ; First
; ldx #<cyan1_lzsa ldx #<cyan1_lzsa
; ldy #>cyan1_lzsa ldy #>cyan1_lzsa
; lda #20 lda #20
; jsr draw_and_wait jsr draw_and_wait
; Second ; Second
; ldx #<cyan2_lzsa ldx #<cyan2_lzsa
; ldy #>cyan2_lzsa ldy #>cyan2_lzsa
; lda #40 lda #20
; jsr draw_and_wait jsr draw_and_wait
; Third
ldx #<cyan3_lzsa
ldy #>cyan3_lzsa
lda #40
jsr draw_and_wait
cyan_title_done: cyan_title_done:
@ -777,14 +798,14 @@ get_mist_book:
lda #$00 lda #$00
sta DONE_PLAYING sta DONE_PLAYING
; lda #<theme_music_compressed lda #<theme_music_compressed
; sta getsrc_smc+1 sta getsrc_smc+1
; lda #>theme_music_compressed lda #>theme_music_compressed
; sta getsrc_smc+2 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 ; re-enable interrupts as SSI code probably broke things
@ -802,14 +823,19 @@ skip_start_music:
jmp change_location jmp change_location
PT3_LOC = theme_music ;PT3_LOC = theme_music
;
.align $100 ;.align $100
theme_music: ;theme_music:
.incbin "audio/theme.pt3" ;.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 .if 0
@ -884,3 +910,4 @@ set_inverse:
sta ps_smc1+1 sta ps_smc1+1
rts rts

View File

@ -54,4 +54,4 @@ boot_message:
.include "text_print.s" .include "text_print.s"
.include "gr_offsets.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 ; 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: wait_a_bit:
cmp #$FF
beq wait_a_bit_pattern1
cmp #$FE
beq wait_a_bit_end_song
wait_a_bit_time:
bit KEYRESET bit KEYRESET
tax tax
@ -14,14 +25,48 @@ keyloop:
lda KEYPRESS lda KEYPRESS
bmi done_keyloop bmi done_keyloop
; bmi keypress_exit
dex dex
bne keyloop bne keyloop
done_keyloop: done_keyloop:
; sta LAST_KEY
bit KEYRESET bit KEYRESET
rts 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