summaryrefslogtreecommitdiff
path: root/audio.asm
diff options
context:
space:
mode:
Diffstat (limited to 'audio.asm')
-rw-r--r--audio.asm514
1 files changed, 454 insertions, 60 deletions
diff --git a/audio.asm b/audio.asm
index ad476c60..7d63e456 100644
--- a/audio.asm
+++ b/audio.asm
@@ -1,7 +1,29 @@
+INCLUDE "charmap.asm"
AUDIO_1 EQU $2
AUDIO_2 EQU $8
AUDIO_3 EQU $1f
+AUDIO_4 EQU $20
+
+PCM_1 EQU $21
+PCM_2 EQU $22
+PCM_3 EQU $23
+PCM_4 EQU $24
+PCM_5 EQU $25
+PCM_6 EQU $31
+PCM_7 EQU $32
+PCM_8 EQU $33
+PCM_9 EQU $34
+PCM_10 EQU $35
+PCM_11 EQU $36
+PCM_12 EQU $37
+PCM_13 EQU $38
+GLOBAL AUDIO_1, AUDIO_2, AUDIO_3, AUDIO_4
+GLOBAL PCM_1, PCM_2, PCM_3, PCM_4, PCM_5, PCM_6, PCM_7
+GLOBAL PCM_8, PCM_9, PCM_10, PCM_11, PCM_12, PCM_13
+
+
+
INCLUDE "constants.asm"
@@ -15,7 +37,8 @@ INCLUDE "audio/headers/sfxheaders2.asm"
SECTION "Sound Effect Headers 3", ROMX, BANK[AUDIO_3]
INCLUDE "audio/headers/sfxheaders3.asm"
-
+SECTION "Sound Effect Headers 4", ROMX, BANK[AUDIO_4]
+INCLUDE "audio/headers/sfxheaders4.asm"
SECTION "Music Headers 1", ROMX, BANK[AUDIO_1]
INCLUDE "audio/headers/musicheaders1.asm"
@@ -26,7 +49,8 @@ INCLUDE "audio/headers/musicheaders2.asm"
SECTION "Music Headers 3", ROMX, BANK[AUDIO_3]
INCLUDE "audio/headers/musicheaders3.asm"
-
+SECTION "Music Headers 4", ROMX, BANK[AUDIO_4]
+INCLUDE "audio/headers/musicheaders4.asm"
SECTION "Sound Effects 1", ROMX, BANK[AUDIO_1]
@@ -49,9 +73,7 @@ INCLUDE "audio/sfx/triangle3_1.asm"
INCLUDE "audio/sfx/muted_snare2_1.asm"
INCLUDE "audio/sfx/muted_snare3_1.asm"
INCLUDE "audio/sfx/muted_snare4_1.asm"
-
-Audio1_WavePointers: INCLUDE "audio/wave_instruments.asm"
-
+; Audio1_WavePointers: INCLUDE "audio/wave_instruments.asm"
INCLUDE "audio/sfx/start_menu_1.asm"
INCLUDE "audio/sfx/pokeflute.asm"
INCLUDE "audio/sfx/cut_1.asm"
@@ -126,7 +148,6 @@ INCLUDE "audio/sfx/cry20_1.asm"
INCLUDE "audio/sfx/cry21_1.asm"
INCLUDE "audio/sfx/cry22_1.asm"
-
SECTION "Sound Effects 2", ROMX, BANK[AUDIO_2]
INCLUDE "audio/sfx/snare1_2.asm"
@@ -148,9 +169,7 @@ INCLUDE "audio/sfx/triangle3_2.asm"
INCLUDE "audio/sfx/muted_snare2_2.asm"
INCLUDE "audio/sfx/muted_snare3_2.asm"
INCLUDE "audio/sfx/muted_snare4_2.asm"
-
-Audio2_WavePointers: INCLUDE "audio/wave_instruments.asm"
-
+;Audio2_WavePointers: INCLUDE "audio/wave_instruments.asm"
INCLUDE "audio/sfx/press_ab_2.asm"
INCLUDE "audio/sfx/start_menu_2.asm"
INCLUDE "audio/sfx/tink_2.asm"
@@ -162,6 +181,7 @@ INCLUDE "audio/sfx/ball_poof.asm"
INCLUDE "audio/sfx/faint_thud.asm"
INCLUDE "audio/sfx/run.asm"
INCLUDE "audio/sfx/dex_page_added.asm"
+INCLUDE "audio/sfx/swap_2.asm" ; added in yellow
INCLUDE "audio/sfx/pokeflute_ch3.asm"
INCLUDE "audio/sfx/peck.asm"
INCLUDE "audio/sfx/faint_fall.asm"
@@ -250,7 +270,7 @@ INCLUDE "audio/sfx/cry1f_2.asm"
INCLUDE "audio/sfx/cry20_2.asm"
INCLUDE "audio/sfx/cry21_2.asm"
INCLUDE "audio/sfx/cry22_2.asm"
-
+;Audio2_WavePointers: INCLUDE "audio/wave_instruments.asm"
SECTION "Sound Effects 3", ROMX, BANK[AUDIO_3]
@@ -273,9 +293,7 @@ INCLUDE "audio/sfx/triangle3_3.asm"
INCLUDE "audio/sfx/muted_snare2_3.asm"
INCLUDE "audio/sfx/muted_snare3_3.asm"
INCLUDE "audio/sfx/muted_snare4_3.asm"
-
-Audio3_WavePointers: INCLUDE "audio/wave_instruments.asm"
-
+;Audio3_WavePointers: INCLUDE "audio/wave_instruments.asm"
INCLUDE "audio/sfx/start_menu_3.asm"
INCLUDE "audio/sfx/cut_3.asm"
INCLUDE "audio/sfx/go_inside_3.asm"
@@ -358,23 +376,93 @@ INCLUDE "audio/sfx/cry20_3.asm"
INCLUDE "audio/sfx/cry21_3.asm"
INCLUDE "audio/sfx/cry22_3.asm"
-
+SECTION "Sound Effects 4", ROMX, BANK[AUDIO_4]
+INCLUDE "audio/sfx/snare1_4.asm"
+INCLUDE "audio/sfx/snare2_4.asm"
+INCLUDE "audio/sfx/snare3_4.asm"
+INCLUDE "audio/sfx/snare4_4.asm"
+INCLUDE "audio/sfx/snare5_4.asm"
+INCLUDE "audio/sfx/triangle1_4.asm"
+INCLUDE "audio/sfx/triangle2_4.asm"
+INCLUDE "audio/sfx/snare6_4.asm"
+INCLUDE "audio/sfx/snare7_4.asm"
+INCLUDE "audio/sfx/snare8_4.asm"
+INCLUDE "audio/sfx/snare9_4.asm"
+INCLUDE "audio/sfx/cymbal1_4.asm"
+INCLUDE "audio/sfx/cymbal2_4.asm"
+INCLUDE "audio/sfx/cymbal3_4.asm"
+INCLUDE "audio/sfx/muted_snare1_4.asm"
+INCLUDE "audio/sfx/triangle3_4.asm"
+INCLUDE "audio/sfx/muted_snare2_4.asm"
+INCLUDE "audio/sfx/muted_snare3_4.asm"
+INCLUDE "audio/sfx/muted_snare4_4.asm"
+INCLUDE "audio/sfx/unknown_80250.asm"
+INCLUDE "audio/sfx/unknown_80263.asm"
+INCLUDE "audio/sfx/unknown_8026a.asm"
+INCLUDE "audio/sfx/heal_ailment_4.asm"
+INCLUDE "audio/sfx/tink_4.asm"
+INCLUDE "audio/sfx/unknown_8029f.asm"
+INCLUDE "audio/sfx/unknown_802b5.asm"
+INCLUDE "audio/sfx/unknown_802cc.asm"
+INCLUDE "audio/sfx/unknown_802d7.asm"
+INCLUDE "audio/sfx/unknown_802e1.asm"
+INCLUDE "audio/sfx/get_item2_4_2.asm"
+INCLUDE "audio/sfx/unknown_80337.asm"
+INCLUDE "audio/sfx/unknown_803da.asm"
+INCLUDE "audio/sfx/unknown_80411.asm"
+INCLUDE "audio/sfx/unknown_80467.asm"
+INCLUDE "audio/sfx/unknown_804bf.asm"
+INCLUDE "audio/sfx/unknown_804fa.asm"
+INCLUDE "audio/sfx/unknown_80545.asm"
+INCLUDE "audio/sfx/unknown_8058b.asm"
+INCLUDE "audio/sfx/unknown_805db.asm"
+INCLUDE "audio/sfx/unknown_80603.asm"
+INCLUDE "audio/sfx/unknown_80633.asm"
+INCLUDE "audio/sfx/unknown_80661.asm"
+INCLUDE "audio/sfx/unknown_80689.asm"
+INCLUDE "audio/sfx/unknown_806af.asm"
+INCLUDE "audio/sfx/unknown_80712.asm"
+INCLUDE "audio/sfx/unknown_80760.asm"
+INCLUDE "audio/sfx/unknown_8077e.asm"
+INCLUDE "audio/sfx/unknown_807eb.asm"
+INCLUDE "audio/sfx/unknown_8081e.asm"
+INCLUDE "audio/sfx/unknown_80879.asm"
+INCLUDE "audio/sfx/unknown_808a9.asm"
+INCLUDE "audio/sfx/unknown_808fa.asm"
+INCLUDE "audio/sfx/unknown_8091c.asm"
+INCLUDE "audio/sfx/unknown_80944.asm"
+INCLUDE "audio/sfx/unknown_8097f.asm"
+INCLUDE "audio/sfx/unknown_809b2.asm"
+INCLUDE "audio/sfx/unknown_809fb.asm"
+INCLUDE "audio/sfx/unknown_80a23.asm"
+INCLUDE "audio/sfx/unknown_80a89.asm"
+INCLUDE "audio/sfx/unknown_80ad2.asm"
+INCLUDE "audio/sfx/unknown_80b05.asm"
+INCLUDE "audio/sfx/unknown_80b53.asm"
+INCLUDE "audio/sfx/unknown_80b9c.asm"
+INCLUDE "audio/sfx/unknown_80be2.asm"
+INCLUDE "audio/sfx/unknown_80c3b.asm"
+INCLUDE "audio/sfx/unknown_80c6e.asm"
+INCLUDE "audio/sfx/unknown_80ca1.asm"
+INCLUDE "audio/sfx/unknown_80ce7.asm"
+INCLUDE "audio/music/printer.asm"
+INCLUDE "audio/sfx/unknown_80e5a.asm"
+INCLUDE "audio/sfx/unknown_80e91.asm"
+INCLUDE "audio/sfx/get_item2_4.asm"
SECTION "Audio Engine 1", ROMX, BANK[AUDIO_1]
-PlayBattleMusic:: ; 0x90c6
+PlayBattleMusic::
xor a
ld [wAudioFadeOutControl], a
ld [wLowHealthAlarm], a
- dec a
- ld [wNewSoundID], a
- call PlaySound ; stop music
+ call StopAllMusic
call DelayFrame
- ld c, BANK(Music_GymLeaderBattle)
+ ld c, $8 ; BANK(Music_GymLeaderBattle)
ld a, [wGymLeaderNo]
and a
jr z, .notGymLeaderBattle
- ld a, MUSIC_GYM_LEADER_BATTLE
+ ld a, $ea ; MUSIC_GYM_LEADER_BATTLE
jr .playSong
.notGymLeaderBattle
ld a, [wCurOpponent]
@@ -384,16 +472,16 @@ PlayBattleMusic:: ; 0x90c6
jr z, .finalBattle
cp OPP_LANCE
jr nz, .normalTrainerBattle
- ld a, MUSIC_GYM_LEADER_BATTLE ; lance also plays gym leader theme
+ ld a, $ea ; MUSIC_GYM_LEADER_BATTLE ; lance also plays gym leader theme
jr .playSong
.normalTrainerBattle
- ld a, MUSIC_TRAINER_BATTLE
+ ld a, $ed ; MUSIC_TRAINER_BATTLE
jr .playSong
.finalBattle
- ld a, MUSIC_FINAL_BATTLE
+ ld a, $f3 ; MUSIC_FINAL_BATTLE
jr .playSong
.wildBattle
- ld a, MUSIC_WILD_BATTLE
+ ld a, $f0 ; MUSIC_WILD_BATTLE
.playSong
jp PlayMusic
@@ -402,7 +490,7 @@ INCLUDE "audio/engine_1.asm"
; an alternate start for MeetRival which has a different first measure
-Music_RivalAlternateStart:: ; 0x9b47
+Music_RivalAlternateStart::
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
@@ -413,7 +501,7 @@ Music_RivalAlternateStart:: ; 0x9b47
call Audio1_OverwriteChannelPointer
ld de, Music_MeetRival_branch_b2b5
-Audio1_OverwriteChannelPointer: ; 0x9b60
+Audio1_OverwriteChannelPointer:
ld a, e
ld [hli], a
ld a, d
@@ -421,23 +509,26 @@ Audio1_OverwriteChannelPointer: ; 0x9b60
ret
; an alternate tempo for MeetRival which is slightly slower
-Music_RivalAlternateTempo:: ; 0x9b65
+Music_RivalAlternateTempo::
ld c, BANK(Music_MeetRival)
ld a, MUSIC_MEET_RIVAL
call PlayMusic
- ld hl, wChannelCommandPointers
ld de, Music_MeetRival_branch_b119
- jp Audio1_OverwriteChannelPointer
+ jr asm_99ed
; applies both the alternate start and alternate tempo
-Music_RivalAlternateStartAndTempo:: ; 0x9b75
+Music_RivalAlternateStartAndTempo::
call Music_RivalAlternateStart
- ld hl, wChannelCommandPointers
ld de, Music_MeetRival_branch_b19b
+asm_99ed:
+ ld hl, wChannelCommandPointers
jp Audio1_OverwriteChannelPointer
+; XXX
+ ret
+
; an alternate tempo for Cities1 which is used for the Hall of Fame room
-Music_Cities1AlternateTempo:: ; 0x9b81
+Music_Cities1AlternateTempo::
ld a, 10
ld [wAudioFadeOutCounterReloadValue], a
ld [wAudioFadeOutCounter], a
@@ -446,13 +537,12 @@ Music_Cities1AlternateTempo:: ; 0x9b81
ld c, 100
call DelayFrames ; wait for the fade-out to finish
ld c, BANK(Music_Cities1)
- ld a, MUSIC_CITIES1
+ ld a, $c3 ; MUSIC_CITIES1
call PlayMusic
ld hl, wChannelCommandPointers
ld de, Music_Cities1_branch_aa6f
jp Audio1_OverwriteChannelPointer
-
SECTION "Audio Engine 2", ROMX, BANK[AUDIO_2]
Music_DoLowHealthAlarm::
@@ -531,32 +621,10 @@ Music_DoLowHealthAlarm::
.toneDataSilence
db $00,$00,$00,$80
-
INCLUDE "engine/menu/bills_pc.asm"
INCLUDE "audio/engine_2.asm"
-
-Music_PokeFluteInBattle::
- ; begin playing the "caught mon" sound effect
- ld a, SFX_CAUGHT_MON
- call PlaySoundWaitForCurrent
- ; then immediately overwrtie the channel pointers
- ld hl, wChannelCommandPointers + CH4 * 2
- ld de, SFX_08_PokeFlute_Ch1
- call Audio2_OverwriteChannelPointer
- ld de, SFX_08_PokeFlute_Ch2
- call Audio2_OverwriteChannelPointer
- ld de, SFX_08_PokeFlute_Ch3
-
-Audio2_OverwriteChannelPointer:
- ld a, e
- ld [hli], a
- ld a, d
- ld [hli], a
- ret
-
-
SECTION "Audio Engine 3", ROMX, BANK[AUDIO_3]
PlayPokedexRatingSfx::
@@ -571,9 +639,7 @@ PlayPokedexRatingSfx::
jr .getSfxPointer
.gotSfxPointer
push bc
- ld a, $ff
- ld [wNewSoundID], a
- call PlaySoundWaitForCurrent
+ call StopAllMusic
pop bc
ld b, $0
ld hl, PokedexRatingSfxPointers
@@ -599,10 +665,18 @@ OwnedMonValues:
INCLUDE "audio/engine_3.asm"
+SECTION "Audio Engine 4", ROMX, BANK[AUDIO_4]
+
+SurfingPikachu1Graphics1:: INCBIN "gfx/surfing_pikachu_1a.2bpp"
+SurfingPikachu1Graphics2:: INCBIN "gfx/surfing_pikachu_1b.2bpp"
+SurfingPikachu1Graphics3:: INCBIN "gfx/surfing_pikachu_1c.t5.2bpp"
+INCLUDE "audio/engine_4.asm"
SECTION "Music 1", ROMX, BANK[AUDIO_1]
+Audio1_WavePointers: INCLUDE "audio/wave_instruments.asm"
+
INCLUDE "audio/music/pkmnhealed.asm"
INCLUDE "audio/music/routes1.asm"
INCLUDE "audio/music/routes2.asm"
@@ -632,7 +706,6 @@ INCLUDE "audio/music/pokecenter.asm"
SECTION "Music 2", ROMX, BANK[AUDIO_2]
-INCLUDE "audio/sfx/pokeflute_ch1_ch2.asm"
INCLUDE "audio/sfx/unused2_2.asm"
INCLUDE "audio/music/gymleaderbattle.asm"
INCLUDE "audio/music/trainerbattle.asm"
@@ -670,4 +743,325 @@ INCLUDE "audio/music/surfing.asm"
INCLUDE "audio/music/jigglypuffsong.asm"
INCLUDE "audio/music/halloffame.asm"
INCLUDE "audio/music/credits.asm"
+INCLUDE "audio/music/yellowintro.asm"
+
+SECTION "Music 4", ROMX, BANK[AUDIO_4]
+INCLUDE "audio/music/surfingpikachu.asm"
+INCLUDE "audio/music/yellowunusedsong.asm"
+INCLUDE "audio/music/meetjessiejames.asm"
+
+INCBIN "audio/unknown_832b9.bin"
+
+SECTION "Pikachu Cries 1",ROMX,BANK[PCM_1]
+PikachuCry1::
+ dw (PikachuCry1_End - PikachuCry1) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_1.pcm"
+PikachuCry1_End:
+
+ db $77 ; unused
+ ; Game Freak might have made a slight error, because all of
+ ; the pcm data has one trailing byte that is never processed.
+
+PikachuCry2::
+ dw (PikachuCry2_End - PikachuCry2) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_2.pcm"
+PikachuCry2_End:
+
+ db $77 ; unused
+
+PikachuCry3::
+ dw (PikachuCry3_End - PikachuCry3) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_3.pcm"
+PikachuCry3_End:
+
+ db $03 ; unused
+
+PikachuCry4::
+ dw (PikachuCry4_End - PikachuCry4) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_4.pcm"
+PikachuCry4_End:
+
+ db $e0 ; unused
+
+
+SECTION "Pikachu Cries 2",ROMX,BANK[PCM_2]
+PikachuCry5::
+ dw (PikachuCry5_End - PikachuCry5) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_5.pcm"
+PikachuCry5_End:
+
+ db $77 ; unused
+
+PikachuCry6::
+ dw (PikachuCry6_End - PikachuCry6) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_6.pcm"
+PikachuCry6_End:
+
+ db $77 ; unused
+
+PikachuCry7::
+ dw (PikachuCry7_End - PikachuCry7) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_7.pcm"
+PikachuCry7_End:
+
+ db $ff ; unused
+
+
+SECTION "Pikachu Cries 3",ROMX,BANK[PCM_3]
+PikachuCry8::
+ dw (PikachuCry8_End - PikachuCry8) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_8.pcm"
+PikachuCry8_End:
+
+ db $f7 ; unused
+
+PikachuCry9::
+ dw (PikachuCry9_End - PikachuCry9) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_9.pcm"
+PikachuCry9_End:
+
+ db $f3 ; unused
+
+PikachuCry10::
+ dw (PikachuCry10_End - PikachuCry10) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_10.pcm"
+PikachuCry10_End:
+
+ db $ff ; unused
+
+
+SECTION "Pikachu Cries 4",ROMX,BANK[PCM_4]
+PikachuCry11::
+ dw (PikachuCry11_End - PikachuCry11) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_11.pcm"
+PikachuCry11_End:
+
+ db $77 ; unused
+
+PikachuCry12::
+ dw (PikachuCry12_End - PikachuCry12) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_12.pcm"
+PikachuCry12_End:
+
+ db $ff ; unused
+
+PikachuCry13::
+ dw (PikachuCry13_End - PikachuCry13) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_13.pcm"
+PikachuCry13_End:
+
+ db $f0 ; unused
+
+
+SECTION "Pikachu Cries 5",ROMX,BANK[PCM_5]
+PikachuCry14::
+ dw (PikachuCry14_End - PikachuCry14) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_14.pcm"
+PikachuCry14_End:
+
+ db $fc ; unused
+
+PikachuCry15::
+ dw (PikachuCry15_End - PikachuCry15) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_15.pcm"
+PikachuCry15_End:
+
+ db $77 ; unused
+
+SECTION "Pikachu Cries 6",ROMX,BANK[PCM_6]
+PikachuCry16::
+ dw (PikachuCry16_End - PikachuCry16) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_16.pcm"
+PikachuCry16_End:
+
+ db $e7 ; unused
+
+PikachuCry18::
+ dw (PikachuCry18_End - PikachuCry18) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_18.pcm"
+PikachuCry18_End:
+
+ db $00 ; unused
+
+PikachuCry22::
+ dw (PikachuCry22_End - PikachuCry22) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_22.pcm"
+PikachuCry22_End:
+
+ db $7e ; unused
+
+
+SECTION "Pikachu Cries 7",ROMX,BANK[PCM_7]
+PikachuCry20::
+ dw (PikachuCry20_End - PikachuCry20) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_20.pcm"
+PikachuCry20_End:
+
+ db $07 ; unused
+
+PikachuCry21::
+ dw (PikachuCry21_End - PikachuCry21) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_21.pcm"
+PikachuCry21_End:
+
+ db $ff ; unused
+
+
+SECTION "Pikachu Cries 8",ROMX,BANK[PCM_8]
+PikachuCry19::
+ dw (PikachuCry19_End - PikachuCry19) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_19.pcm"
+PikachuCry19_End:
+
+ db $06 ; unused
+
+PikachuCry24::
+ dw (PikachuCry24_End - PikachuCry24) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_24.pcm"
+PikachuCry24_End:
+
+ db $e0 ; unused
+
+PikachuCry26::
+ dw (PikachuCry26_End - PikachuCry26) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_26.pcm"
+PikachuCry26_End:
+
+
+SECTION "Pikachu Cries 9",ROMX,BANK[PCM_9]
+PikachuCry17::
+ dw (PikachuCry17_End - PikachuCry17) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_17.pcm"
+PikachuCry17_End:
+
+ db $00 ; unused
+
+PikachuCry23::
+ dw (PikachuCry23_End - PikachuCry23) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_23.pcm"
+PikachuCry23_End:
+
+ db $00 ; unused
+
+PikachuCry25::
+ dw (PikachuCry25_End - PikachuCry25) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_25.pcm"
+PikachuCry25_End:
+
+ db $03 ; unused
+
+
+SECTION "Pikachu Cries 10",ROMX,BANK[PCM_10]
+PikachuCry27::
+ dw (PikachuCry27_End - PikachuCry27) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_27.pcm"
+PikachuCry27_End:
+
+ db $ff ; unused
+
+PikachuCry28::
+ dw (PikachuCry28_End - PikachuCry28) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_28.pcm"
+PikachuCry28_End:
+
+ db $1b ; unused
+
+PikachuCry29::
+ dw (PikachuCry29_End - PikachuCry29) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_29.pcm"
+PikachuCry29_End:
+
+ db $87 ; unused
+
+PikachuCry30::
+ dw (PikachuCry30_End - PikachuCry30) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_30.pcm"
+PikachuCry30_End:
+
+ db $00 ; unused
+
+PikachuCry31::
+ dw (PikachuCry31_End - PikachuCry31) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_31.pcm"
+PikachuCry31_End:
+
+
+SECTION "Pikachu Cries 11",ROMX,BANK[PCM_11]
+PikachuCry32::
+ dw (PikachuCry32_End - PikachuCry32) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_32.pcm"
+PikachuCry32_End:
+
+ db $ff ; unused
+
+PikachuCry33::
+ dw (PikachuCry33_End - PikachuCry33) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_33.pcm"
+PikachuCry33_End:
+
+ db $1f ; unused
+
+PikachuCry34::
+ dw (PikachuCry34_End - PikachuCry34) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_34.pcm"
+PikachuCry34_End:
+
+ db $01 ; unused
+
+PikachuCry41::
+ dw (PikachuCry41_End - PikachuCry41) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_41.pcm"
+PikachuCry41_End:
+
+ db $9b ; unused
+
+
+SECTION "Pikachu Cries 12",ROMX,BANK[PCM_12]
+PikachuCry35::
+ dw (PikachuCry35_End - PikachuCry35) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_35.pcm"
+PikachuCry35_End:
+
+ db $00 ; unused
+
+PikachuCry36::
+ dw (PikachuCry36_End - PikachuCry36) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_36.pcm"
+PikachuCry36_End:
+
+ db $01 ; unused
+
+PikachuCry39::
+ dw (PikachuCry39_End - PikachuCry39) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_39.pcm"
+PikachuCry39_End:
+
+ db $0f ; unused
+
+
+SECTION "Pikachu Cries 13",ROMX,BANK[PCM_13]
+PikachuCry37::
+ dw (PikachuCry37_End - PikachuCry37) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_37.pcm"
+PikachuCry37_End:
+
+ db $3f ; unused
+
+PikachuCry38::
+ dw (PikachuCry38_End - PikachuCry38) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_38.pcm"
+PikachuCry38_End:
+
+ db $ff ; unused
+
+PikachuCry40::
+ dw (PikachuCry40_End - PikachuCry40) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_40.pcm"
+PikachuCry40_End:
+
+ db $ff ; unused
+PikachuCry42::
+ dw (PikachuCry42_End - PikachuCry42) - 2 ; length of pcm data
+ INCBIN "audio/pikachu_cries/pikachu_cry_42.pcm"
+PikachuCry42_End: