From c508b0d3cddb57db4fef5466f8e54fc615b66429 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 22 Sep 2021 21:53:43 -0400 Subject: [PATCH] mist: add cyan intro --- games/mist/audio/Makefile | 24 ++++++++ games/mist/graphics_title/Makefile | 7 ++- games/mist/graphics_title/cyan1.png | Bin 0 -> 815 bytes games/mist/graphics_title/cyan2.png | Bin 0 -> 761 bytes games/mist/graphics_title/cyan3.png | Bin 0 -> 766 bytes games/mist/mist_title.s | 85 ++++++++++++++++++---------- games/mist/text_title.s | 2 +- games/mist/wait_a_bit.s | 49 +++++++++++++++- 8 files changed, 134 insertions(+), 33 deletions(-) create mode 100644 games/mist/audio/Makefile create mode 100644 games/mist/graphics_title/cyan1.png create mode 100644 games/mist/graphics_title/cyan2.png create mode 100644 games/mist/graphics_title/cyan3.png diff --git a/games/mist/audio/Makefile b/games/mist/audio/Makefile new file mode 100644 index 00000000..57917193 --- /dev/null +++ b/games/mist/audio/Makefile @@ -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 diff --git a/games/mist/graphics_title/Makefile b/games/mist/graphics_title/Makefile index 8838013c..e7cfeb41 100644 --- a/games/mist/graphics_title/Makefile +++ b/games/mist/graphics_title/Makefile @@ -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 + diff --git a/games/mist/graphics_title/cyan1.png b/games/mist/graphics_title/cyan1.png new file mode 100644 index 0000000000000000000000000000000000000000..23bdb3292d77c9ca595f7f0016befc85ec6baffc GIT binary patch literal 815 zcmV+~1JL}5P)EX>4Tx04R}tkv&MmP!xqv(@Iq;4i*$~$WS|35EXIMDionYs1;guFnQ@8G-*gu zTpR`0f`dPcRRIJ_HbznPtpLQWBo^bx)mCcQKyj-S=npsX2=QK9P8q8KzCVK|H-_ z8=Uuv!>lN)#OK6gCS8#Dk?Ts6-#8as7I~|df&>u?swklh8!_5-QY@tCJnrEicKs5$6mpfo z$gzM5G{~+W{11N5*2+&#G?PMcpzFnPK1PAyF3_ks&iAq7G)@5jGjOH1{gpZ}^GSNG ztwoN2{%zpmx~(aDz~v4w^km4U>`H!GLOu_?pV2pEfq`3~cda?M);UfefHci2c>^3A z0?`6xuY0_^yK`>;_O#~r11KYMi8@owi~s-tGf+%aMF0Q*;~rpOPQCv`{Q#q2oSd8# z&;8KD|6peI+^!=rvM=ctoQGXfsx}r^QFcEQL!d}9MRR@D63zvHsuXn-(yuTmPuY16#=I$c9ePHKd tz-n>B&0e?K_{HDW$2wc3QmOQZ`T*F{5EX>4Tx04R}tkv&MmP!xqv(@Iq;4i*$~$WS|35EXIMDionYs1;guFnQ@8G-*gu zTpR`0f`dPcRRIJ_HbznPtpLQWBo^bx)mCcQKyj-S=npsX2=QK9P8q8KzCVK|H-_ z8=Uuv!>lN)#OK6gCS8#Dk?Ts6-#8as7I~|df&>u?swklh8!_5-QY@tCJnrEicKs5$6mpfo z$gzM5G{~+W{11N5*2+&#G?PMcpzFnPK1PAyF3_ks&iAq7G)@5jGjOH1{gpZ}^GSNG ztwoN2{%zpmx~(aDz~v4w^km4U>`H!GLOu_?pV2pEfq`3~cda?M);UfefHci2c>^3A z0?`6xuY0_^yK`>;_O#~r11KYMi8@owi~s-tGf+%aMF0Q*;~rpOPQCv`{Q#q2oSd8# z&;8KD|6pEX>4Tx04R}tkv&MmP!xqv(@Iq;4i*$~$WS|35EXIMDionYs1;guFnQ@8G-*gu zTpR`0f`dPcRRIJ_HbznPtpLQWBo^bx)mCcQKyj-S=npsX2=QK9P8q8KzCVK|H-_ z8=Uuv!>lN)#OK6gCS8#Dk?Ts6-#8as7I~|df&>u?swklh8!_5-QY@tCJnrEicKs5$6mpfo z$gzM5G{~+W{11N5*2+&#G?PMcpzFnPK1PAyF3_ks&iAq7G)@5jGjOH1{gpZ}^GSNG ztwoN2{%zpmx~(aDz~v4w^km4U>`H!GLOu_?pV2pEfq`3~cda?M);UfefHci2c>^3A z0?`6xuY0_^yK`>;_O#~r11KYMi8@owi~s-tGf+%aMF0Q*;~rpOPQCv`{Q#q2oSd8# z&;8KD|6pQq@TGL8ndnaDUbk_=qn&-DUSATSNgorynSa^dB^0Y8okd|x6^ zdDce*<=Uv$Lr4$U6!#pcj3|~6GM)ByMdvdqgB9k wiE&E-ta}{>mOG~amPgTwL&zF1^?7xsKEu2mV2U=Fr~m)}07*qoM6N<$f-gozYybcN literal 0 HcmV?d00001 diff --git a/games/mist/mist_title.s b/games/mist/mist_title.s index 481d4ddd..d224dc5b 100644 --- a/games/mist/mist_title.s +++ b/games/mist/mist_title.s @@ -199,7 +199,16 @@ ssi_not_found: ; init song ;================== - jsr pt3_init_song + 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 -; lda #$FF -; jsr draw_and_wait + ldx #cyan1_lzsa + lda #$20 + jsr draw_and_wait ; Second -; ldx #cyan2_lzsa -; lda #$FE -; jsr draw_and_wait + ldx #cyan2_lzsa + lda #$FF + jsr draw_and_wait + + ; Third + ldx #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 -; lda #20 -; jsr draw_and_wait + ldx #cyan1_lzsa + lda #20 + jsr draw_and_wait ; Second -; ldx #cyan2_lzsa -; lda #40 -; jsr draw_and_wait + ldx #cyan2_lzsa + lda #20 + jsr draw_and_wait + + ; Third + ldx #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+2 + 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 + diff --git a/games/mist/text_title.s b/games/mist/text_title.s index bc602810..2f34c118 100644 --- a/games/mist/text_title.s +++ b/games/mist/text_title.s @@ -54,4 +54,4 @@ boot_message: .include "text_print.s" .include "gr_offsets.s" -.include "wait_a_bit.s" +;.include "wait_a_bit.s" diff --git a/games/mist/wait_a_bit.s b/games/mist/wait_a_bit.s index f71370ad..49c14feb 100644 --- a/games/mist/wait_a_bit.s +++ b/games/mist/wait_a_bit.s @@ -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 + +