diff --git a/mist/Makefile b/mist/Makefile index 849f6dec..93e2df23 100644 --- a/mist/Makefile +++ b/mist/Makefile @@ -36,8 +36,8 @@ MIST: mist.o ld65 -o MIST mist.o -C ../linker_scripts/apple2_1000.inc mist.o: mist.s zp.inc hardware.inc \ - mist_graphics.inc -#gr_copy.s gr_unrle.s gr_unrle_large.s gr_copy_large.s + mist_graphics.inc \ + gr_copy.s gr_unrle.s audio.s ca65 -o mist.o mist.s -l mist.lst #### diff --git a/mist/audio.s b/mist/audio.s new file mode 100644 index 00000000..e6193a09 --- /dev/null +++ b/mist/audio.s @@ -0,0 +1,204 @@ +; Based on BTC.SYSTEM by Oliver Schmidt + +; How to generate proper audio for this: + +; -Open MP3 in Audacity +; -Change Project Rate (Hz) to 33,000 (bottom left box) +; -Tracks --> Mix... --> Mix Stereo Down to Mono +; -File --> Export --> Export as WAV +; - Select "WAV (Microsoft) signed 16-bit PCM" +; - Under "Edit Metadata Tags" hit "Clear", then "Okay" +; -Open saved WAV file in BTc Sound Encoder 3.0 +; -Change Algorithm to "1 bit" (leave fineness as BTc16) +; -File --> Export binary file .BTC format + + +spkr = $C030 + +;**************************************************************** +;* Audio playback * +;**************************************************************** +; audio file in BTC_L/BTC_H +; pages to play in X + + +play_audio: + ldy #0 + + ; loop here as long as BITs are [F]alse (aka 0) +F_NX: NOP ; 2 2 + NOP ; 2 2 + NOP ; 2 2 + BIT $00 ; 3 3 +F_RD: LDA (BTC_L),y ; 5 5 5 + ASL ; 2 2 2 + BCS T_1_SW ; 2/3 2 + NOP ; 2 2 + NOP ; 2 2 + NOP ; 2 2 + NOP ; 2 2 +F_1: JSR delay ; 6 (+13) 19 + ASL ; 2 2 = 31 + BCS T_2_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +F_2: JSR delay ; 6 (+13) + ASL ; 2 + BCS T_3_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +F_3: JSR delay ; 6 (+13) + ASL ; 2 + BCS T_4_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +F_4: JSR delay ; 6 (+13) + ASL ; 2 + BCS T_5_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +F_5: JSR delay ; 6 (+13) + ASL ; 2 + BCS T_6_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +F_6: JSR delay ; 6 (+13) + ASL ; 2 + BCS T_7_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +F_7: JSR delay ; 6 (+13) + ASL ; 2 + BCS T_8_SW ; 2/3 2 2 + NOP ; 2 2 2 + NOP ; 2 2 2 + NOP ; 2 2 2 + NOP ; 2 2 2 +F_8: INY ; 2 2 2 + BNE F_NX ; 2/3 3 = 31 2 + INC BTC_H ; 5 5 + DEX ; 2 2 + BNE F_RD ; 2/3 3 = 31 + RTS + ; click speaker on transitions +T_1_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [1] + BCS T_1 ; 3 (always) +T_2_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [2] + BCS T_2 ; 3 (always) +T_3_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [3] + BCS T_3 ; 3 (always) +T_4_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [4] + BCS T_4 ; 3 (always) +T_5_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [5] + BCS T_5 ; 3 (always) +T_6_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [6] + BCS T_6 ; 3 (always) +T_7_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [7] + BCS T_7 ; 3 (always) +T_8_SW: STA spkr ; 4 [SW]itch to [T]rue on BIT [8] + BCS T_8 ; 3 (always) + +F_1_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [1] + BCC F_1 ; 3 (always) +F_2_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [2] + BCC F_2 ; 3 (always) +F_3_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [3] + BCC F_3 ; 3 (always) +F_4_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [4] + BCC F_4 ; 3 (always) +F_5_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [5] + BCC F_5 ; 3 (always) +F_6_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [6] + BCC F_6 ; 3 (always) +F_7_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [7] + BCC F_7 ; 3 (always) +F_8_SW: STA spkr ; 4 [SW]itch to [F]alse on BIT [8] + BCC F_8 ; 3 (always) + + ; loop here as long as BITs are [T]rue (aka 1) +T_NX: NOP ; 2 + NOP ; 2 + NOP ; 2 + BIT $00 ; 3 +T_RD: LDA (BTC_L),y ; 5 + ASL ; 2 + BCC F_1_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +T_1: JSR delay ; 6 (+13) + ASL ; 2 + BCC F_2_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +T_2: JSR delay ; 6 (+13) + ASL ; 2 + BCC F_3_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +T_3: JSR delay ; 6 (+13) + ASL ; 2 + BCC F_4_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +T_4: JSR delay ; 6 (+13) + ASL ; 2 + BCC F_5_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +T_5: JSR delay ; 6 (+13) + ASL ; 2 + BCC F_6_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +T_6: JSR delay ; 6 (+13) + ASL ; 2 + BCC F_7_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +T_7: JSR delay ; 6 (+13) + ASL ; 2 + BCC F_8_SW ; 2/3 + NOP ; 2 + NOP ; 2 + NOP ; 2 + NOP ; 2 +T_8: INY ; 2 + BNE T_NX ; 2/3 + INC BTC_H ; 5 + DEX ; 2 + BNE T_RD ; 2/3 + RTS + +delay: + nop ; 2 + nop ; 2 + BIT $00 ; 3 + RTS ; 6 = 13 + + diff --git a/mist/audio/link_noise.btc b/mist/audio/link_noise.btc new file mode 100644 index 00000000..6dadfe4c --- /dev/null +++ b/mist/audio/link_noise.btc @@ -0,0 +1,2 @@ +UUUUUUUUUUUUUUUUUUUUUUTªªªªªªªªªª•UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU*ªªªUUJªªUU*ª©UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUJªª•UUUUUUUUUUUUUUUUUUUUUUUUUUUUUURªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª©UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU*ªªªªªªª©UUUURªªUU*ªªªª©UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUJªªªªªªªªªUUUUUUUJªURªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª•UUUUUURªªªªªª©UU*ªªªªªªªªªªªªªªªÕUUU*ªªª©UUUUUUUUUUUUUUUUUUUUUUUTªªª•UURª©URªª©UTªªªªªªªªÕUUUUUUUjªªª¥UUUUJªªªªªªªªªªªª­UUURªUUUUUUUTªª•UU*ª©UTª©URªªªªªªªªªªªªªªªÕUUUUUUUUUUUUUUUU*ªªµUUUJ©URªªªªªªªª¥UUUJªªª¥U*ªUUUUUU*ªªªªªª¥UUUUUUUUUUUUUUUUUUUUVªªª©UUUUUUUUUUUUUUUURª©UURªª•UJª•U*ª¥UUURªUJªªªªªªÕUUUUUUUUªªªÕUUUUUUUUUUUUUUUUUUUUUUUUUUUJª¥URª•J¥J¥*¥Tª•J©URªªªªªªªªª«UVªµUUUª«Ujª­UUUUUUUUUUUUTªªªªªªªª©UJ©Tª•UJ©UJª•U*©TªU*ªªªªªªªªªªªªªªª­UV«UªÕZªªªªªªªªªªª¥UURµUUUUJ©UJªªªªª•UUUUJ©R¥*Tª•Jª•JªUJªUUUUjªªªªª«V­kV«Ujª«UZªÕUUUUUUUUUJªªªªªª•Rª©UUUUJ¥*T¥J©U*©TªTªU*ªªªªªª¥UUUUªÕ«V«UªªÕZ­Uª­UUªªªªªªªªªªª¥URªªªªªª¥Tª¥UURª©UJ©U*©UU*ªUJ©UUUUUURªªªª­Ujªªªªª«UVªªªªªªªªªªª©UUUUUUUTªªªªªª©UUUUUUUUUUUUUUUUUUTª•*•Jª©UUJªUTªªUUUUUUUUUUUVªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª©T¥J•*•J¥J•*U*•RªUUUURªªªª«UªÕjµVªªªªµUZªªªªª©UUUUUUUUUUUUTªªªªªªU*TªUURª©UJ¥R¥URªªªURª¥UUUj«UZªªµUjªÕZªÕUZªªªªµUZªªªªª©UUUUUUTªU*•UUUTª•*U*•TªªUJ¥J¥Rªª•UUUUUVª­UUUUUUª«UUUUUUUUUUUUUUUUUUURª¥UUUUUURªªªªªª­UURª•JªUUJªURªUU*¥RªUU*ª¥UJª•UJªªª­UUª«UUUUUUTªªªªªµUUUUJªª•UUUUJ¥RªUU*ªªªªªªªªªªª«UUUUUTª•TªªªªªªªªªªªªªªªªUJªUUUUURªR¥JTªUUUJªU*©UUUUZªª­UUZ­V«UZªªªªªªª•UURª¥UUUUUUUVªªªª•TªªµUUURªUTª©UUUUUTªªURª©UUUUUJª©UUUJªªªªªªªª•UUUUUUUUUUUjªÕUUTªªÕUUUUU*©TªU*ªªªªª•Tª•RªªªªµUUUURªªªª«UUUJ©UUUV«UUU*UJªªªªªªªªª©URªª¥UJªUUUUUUUUUUUUUUUJªªªªªªª©TªUUUU*¥R©TªªªªÕUUUUUUUjªÕUVª«UUUUU*ª•UUUUUTªª•UUUUUUJ©RªU*ª•*RRR”©Tª•U*ªªUUUUUVªªÕUª«UUª«Uj«UUUUUUUUUUUUTª©UUUUUUUUJ©T©R©J¥JU*©UUJªªªªªªª©UJªªªªªªªª©UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTª•*•UUUUUUUUUUUUUURªR¥R©U*¥TªUJª©UUUUUUUUUUUjªªÕVªÕUUUUVªµUZªª¥U*ª•UUU*ªªª•R©Tªª•U*”©JRR•*•UUT©R¥JªªªÕjªªª­V­Z­Z«UjµjÖ«Ujªªªªªªªªªªªªªª©R•)R•J©T¥)JJ”©RªUJ©R¥J•UUUUjªªªªª­UªµUUUª«UjªµUUUªªªªªªª¥UUUUUU*T¥J•*•UJªª¥U*T©R¥UUUUUUUUUUUUUUUUUªª©UUUUUUUUUUU*ª•UJ©Rªª­Uª©R¥JªªªÕUUR©TªUR©R©J©U*ªªªªª©UJªªªªªªªªUU*ªªªªªªª©UTªªªªª­UªµUUUUUj­UUUR©Tª¥UJ¥J”ªU*ªªªªª©U*©UUUU*ª©UJ©UUUUUUJªª¥UUUUU-5UUUUUUUj«UZªªªªªªªªª•UUUJªªª­UUUUUT©Rª•UUUR¥Rªªª¥U)TªR©J¥U*©UJ¥Rªªªªª«UUVªªªÕUUUUUUUUJªªªªª¥UUjª©UJªªªªªU*ªªªªUR©R¥JT©Tª©UJ•*Tªªªª©UUUUUUUUUUU*ªªªªªª¥U*ªª«UUUURª©UUUTªR¥UUZªªªU%*R”ª•RªR¢¥%Rª•UURªªªªšªµUªª­Ujªª©UUUjªªªUJª¥TªU5-UR¥)UUUªª’”©UT¥))UUVš”¥%UUªµUU*ªª­UUUUUZª²©R©UUj­T©RªUªªªU*ª«Zª©T•UUT©JU+UUR©Rª­jµT©UUZªÕ*ªU•jª•R•Jª¥U*”¥)Rªªª©J•U-UUU*ªªªªªUJVªµ*©U*ª¥UJª•UUUTª•UUUjªªµUVªªªªª•Tªªª”’’•UUT”€•JªUJR•*ªª•)JªµZªÕJªªªªª•Rªª­R¥JUUV­UUU*ªµUª©R¥*ª©UR¥JTªUR©T©UMJT”©UUUU*¥UUUUUUV«UjªªªªªªªT¥Jª«UUJ”©UUUU)J”ªªªª¥U*”©UJ­UU*¥RªªªªUUUUªªª”¥Tª­Uªªª•UUUUR”¥*UUUUU*R¥UUUJ©UUUUZª¥JIR•UV•RR”ªªÕURªUUVªªª•)J•UUJª•UUUUUUUU5UUZªªªUUUUUJ©U*¥UUJªT’”¥Rª•IJ¥UUUUUJªªªªªª©J¥UJªª¥U*ªªURªªªÕjªªªªªªªªªªªUJªUJ©T©R•U*©T•)T¥TªTªªª«UVªª•I*IiVªªU)Tª•U*©UUUUªª­UUUUUUZªªª¥T¥JUJª«UUR€¥*•UJ©J©URªªªªRRI)J¥UJ€ªUUU–ªª•UUU«[VªÕUUUVªÖ­UUJ•*UJªªªª¥R•Jªª¥T©R©U*©U*T•)RªUJ©J”ª•UUUR•Jª•UUjªªªªªªªªµUURªªªª•Rª•Rª©UUUU*©UUUUUUUUUUUUUUUTªU)R”¥%IT¥R•JR•Jªªªªªª¥UUUVªÕUJ¥J©UUUUUUUUUUZªªªªª«UUUUUURªªªT€€”•)UJªª”¥)*ªªÕªª¥RT•J«UUU%%)JªªµUUUUUUj­UZš©UUUjª©Tª•UZªª¥JR•J©UUU*•)J¥UUUR¥IJJR•UR©RRRR¥UUjªªªªªª«UUVªªªªªZªÕV•U*ªªªµUUSRªªª«Jªª©Tª¥UVªªª¥Rª•Tª’’JRªšª©II%%*•UUJ”’RERªªÔªR’’¥UZ­jÕUUVªÖ­ªÕU¥UUU­m­kUUUV­kVª”¥IUUUU*”¥%)J•R©JI$’”ªU))%%%J©UURªªªª­ZªªªªªªªµUjªª«Uj­UjªªR¥*¥ZªµZªªªR’¥UUj­Uj•JRJJR•*JRI$’IITªª•*RRTªª­UUUUUZ«UªÕªÕª­U«VÖÖ­j­UUU*•Jªªªµjª•$’$’JR”’DHH‰D€•$”‰$’R¥URÕUUUUUUZÖÛnÛmZµ«ZÖÖµ«VªªªUJ©*•+UUU%IJªªµZª•IRU*ªªªª¥IRRR”•%R”¥%%%*•R¥)I)*RªªÕVª«UZÕµkUªÕUZªµUjÖ¶¶µ­ZªªªU)TªUUJ©*’’”¥*”’Q)%*•UUTš¥‘R•UkV­UUj­UªµUVªªª¥UUU«Uªª¥R”’’DDBBI)*U)J”ª•©ª­ZÖÕµ­kZÚ¶ÕjªªªµUZ­­Z­R”Iˆ’JR’”¥J¥))%))UTª”‘ˆ”•UUjªªUJªµ¶ÝÛmmZ­V«Uj­U•UJªªÛ[kªÕ*H¡$R¥UUUT€’$H’”µV«J©$"‰$ªªµUJQHH’•VÚÝ­«URª•UUUUUT¥IRªÛnï[ªª*J¥uZÖÕªªI$H’•Uj«UT¥!DHŠJUUIH"JÕkVÕVªµUªÕU4ª­U©T©*­[VÕjªªªÚÛ»víjªRI%)jµªª•J¥)$”•J•)RII%J•)$„‰IUjÕªªR’Rªª­Vjªª©UUJª«Ví»mµª¬ªªªªµV•)$¥RÕªÕª¥)I$”¥II""""ªµZª•JI)Jµ¯{ÝÛ«T©Tª­kmVUUJ¥*U*•UK*”€¥*«ZÛ¶ÛjªRI"IJT©I"„DD’U)RI$’IRZ­­¶­UUZ¶ÝÛ»µª©U*µ­kV­Vª•J•UZ¶ÖÝkUR”’DDJ«nÚ©UUI$„DDTªªª‘QIRµ­»]­URUMknÛ·m¶ÚÚÛmÝœ·jÚª¥)I$’"JªÕªª©$HDDJJµZª”‘"IJ¥U&RHˆ‘%%T©R”’RJ¥UjÖÝÞïw[UR¥RÕ¶íÝ·ZÕURTª­»»kU%I%*ªª­*R€©URªª©JH‘"IJª•¥JDˆ‘"RTÕUUI$B")*­®»m¶­V«VÖÖëkUUUR©TªªªªÕjµ5UjªµUTª•%*ª­VÕUJH‰I)%$I"$ˆ¢$’D‰D’•*µ­­ªÔª•UUµ®Ûn¶µªÕUUUUj¶ÖÚµ­Uµmµº­JJ"HŠRR’R"DDH’ˆˆˆˆˆˆ‰J•UUjªªªÖ«Ujª­UVÕVªUJR•UZ¶»m¶ÖÕZ­V«UU%E$ªUªª”€€©U)T’©JR•)R•JªªªµªÕU¥UR¥¥RQ ‚$DŠE$¥)UZÖ«UUJ¥[oŸû»·mÚ­Ukk»wvÝVªR€©Ufµ«UJ¥J©U%H‘"Iˆˆˆ”¥U*ªª¥R”¥*UU­¶Ö­k[mj«V¶Û{{ÝÝ»[V­V×wwmµµj¥R•*”€”””©JI$ˆˆ’IJUUR€‘‰”ªªªªªªªªª•UUU«jÚÚ­UR•UU®Ûv¶¶Õªªª¶«T€‘"!$”¥T’D„DIUUªªR•*­V­ZÛ·œîîÚÖÖÕ­µÖÕª¥$ˆˆˆ‰$‘"!ˆˆˆˆ’$‚"""""J•jªªª«ZíÛœîîí¶ÛkZ«UZÚÛkªÍUUTªŠªª¥JI$‘"D‰ˆˆ‰$’I$I"RR•*ª­m·nîîí¶Ûm­µµ­Z«U*ŠI$””’”©)IRT•%)JiUUURªªªÖµ¶ÛkZ«JªªµUR€’’RR•JT€’EIEERª©T€¥$ªªµmZª•TªªÕµÖÛkjµUUjºÛwní¶µUUUUUUT”‰"D‘$‘!ˆˆˆˆˆˆˆˆˆ’RU*Š•JIIUVíï»·UªRTª«m»vÖ­R•)JªÖÛm¶µVUUJªªªªJHˆ’I*R¥$‘"!$‰$’RRI$I*VnºÚX€‘$¥«mÛµª’DB$’ªÖÚÛkjµUUUVªª¥)IIIR¥f­µÛv¶ÕRI"IJUJ¥$HDDE•*©YUVµk[VµZµjÚ¶µ­UT”’%%*ªªªT€HHH¥U­Û»Ûmj’Hˆ""I$”‰DDD©ªµ­­ZµZ­ZÖÛ·nÝ»nÛZŽ©I"D’JU*•TªRH’‰Jª­Z­UJ¥J€ª•U%I"%Vœß{ÞíjT¥*ª¶®ÖµT’"I%Jªª¥I$HDDI)*ªªª©RRJR•UV­ZÖ­UU,¥*U*­kß~îîÖªQ$I)JŠ•*DDDDD¥UVV¥R¥*•j»nîíÛZª¥)Rª­jÕjªT”’JJTÕUVª­UUT¥%)R”©I$I¢€Òªªªª«[^ïÞîîîÔÉ)$¥UZª©HBDD•J¥JJE$”Tª«VÕ­VZ­mm­µµ«UTªUV­­jÕUUUV­vÛmT¢DD•UªªI ˆˆˆ’©J’ID’RªµkZµZª¶ÖÛ·nÝÛm«Vµµ­«VªªªRRIIU*€€’E$”ª«U­Zªª’’)I(’HˆˆDDD’Rªª­UUUUZÖ¶ÚÚÖ­[VÖµµµZª•*•UUZµjª¥II%)JªªÕU*RH’H‘ˆˆˆˆˆˆ’•*­ZÖµ¶Û[®×[¶í»vÕ­UUURª•)IIJRT”’H‘$”ªµm­mjªªV•UU*R©III$’”ªª«kZÕªÖ­VªÖÛmª’HA"""""""""""I)JªÕ«Vµ¶Úí­¶Ûvݶíwkm¶ÖÛm¶ÛjÖªªU)TªJJJR‘"„DDD‰$"DI))))IRª•)JURªªÖµ­­µµ¶ÚÛmÝÝÝÝÛ¶ÖªªRQ)J•)JII$’I*•UjªRJIJR¥JI$””©RªTª•Tªªªªªªªª«UªªªªªUTª”€’I)Jªª­UªªªªªÕZÛm­UURª”¥Rªšªªªª©JªµUUU*RR©UUVªªU%)%$¥%I)$€””¥R¥JR’¥J©ªª­U¥TªUTªª«U­ZÖ­UU•jªªª•UUjÖ¶­kUUUJR’R’I"I$’IIIRRI$’I$€©UUUej­VªÖ­­jÕUUUT¥U)J”¥*ªª«UUªªªT”’I%$’I$¥*•UUZª«V­VªÖ¶Ûm¶ÛkkmmºÝ­ªª”ªT¥)$ˆAˆˆˆˆˆˆˆˆˆˆˆ‰%)UUUJ¥Tª­ZÚÛkmÛ¶­«k[­»vÝ­¶Ûm¶í¶Ûmj«UUT¥"!D"""""""""")UZµª²©R•RªµUªªª¥RT•Jª•Z«Z«ZÖµ¶Û¶íÛm»[kjÕUUJ©Tª•)%)$’”¥UUU*ª©J’III%%$€”¥Jªªª•*•*ªªÖ­VÒÕ*•UUjµUUR”RJ•J¥RQ)JR•UU*¥)*TªUUURªªª«VÖÚÚÛ[ZÚÚÖ¶¶µªªª©JII$’D‰"Hˆ„DDD’R$IH’JJ•R•)J•U­®Ûm¶í¶Ûmµ¶­µµ¶¶Ö­Uª¥*Tª•TªJHDD‰$I$’I))J”©JR•J©UUJª­ZÛZÚÖ«UUUJªª–¥UTªJR”¥L¥UUeVUIIITªjªªªª•TÕUUZªªªÊª­UUUUUU)T•%$¥%$€”’€©I)IR•URªª«UZªªªÔÕZÖ­jÕUUTªªªªªªÕTª•ª«ZªŽªJ’•J•*RT€€©)D’D’$’I$$’’¥J•)J©Z­­¶ÚµJRJ•kZÚÖµUT¥%)Uk[m­UUURªªªª”ª”€¢€”’%"I$JJ”ªJRJJJª­ZÕUR’RJªµjÖ«UUR€€”©j«UªÕUUU*©U*•IRJR¥T©*R©ªÕ­µ«UU*”•)Tª•)I**J”ªU*•U*ª–¥UUUUUV­ZÕªª€€”•)UUUUT€’IJªÖÛ­«jT’‘$’’”©I$‘I*ªªÕZ¬ÕUUj­UZ­ZÖ¶µ­*¥$¥%UUZ–©UJR””•R­-UTªU$©JJT¥J”’$D’R­­·m­jª¥RªUUjÖ«UT”””©ZªªªT•$¥)J”©R¥R¥J•Rªªªªªªª©JRIJ•U­¶ÝkkUT’’RJªªª•$HDIªjªª©UUTª©Uj­­mZ­J©T©UUUUU*JD€©UUUUU•UUUJT€©J•J•%$¥)%%$€¥JµVª­UUZ«kvîÛUT’I$©UU©R’D‘%%J¥U*”€©*¥Rª«Uj«UUV«kVªª¥Rª«Uj­UUU*ªÖµ­T©"B"$”©U*RQ$”’RR”¥JJ”¥)R©UUUUUUU­[jÖ­UªÕZ­UjªªªªµUUJ”””€©JR’”ªTªªjªªª©R©JT’’RJH’D’’”ª•ªª­UUVªªªªªªªª¬µUUUT¥Rªªªªª¥UTª²ªªª¥UUJ¥)II$€’IDI$€•*URª–ª«U«UZ«UU«VµjµUUTª¥T©R¥J¥JT€€’RJ¥UUUªªªªª•J”ª”©T¥R•)RªªÕªµUUUUUVªÕUUR€€IBII$”I"I$”•UUV«Uªªªª­V«Z«UªµV­Uj¶­ZÚ­ªªªªªUJ•J©JRH‰*ET•I$’H”’š¥J€•)I*UJ¥UUTªª«U[U«ZÖÖÕº¶ÕªÕªªUIR*Ššª%IQj&¥R•IUIJ”Ô¬Šš™IUi,•’ªUJª­-RÒªUMKT­Jª€Ôª+¢šU+eY-U•UJ¥iZÍVªª¶Rª•& Ôš+bÒ\‹RŽ–¥šù‰àŒ ÁØ­*‹Ibt+BԔ•*J’€ÒT•%T«ER¬ŠÔªª€uSQu&âºM©UZŽái-àØ^CÒµV©m+I±:"š©I%%ERTNE ô#aU%"ÔFÅŽ.–ɵ.“Ôº]#ÑX\Œ«Bâ²; ¥i-+#hm "€T+ QT:ÑZ6‹Qu+JÔm-§rÚ­WUµUeu7+¢ŽV+#)°:A$D‘$‘THšL…H–¢ŽZ‹b©jUK“jº­UÚµ­¥µ5j®—Åz«VÕl­•ÔÚn‹Qh¬‚ šŠ$…@¬‰D¢*Bšµ-¥Ø¬­’Ò]-UiZ•Iš<…Âèv'¡\•V«U¶«m–µZ«€õ+U¥%i¢©U A°:…áY*J•IU*URJ€*¢T•EÐŒ Ñ:-JËjt®JªªMÂl–-¢€Ô-D©-R€ØM&¡tU*¥UU*J€ªRVKIiUUªuUª­UZ›“Õy;+R.¢•h5JJÑ))šI!5 +E$‘*”JÅRUIJȪÕ.Êê·KmªÚÚn•¶UŠÕjm+UJ+IT¬¥hU%ATLE$€T¥J¢€ª©J¥IU%KIi\EѵUVÕUjU’ÕJª¥RµLª¥JURª*•UUU*’ITMŠ©T¬­%¥RªªªªªªªªÕR¬›*ÔŽµJ¥QJJ’€©*‰T©$©)%EU5+Rª²«Rª²­V–ÊÔÚZªª©UU*©JªUJ’ÒZ“URª©URKJeUUJ¥TªKRhYJ¢T‘)"€šªJ•IRT•KUZµV¥RªJªªÕm[UUU*R¥J«RµUUSRU%J©UJR€€š•)ERU*KRªUJ•)Rª•U¥©T•$”ªª«JÔªV‰€©*ªª«UjªªªªªªªªR•)J’¥*•R¥$ªU-UUUYZ•R©5*•¥U5*Ê©*•ITª•Jª€ªU%e*¥UZšªªª¥T©+%*ŽÕUjUeJªª«+UiUT’¢’T”€€¥*I)$”©JªUj«Uj­ªÚ­-Ujªªªª¥R€”•Jªª•R’U)J¥*©UUJ©U*ʪ©UR©J’€©JJRªªµZªªª©€ªI¥U5U©j•%RZªµUYU*•JT¥IR©T¥J¥TªR¥J©UTª¥*”’©U[[VµZµTª¥JªUJ©T€’I)%T•JT¥*’©U*ªªª«UjÕjªª¥©VUURªU%IJ•Jª©UUTªT¥JU%Jª•U*©RªUJªU*©Tªªªªªªª«+ej­KR•%$¥U+Jªª”€ªJUR©YJ¥Rª¥IjUUUUUJªªªª¥TªªZªª«UYUJÒ­VªÊ©)JJ”¥JUJ”€”•%R©*’€ªUJ©U*ªªª•J©UUUUiZªš¥ªµUUUTª•UU-*¥U*J€©5)¥T©J¥TªU*¥U*¥T©J’©J””€©J”ªª–©Ž«UUUJª¥U+*¥T«%¥*UJ¥VUSRªUJªªª«UU-JªU*J¥RRR’’’’RR•)TªU)Tª¥UZZªÕU­Uªµ[UUTªª•J¥*¥*R¥))%JJ”ªJªUJªªªªªªªªªª©©Jª¥UUUR­*ª©*•¥jUJ¥TªR€©%E)TŠ•TªR¥J•*¥©ZªªUR©Tšª©jUMURª•UUUZkUªÕV«UUU*ªª¥JRI$’RJ”¥J’””€€ªJ©Tª€•U*jªªªªµUUUUª­KRµUU©UUUUJªR©*RT¥J¥Tªªªªª¥Tª©ªª•R¥)*”¥RU*©TªJ©UUUUUKJªªšªª­-V•UJU%Jšª•ERªVJ¥*¥UUUUUKUUURªU¢µ-KUUV©ªZ‹Q©5EQZ €ª-%‰d©U€ÊU*©UU*Òªªªªª•¥JšªT¥TJ•$ª¥*¥*•¢²ªš©¥Y%šºW*Òê›UeUUJ©**I‘RRIIIRUR€¬•J©UI¥Y-•UªªÕjjª©ªª©%JRU%J’URªU&“RjM’±5*¥Tª¥jV•¥Tµ*€ª•IRUJ¥UU+RÔ­+JŽ­UJªªª©V¥ei6+)€ª*IQR*B¡R*$¥)*€ªjV¥UU5U¥µZ­[jÚ­Uªµ5-UiUUR©UUJÒZ–’²U)ITªU%J”¬¥U*ª©jV•eUT©TŠÉR•Jª©,•I©,V•¥jZŠÊµV«jÕ­ZµVªªª©T•*’eIJ•(¬’•Er6MJ²UJªªªµ5U•URU*”ªRššJ€©Tª•JªÔ¬ªªV•URª©U•UUUTªš•€ª•$’JRU%T©J’šªU&¥U-RÕZ–ªµV­-mVÕUUJ€U’€U%EQ*J‰RU$ªIJR“)Rªªªªª–¥Z¥jªUJ¥U*Š¥TµUTµUUTªª•5%URªª–©YZ•¥T”¥©)$”•)RT¥J¥RªU*©YU+*ªŽµVÕj­UZª•T©R€¥)JJ’¥*•JªU*U)R©U*¥iZ«UªÕj­UUURª’€¥*•Tª©U%R©*€©U%R©T©UUUUZ­ªµUTªU*•RUUJª¥Tªªª¥UU*¥T©UUUUj«Uj«SUR¥R€ªT¥JTªJ¥RªU*€ªJ”¥JT¬ªªªªµV«UUUUJR€•J©UUTÔª¥Tª¥Jªªªªª©UUUZª­UUJU$”€”©*R¥R•J•J©UUUR©T¥J©UU«U•ªªª¥Tª©U*•*T¥J•UJªTª¥*•R©U*•UJ©ZªªÕZµUTªT”¥%*Tª•JTªJ©TªªUJª¥J©UUUªªÕZ«UUR©IJ’¥*•*©UTªªiUUUUU*¥T©U*¥UTÕUURª”ªR•Jª©UURªª©•UURªª¥UU*¥UUUUUUUªªª¥T”©IJ•J•J•JT•J¥TªªªUUUUZªµUj­UUUUUUIT•)RªUJªUR¥R©U*•Rªª•UUUUUZ«UUUR©)R•Rªªª•T©U*ª¥UUJ©R•)Tªªªª«UUUUTª•RªU*•Tªª¥UJªªURª•U*•*ªªª«UjÕUUUR•)R’¥)R•JT¥R©U*¥UTªªUUSUUZ«UkZ«UJ¥JR”•)T©R”¥)R©Tª•TªUR¥TªªªªÕªµZªªªª¥J•*¥R©K%UTª¥T¥R¥T¥T©RU*UUVª«UUUR©JT¥*•*¥*TªTªª©©UUTª–•UUUUjµZ­UUUURT”’€¥J¥J•*•JUJ¥UU*¥Tª•UUUUUªªªª©U)TªUJ¥J¥J©U*¥YUJª¥*©UUUUªÕZ­VªµUUJªU%J”ªJ”¥JR©RªU*”ª•Tªªªª­V«V«UUUUU*ªUUJ©Tª•Jª•UJªT©R•*ªªª«UZ­UUUR¥T©R¥R©J¥Jª•UUU*ª¥UUJÒª­Uj«UUUUJ€©*J’©*JT¥*•Tªªªª¥UJªUUUZªµVµUUUUUUUJªªURªTª•J©U)T•)J•*¥UUUUUUUUUJª¥J•)U*U*”ªUJ©UUUUUUUUUUª­VªªÕUU*•*’ªRªU*”ªT¥J•*ªªUT¥UU*ªªª«UYUUUU+*©UKJ©U*•J©U*¥J©U*¥T¬ªªª­UUjªªÊªªª¥UUTª¥R©U*U*•URªªUURªª«+UZV•¥U-*¥UU*ªRª©R¥R•J©Tª•U*ªU¥UUUeUUUUU+JªZ•UU-J©Tª•Idª•UTªªUUUUUUiZ•UTªªRªURª•T©U*TªU)UR•UU5*ªªªµUjªªªªª•SUUJÒª•J©TªJšŽªR©U*©U*ªªªªªªªªªªªªªjªª²ªªªªU*¥U*ª©Rª©Tª–•UU+JªUUJ¥T¥U*•Tª©U*¥¥Tªª¥©jjªªªª­SUV«Uj²«*ªªªªªªª•JU*T¥T•J•J¥U*š•UUUUijªµUUUUUUU,ª•R©U*•RªYURÒªªªªªªÕZªÕUU©Z•UU*ª•TªUJ¥Tª•J©Tª•Tª©UUKRªªªªªªª©ªUUUUUJªj©UUJ©Tª•J©UJ¥U*ªªªªµ-UTª¥UTª©UJ¥R©*¥UTª©U+*ªªUUUUjªÕUUZªURªªUJ©T©TªTªR•)J¥J¥Tª•JªUUUUUª­UUUUUUUUUUU5RªªRªUU*¥JªU*¥UUUUTªªªªURª¥Tª•UTªªURªªUU*ªUUUU*Òªªªª«UUUUUJªTªª•U*ªUJª•RªUR©UUUSUUUUUªªªªªªª¥UUTªª©UJ¥RªUR¥RªU*©UUUUUjªªªªÔ¬ªªªªUUUUURªª•Tª•UJª¥UJªªªªª­UUUUUURªU*ªª¥URª•J©T©TªUJ©UUUUUUUZªªªª©UURªªª©UUU*©UUTªªUJª•UJªªªªªªUUUUJ©U*•URªªªª¥UJ¥TªªUU*ª¥UUUUUZªªªª¥U*¥UU*ª•U*ªUU*¥RªURªUU*ªªª­UUUUURª¥U*ªUJ©UU*ªURª•Rª•UURªªªª²µUUUURªUTªªªªª•UU*ª¥UJªUJ•R©UUUUUUUUUUUURÔªªªªªªUUTª•URª¥UJª¥UUUUUjªªªª©UTª•U*ª©U*¥UTªªUTª•UUUUUUUUjªªªªªªª¥U*¥UUUUJªURª•JªUUU*ªªªªªªªªªªªªªªUUUUU*ªªªªªUR©T©UURªªªªªªªªªªªªªªUUUTªªªªª¥UJ¥U*ª•UUJªªªªªªªªªªUUTª¥UJª•U*ª¥UJª•Rªª•UUUUUUUUUUUUU*©URªª©UJ©RªUTª¥U*©UTªªªªªªªªªªªªªªªª¥UUUURª©UJ•Tª¥UTª©U*ª•UUUUUUUU*ªªªª•UJªUUJª¥UUJªªª¥UUUUUUUUUUUUUTªªUTª©U*ª•RªURªªUUUTªªªªªªªªªªªªªUUUUUJªUU*©UU*©U*ª©UUUUUUUUUUUZªªªªª¥UJªUJ•R©UJªUUJª•UJªªªªªªª«UUUUUUUUUU*ª¥URª¥Tª¥Tª¥UTªªªªªªªªªªªªªªUU*ª©UJª©UU*ªUUJªªªªªªªªªªªªªªª•U*©URª¥U*©UTªªUUJªª•UUUUUUUUUZªªªªªªªªUUJªU*¥R©RªUJª•UTªªªªªªªªªªªª¥UU*ª©UJª¥UJªªªªª•UUUUUUUUUUUUUUUJªª¥UJ©U*•U*©UJª¥UUUUUUUUUUUUUUUUUUU*ª¥URª•U*•RªUUURªªªªªªªªªªªªªªªª•UU*©U*©UTªªUUJ \ No newline at end of file diff --git a/mist/audio/red_page.btc b/mist/audio/red_page.btc new file mode 100644 index 00000000..1b6e2b9e Binary files /dev/null and b/mist/audio/red_page.btc differ diff --git a/mist/mist.s b/mist/mist.s index c827092a..125d23b2 100644 --- a/mist/mist.s +++ b/mist/mist.s @@ -392,6 +392,23 @@ myst_link_book: ; play sound effect? +; lda #audio_link_noise +; sta BTC_H +; ldx #43 ; 45 pages long??? +; jsr play_audio + +; lda #audio_red_page +; sta BTC_H +; ldx #21 ; 21 pages long??? +; jsr play_audio + + + + lda #1 sta LOCATION jsr change_location @@ -535,6 +552,8 @@ done_turning: .include "gr_pageflip.s" .include "gr_putsprite_crop.s" + .include "audio.s" + .include "mist_graphics.inc" @@ -918,3 +937,12 @@ location13: ; to retrieve the message. ; Yours, ; Atrus + + + +;.align $100 +;audio_red_page: +;.incbin "audio/red_page.btc" +;audio_link_noise: +;.incbin "audio/link_noise.btc" + diff --git a/mist/zp.inc b/mist/zp.inc index ff0c4869..9c933807 100644 --- a/mist/zp.inc +++ b/mist/zp.inc @@ -53,6 +53,8 @@ IN_SPECIAL = $6A CURSOR_VISIBLE = $6B IN_LEFT = $6C IN_RIGHT = $6D +BTC_L = $6E +BTC_H = $6F DISP_PAGE = $ED ; ALL DRAW_PAGE = $EE ; ALL