shithub: pokered

Download patch

ref: 4992ae2233d55a045e5e6803bc76972704c1a082
parent: 9984527c2c40cf3e08625098c5ad353f0daaf554
author: dannye <corrnondacqb@yahoo.com>
date: Wed Jul 27 16:21:56 EDT 2016

Macros to automate music and sound effect headers

--- a/audio/headers/musicheaders1.asm
+++ b/audio/headers/musicheaders1.asm
@@ -1,184 +1,66 @@
 Music_PalletTown::
-	db ( $80 | CH0 )
-	dw Music_PalletTown_Ch0
-	db CH1
-	dw Music_PalletTown_Ch1
-	db CH2
-	dw Music_PalletTown_Ch2
+	music Music_PalletTown, CH0_ | CH1_ | CH2_
 
 Music_Pokecenter::
-	db ( $80 | CH0 )
-	dw Music_Pokecenter_Ch0
-	db CH1
-	dw Music_Pokecenter_Ch1
-	db CH2
-	dw Music_Pokecenter_Ch2
+	music Music_Pokecenter, CH0_ | CH1_ | CH2_
 
 Music_Gym::
-	db ( $80 | CH0 )
-	dw Music_Gym_Ch0
-	db CH1
-	dw Music_Gym_Ch1
-	db CH2
-	dw Music_Gym_Ch2
+	music Music_Gym, CH0_ | CH1_ | CH2_
 
 ; Viridian City, Pewter City, Saffron City
 Music_Cities1::
-	db ( $C0 | CH0 )
-	dw Music_Cities1_Ch0
-	db CH1
-	dw Music_Cities1_Ch1
-	db CH2
-	dw Music_Cities1_Ch2
-	db CH3
-	dw Music_Cities1_Ch3
+	music Music_Cities1, CH0_ | CH1_ | CH2_ | CH3_
 
 ; Cerulean City, Fuchsia City
 Music_Cities2::
-	db ( $80 | CH0 )
-	dw Music_Cities2_Ch0
-	db CH1
-	dw Music_Cities2_Ch1
-	db CH2
-	dw Music_Cities2_Ch2
+	music Music_Cities2, CH0_ | CH1_ | CH2_
 
 Music_Celadon::
-	db ( $80 | CH0 )
-	dw Music_Celadon_Ch0
-	db CH1
-	dw Music_Celadon_Ch1
-	db CH2
-	dw Music_Celadon_Ch2
+	music Music_Celadon, CH0_ | CH1_ | CH2_
 
 Music_Cinnabar::
-	db ( $80 | CH0 )
-	dw Music_Cinnabar_Ch0
-	db CH1
-	dw Music_Cinnabar_Ch1
-	db CH2
-	dw Music_Cinnabar_Ch2
+	music Music_Cinnabar, CH0_ | CH1_ | CH2_
 
 Music_Vermilion::
-	db ( $C0 | CH0 )
-	dw Music_Vermilion_Ch0
-	db CH1
-	dw Music_Vermilion_Ch1
-	db CH2
-	dw Music_Vermilion_Ch2
-	db CH3
-	dw Music_Vermilion_Ch3
+	music Music_Vermilion, CH0_ | CH1_ | CH2_ | CH3_
 
 Music_Lavender::
-	db ( $C0 | CH0 )
-	dw Music_Lavender_Ch0
-	db CH1
-	dw Music_Lavender_Ch1
-	db CH2
-	dw Music_Lavender_Ch2
-	db CH3
-	dw Music_Lavender_Ch3
+	music Music_Lavender, CH0_ | CH1_ | CH2_ | CH3_
 
 Music_SSAnne::
-	db ( $80 | CH0 )
-	dw Music_SSAnne_Ch0
-	db CH1
-	dw Music_SSAnne_Ch1
-	db CH2
-	dw Music_SSAnne_Ch2
+	music Music_SSAnne, CH0_ | CH1_ | CH2_
 
 Music_MeetProfOak::
-	db ( $80 | CH0 )
-	dw Music_MeetProfOak_Ch0
-	db CH1
-	dw Music_MeetProfOak_Ch1
-	db CH2
-	dw Music_MeetProfOak_Ch2
+	music Music_MeetProfOak, CH0_ | CH1_ | CH2_
 
 Music_MeetRival::
-	db ( $80 | CH0 )
-	dw Music_MeetRival_Ch0
-	db CH1
-	dw Music_MeetRival_Ch1
-	db CH2
-	dw Music_MeetRival_Ch2
+	music Music_MeetRival, CH0_ | CH1_ | CH2_
 
 Music_MuseumGuy::
-	db ( $C0 | CH0 )
-	dw Music_MuseumGuy_Ch0
-	db CH1
-	dw Music_MuseumGuy_Ch1
-	db CH2
-	dw Music_MuseumGuy_Ch2
-	db CH3
-	dw Music_MuseumGuy_Ch3
+	music Music_MuseumGuy, CH0_ | CH1_ | CH2_ | CH3_
 
 Music_SafariZone::
-	db ( $80 | CH0 )
-	dw Music_SafariZone_Ch0
-	db CH1
-	dw Music_SafariZone_Ch1
-	db CH2
-	dw Music_SafariZone_Ch2
+	music Music_SafariZone, CH0_ | CH1_ | CH2_
 
 Music_PkmnHealed::
-	db ( $80 | CH0 )
-	dw Music_PkmnHealed_Ch0
-	db CH1
-	dw Music_PkmnHealed_Ch1
-	db CH2
-	dw Music_PkmnHealed_Ch2
+	music Music_PkmnHealed, CH0_ | CH1_ | CH2_
 
 ; Routes 1 and 2
 Music_Routes1::
-	db ( $C0 | CH0 )
-	dw Music_Routes1_Ch0
-	db CH1
-	dw Music_Routes1_Ch1
-	db CH2
-	dw Music_Routes1_Ch2
-	db CH3
-	dw Music_Routes1_Ch3
+	music Music_Routes1, CH0_ | CH1_ | CH2_ | CH3_
 
 ; Routes 24 and 25
 Music_Routes2::
-	db ( $C0 | CH0 )
-	dw Music_Routes2_Ch0
-	db CH1
-	dw Music_Routes2_Ch1
-	db CH2
-	dw Music_Routes2_Ch2
-	db CH3
-	dw Music_Routes2_Ch3
+	music Music_Routes2, CH0_ | CH1_ | CH2_ | CH3_
 
 ; Routes 3, 4, 5, 6, 7, 8, 9, 10, 16, 17, 18, 19, 20, 21, 22
 Music_Routes3::
-	db ( $C0 | CH0 )
-	dw Music_Routes3_Ch0
-	db CH1
-	dw Music_Routes3_Ch1
-	db CH2
-	dw Music_Routes3_Ch2
-	db CH3
-	dw Music_Routes3_Ch3
+	music Music_Routes3, CH0_ | CH1_ | CH2_ | CH3_
 
 ; Routes 11, 12, 13, 14, 15
 Music_Routes4::
-	db ( $C0 | CH0 )
-	dw Music_Routes4_Ch0
-	db CH1
-	dw Music_Routes4_Ch1
-	db CH2
-	dw Music_Routes4_Ch2
-	db CH3
-	dw Music_Routes4_Ch3
+	music Music_Routes4, CH0_ | CH1_ | CH2_ | CH3_
 
 ; Route 23, Indigo Plateau
 Music_IndigoPlateau::
-	db ( $C0 | CH0 )
-	dw Music_IndigoPlateau_Ch0
-	db CH1
-	dw Music_IndigoPlateau_Ch1
-	db CH2
-	dw Music_IndigoPlateau_Ch2
-	db CH3
-	dw Music_IndigoPlateau_Ch3
+	music Music_IndigoPlateau, CH0_ | CH1_ | CH2_ | CH3_
--- a/audio/headers/musicheaders2.asm
+++ b/audio/headers/musicheaders2.asm
@@ -1,55 +1,20 @@
 Music_GymLeaderBattle::
-	db ( $80 | CH0 )
-	dw Music_GymLeaderBattle_Ch0
-	db CH1
-	dw Music_GymLeaderBattle_Ch1
-	db CH2
-	dw Music_GymLeaderBattle_Ch2
+	music Music_GymLeaderBattle, CH0_ | CH1_ | CH2_
 
 Music_TrainerBattle::
-	db ( $80 | CH0 )
-	dw Music_TrainerBattle_Ch0
-	db CH1
-	dw Music_TrainerBattle_Ch1
-	db CH2
-	dw Music_TrainerBattle_Ch2
+	music Music_TrainerBattle, CH0_ | CH1_ | CH2_
 
 Music_WildBattle::
-	db ( $80 | CH0 )
-	dw Music_WildBattle_Ch0
-	db CH1
-	dw Music_WildBattle_Ch1
-	db CH2
-	dw Music_WildBattle_Ch2
+	music Music_WildBattle, CH0_ | CH1_ | CH2_
 
 Music_FinalBattle::
-	db ( $80 | CH0 )
-	dw Music_FinalBattle_Ch0
-	db CH1
-	dw Music_FinalBattle_Ch1
-	db CH2
-	dw Music_FinalBattle_Ch2
+	music Music_FinalBattle, CH0_ | CH1_ | CH2_
 
 Music_DefeatedTrainer::
-	db ( $80 | CH0 )
-	dw Music_DefeatedTrainer_Ch0
-	db CH1
-	dw Music_DefeatedTrainer_Ch1
-	db CH2
-	dw Music_DefeatedTrainer_Ch2
+	music Music_DefeatedTrainer, CH0_ | CH1_ | CH2_
 
 Music_DefeatedWildMon::
-	db ( $80 | CH0 )
-	dw Music_DefeatedWildMon_Ch0
-	db CH1
-	dw Music_DefeatedWildMon_Ch1
-	db CH2
-	dw Music_DefeatedWildMon_Ch2
+	music Music_DefeatedWildMon, CH0_ | CH1_ | CH2_
 
 Music_DefeatedGymLeader::
-	db ( $80 | CH0 )
-	dw Music_DefeatedGymLeader_Ch0
-	db CH1
-	dw Music_DefeatedGymLeader_Ch1
-	db CH2
-	dw Music_DefeatedGymLeader_Ch2
+	music Music_DefeatedGymLeader, CH0_ | CH1_ | CH2_
--- a/audio/headers/musicheaders3.asm
+++ b/audio/headers/musicheaders3.asm
@@ -1,158 +1,56 @@
 Music_TitleScreen::
-	db ( $C0 | CH0 )
-	dw Music_TitleScreen_Ch0
-	db CH1
-	dw Music_TitleScreen_Ch1
-	db CH2
-	dw Music_TitleScreen_Ch2
-	db CH3
-	dw Music_TitleScreen_Ch3
+	music Music_TitleScreen, CH0_ | CH1_ | CH2_ | CH3_
 
 Music_Credits::
-	db ( $80 | CH0 )
-	dw Music_Credits_Ch0
-	db CH1
-	dw Music_Credits_Ch1
-	db CH2
-	dw Music_Credits_Ch2
+	music Music_Credits, CH0_ | CH1_ | CH2_
 
 Music_HallOfFame::
-	db ( $80 | CH0 )
-	dw Music_HallOfFame_Ch0
-	db CH1
-	dw Music_HallOfFame_Ch1
-	db CH2
-	dw Music_HallOfFame_Ch2
+	music Music_HallOfFame, CH0_ | CH1_ | CH2_
 
 Music_OaksLab::
-	db ( $80 | CH0 )
-	dw Music_OaksLab_Ch0
-	db CH1
-	dw Music_OaksLab_Ch1
-	db CH2
-	dw Music_OaksLab_Ch2
+	music Music_OaksLab, CH0_ | CH1_ | CH2_
 
 Music_JigglypuffSong::
-	db $40
-	dw Music_JigglypuffSong_Ch0
-	db CH1
-	dw Music_JigglypuffSong_Ch1
+	music Music_JigglypuffSong, CH0_ | CH1_
 
 Music_BikeRiding::
-	db ( $C0 | CH0 )
-	dw Music_BikeRiding_Ch0
-	db CH1
-	dw Music_BikeRiding_Ch1
-	db CH2
-	dw Music_BikeRiding_Ch2
-	db CH3
-	dw Music_BikeRiding_Ch3
+	music Music_BikeRiding, CH0_ | CH1_ | CH2_ | CH3_
 
 Music_Surfing::
-	db ( $80 | CH0 )
-	dw Music_Surfing_Ch0
-	db CH1
-	dw Music_Surfing_Ch1
-	db CH2
-	dw Music_Surfing_Ch2
+	music Music_Surfing, CH0_ | CH1_ | CH2_
 
 Music_GameCorner::
-	db ( $80 | CH0 )
-	dw Music_GameCorner_Ch0
-	db CH1
-	dw Music_GameCorner_Ch1
-	db CH2
-	dw Music_GameCorner_Ch2
+	music Music_GameCorner, CH0_ | CH1_ | CH2_
 
 Music_IntroBattle::
-	db ( $C0 | CH0 )
-	dw Music_IntroBattle_Ch0
-	db CH1
-	dw Music_IntroBattle_Ch1
-	db CH2
-	dw Music_IntroBattle_Ch2
-	db CH3
-	dw Music_IntroBattle_Ch3
+	music Music_IntroBattle, CH0_ | CH1_ | CH2_ | CH3_
 
 ; Power Plant, Unknown Dungeon, Rocket HQ
 Music_Dungeon1::
-	db ( $C0 | CH0 )
-	dw Music_Dungeon1_Ch0
-	db CH1
-	dw Music_Dungeon1_Ch1
-	db CH2
-	dw Music_Dungeon1_Ch2
-	db CH3
-	dw Music_Dungeon1_Ch3
+	music Music_Dungeon1, CH0_ | CH1_ | CH2_ | CH3_
 
 ; Viridian Forest, Seafoam Islands
 Music_Dungeon2::
-	db ( $C0 | CH0 )
-	dw Music_Dungeon2_Ch0
-	db CH1
-	dw Music_Dungeon2_Ch1
-	db CH2
-	dw Music_Dungeon2_Ch2
-	db CH3
-	dw Music_Dungeon2_Ch3
+	music Music_Dungeon2, CH0_ | CH1_ | CH2_ | CH3_
 
 ; Mt. Moon, Rock Tunnel, Victory Road
 Music_Dungeon3::
-	db ( $C0 | CH0 )
-	dw Music_Dungeon3_Ch0
-	db CH1
-	dw Music_Dungeon3_Ch1
-	db CH2
-	dw Music_Dungeon3_Ch2
-	db CH3
-	dw Music_Dungeon3_Ch3
+	music Music_Dungeon3, CH0_ | CH1_ | CH2_ | CH3_
 
 Music_CinnabarMansion::
-	db ( $C0 | CH0 )
-	dw Music_CinnabarMansion_Ch0
-	db CH1
-	dw Music_CinnabarMansion_Ch1
-	db CH2
-	dw Music_CinnabarMansion_Ch2
-	db CH3
-	dw Music_CinnabarMansion_Ch3
+	music Music_CinnabarMansion, CH0_ | CH1_ | CH2_ | CH3_
 
 Music_PokemonTower::
-	db ( $80 | CH0 )
-	dw Music_PokemonTower_Ch0
-	db CH1
-	dw Music_PokemonTower_Ch1
-	db CH2
-	dw Music_PokemonTower_Ch2
+	music Music_PokemonTower, CH0_ | CH1_ | CH2_
 
 Music_SilphCo::
-	db ( $80 | CH0 )
-	dw Music_SilphCo_Ch0
-	db CH1
-	dw Music_SilphCo_Ch1
-	db CH2
-	dw Music_SilphCo_Ch2
+	music Music_SilphCo, CH0_ | CH1_ | CH2_
 
 Music_MeetEvilTrainer::
-	db ( $80 | CH0 )
-	dw Music_MeetEvilTrainer_Ch0
-	db CH1
-	dw Music_MeetEvilTrainer_Ch1
-	db CH2
-	dw Music_MeetEvilTrainer_Ch2
+	music Music_MeetEvilTrainer, CH0_ | CH1_ | CH2_
 
 Music_MeetFemaleTrainer::
-	db ( $80 | CH0 )
-	dw Music_MeetFemaleTrainer_Ch0
-	db CH1
-	dw Music_MeetFemaleTrainer_Ch1
-	db CH2
-	dw Music_MeetFemaleTrainer_Ch2
+	music Music_MeetFemaleTrainer, CH0_ | CH1_ | CH2_
 
 Music_MeetMaleTrainer::
-	db ( $80 | CH0 )
-	dw Music_MeetMaleTrainer_Ch0
-	db CH1
-	dw Music_MeetMaleTrainer_Ch1
-	db CH2
-	dw Music_MeetMaleTrainer_Ch2
+	music Music_MeetMaleTrainer, CH0_ | CH1_ | CH2_
--- a/audio/headers/sfxheaders1.asm
+++ b/audio/headers/sfxheaders1.asm
@@ -2,556 +2,283 @@
 	db $ff, $ff, $ff ; padding
 
 SFX_Snare1_1::
-	db CH7
-	dw SFX_Snare1_1_Ch7
+	sfx SFX_Snare1_1, CH7_
 
 SFX_Snare2_1::
-	db CH7
-	dw SFX_Snare2_1_Ch7
+	sfx SFX_Snare2_1, CH7_
 
 SFX_Snare3_1::
-	db CH7
-	dw SFX_Snare3_1_Ch7
+	sfx SFX_Snare3_1, CH7_
 
 SFX_Snare4_1::
-	db CH7
-	dw SFX_Snare4_1_Ch7
+	sfx SFX_Snare4_1, CH7_
 
 SFX_Snare5_1::
-	db CH7
-	dw SFX_Snare5_1_Ch7
+	sfx SFX_Snare5_1, CH7_
 
 SFX_Triangle1_1::
-	db CH7
-	dw SFX_Triangle1_1_Ch7
+	sfx SFX_Triangle1_1, CH7_
 
 SFX_Triangle2_1::
-	db CH7
-	dw SFX_Triangle2_1_Ch7
+	sfx SFX_Triangle2_1, CH7_
 
 SFX_Snare6_1::
-	db CH7
-	dw SFX_Snare6_1_Ch7
+	sfx SFX_Snare6_1, CH7_
 
 SFX_Snare7_1::
-	db CH7
-	dw SFX_Snare7_1_Ch7
+	sfx SFX_Snare7_1, CH7_
 
 SFX_Snare8_1::
-	db CH7
-	dw SFX_Snare8_1_Ch7
+	sfx SFX_Snare8_1, CH7_
 
 SFX_Snare9_1::
-	db CH7
-	dw SFX_Snare9_1_Ch7
+	sfx SFX_Snare9_1, CH7_
 
 SFX_Cymbal1_1::
-	db CH7
-	dw SFX_Cymbal1_1_Ch7
+	sfx SFX_Cymbal1_1, CH7_
 
 SFX_Cymbal2_1::
-	db CH7
-	dw SFX_Cymbal2_1_Ch7
+	sfx SFX_Cymbal2_1, CH7_
 
 SFX_Cymbal3_1::
-	db CH7
-	dw SFX_Cymbal3_1_Ch7
+	sfx SFX_Cymbal3_1, CH7_
 
 SFX_Muted_Snare1_1::
-	db CH7
-	dw SFX_Muted_Snare1_1_Ch7
+	sfx SFX_Muted_Snare1_1, CH7_
 
 SFX_Triangle3_1::
-	db CH7
-	dw SFX_Triangle3_1_Ch7
+	sfx SFX_Triangle3_1, CH7_
 
 SFX_Muted_Snare2_1::
-	db CH7
-	dw SFX_Muted_Snare2_1_Ch7
+	sfx SFX_Muted_Snare2_1, CH7_
 
 SFX_Muted_Snare3_1::
-	db CH7
-	dw SFX_Muted_Snare3_1_Ch7
+	sfx SFX_Muted_Snare3_1, CH7_
 
 SFX_Muted_Snare4_1::
-	db CH7
-	dw SFX_Muted_Snare4_1_Ch7
+	sfx SFX_Muted_Snare4_1, CH7_
 
 SFX_Cry00_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry00_1_Ch4
-	db CH5
-	dw SFX_Cry00_1_Ch5
-	db CH7
-	dw SFX_Cry00_1_Ch7
+	sfx SFX_Cry00_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry01_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry01_1_Ch4
-	db CH5
-	dw SFX_Cry01_1_Ch5
-	db CH7
-	dw SFX_Cry01_1_Ch7
+	sfx SFX_Cry01_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry02_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry02_1_Ch4
-	db CH5
-	dw SFX_Cry02_1_Ch5
-	db CH7
-	dw SFX_Cry02_1_Ch7
+	sfx SFX_Cry02_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry03_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry03_1_Ch4
-	db CH5
-	dw SFX_Cry03_1_Ch5
-	db CH7
-	dw SFX_Cry03_1_Ch7
+	sfx SFX_Cry03_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry04_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry04_1_Ch4
-	db CH5
-	dw SFX_Cry04_1_Ch5
-	db CH7
-	dw SFX_Cry04_1_Ch7
+	sfx SFX_Cry04_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry05_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry05_1_Ch4
-	db CH5
-	dw SFX_Cry05_1_Ch5
-	db CH7
-	dw SFX_Cry05_1_Ch7
+	sfx SFX_Cry05_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry06_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry06_1_Ch4
-	db CH5
-	dw SFX_Cry06_1_Ch5
-	db CH7
-	dw SFX_Cry06_1_Ch7
+	sfx SFX_Cry06_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry07_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry07_1_Ch4
-	db CH5
-	dw SFX_Cry07_1_Ch5
-	db CH7
-	dw SFX_Cry07_1_Ch7
+	sfx SFX_Cry07_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry08_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry08_1_Ch4
-	db CH5
-	dw SFX_Cry08_1_Ch5
-	db CH7
-	dw SFX_Cry08_1_Ch7
+	sfx SFX_Cry08_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry09_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry09_1_Ch4
-	db CH5
-	dw SFX_Cry09_1_Ch5
-	db CH7
-	dw SFX_Cry09_1_Ch7
+	sfx SFX_Cry09_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry0A_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry0A_1_Ch4
-	db CH5
-	dw SFX_Cry0A_1_Ch5
-	db CH7
-	dw SFX_Cry0A_1_Ch7
+	sfx SFX_Cry0A_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry0B_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry0B_1_Ch4
-	db CH5
-	dw SFX_Cry0B_1_Ch5
-	db CH7
-	dw SFX_Cry0B_1_Ch7
+	sfx SFX_Cry0B_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry0C_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry0C_1_Ch4
-	db CH5
-	dw SFX_Cry0C_1_Ch5
-	db CH7
-	dw SFX_Cry0C_1_Ch7
+	sfx SFX_Cry0C_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry0D_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry0D_1_Ch4
-	db CH5
-	dw SFX_Cry0D_1_Ch5
-	db CH7
-	dw SFX_Cry0D_1_Ch7
+	sfx SFX_Cry0D_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry0E_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry0E_1_Ch4
-	db CH5
-	dw SFX_Cry0E_1_Ch5
-	db CH7
-	dw SFX_Cry0E_1_Ch7
+	sfx SFX_Cry0E_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry0F_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry0F_1_Ch4
-	db CH5
-	dw SFX_Cry0F_1_Ch5
-	db CH7
-	dw SFX_Cry0F_1_Ch7
+	sfx SFX_Cry0F_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry10_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry10_1_Ch4
-	db CH5
-	dw SFX_Cry10_1_Ch5
-	db CH7
-	dw SFX_Cry10_1_Ch7
+	sfx SFX_Cry10_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry11_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry11_1_Ch4
-	db CH5
-	dw SFX_Cry11_1_Ch5
-	db CH7
-	dw SFX_Cry11_1_Ch7
+	sfx SFX_Cry11_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry12_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry12_1_Ch4
-	db CH5
-	dw SFX_Cry12_1_Ch5
-	db CH7
-	dw SFX_Cry12_1_Ch7
+	sfx SFX_Cry12_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry13_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry13_1_Ch4
-	db CH5
-	dw SFX_Cry13_1_Ch5
-	db CH7
-	dw SFX_Cry13_1_Ch7
+	sfx SFX_Cry13_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry14_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry14_1_Ch4
-	db CH5
-	dw SFX_Cry14_1_Ch5
-	db CH7
-	dw SFX_Cry14_1_Ch7
+	sfx SFX_Cry14_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry15_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry15_1_Ch4
-	db CH5
-	dw SFX_Cry15_1_Ch5
-	db CH7
-	dw SFX_Cry15_1_Ch7
+	sfx SFX_Cry15_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry16_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry16_1_Ch4
-	db CH5
-	dw SFX_Cry16_1_Ch5
-	db CH7
-	dw SFX_Cry16_1_Ch7
+	sfx SFX_Cry16_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry17_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry17_1_Ch4
-	db CH5
-	dw SFX_Cry17_1_Ch5
-	db CH7
-	dw SFX_Cry17_1_Ch7
+	sfx SFX_Cry17_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry18_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry18_1_Ch4
-	db CH5
-	dw SFX_Cry18_1_Ch5
-	db CH7
-	dw SFX_Cry18_1_Ch7
+	sfx SFX_Cry18_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry19_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry19_1_Ch4
-	db CH5
-	dw SFX_Cry19_1_Ch5
-	db CH7
-	dw SFX_Cry19_1_Ch7
+	sfx SFX_Cry19_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry1A_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry1A_1_Ch4
-	db CH5
-	dw SFX_Cry1A_1_Ch5
-	db CH7
-	dw SFX_Cry1A_1_Ch7
+	sfx SFX_Cry1A_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry1B_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry1B_1_Ch4
-	db CH5
-	dw SFX_Cry1B_1_Ch5
-	db CH7
-	dw SFX_Cry1B_1_Ch7
+	sfx SFX_Cry1B_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry1C_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry1C_1_Ch4
-	db CH5
-	dw SFX_Cry1C_1_Ch5
-	db CH7
-	dw SFX_Cry1C_1_Ch7
+	sfx SFX_Cry1C_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry1D_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry1D_1_Ch4
-	db CH5
-	dw SFX_Cry1D_1_Ch5
-	db CH7
-	dw SFX_Cry1D_1_Ch7
+	sfx SFX_Cry1D_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry1E_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry1E_1_Ch4
-	db CH5
-	dw SFX_Cry1E_1_Ch5
-	db CH7
-	dw SFX_Cry1E_1_Ch7
+	sfx SFX_Cry1E_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry1F_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry1F_1_Ch4
-	db CH5
-	dw SFX_Cry1F_1_Ch5
-	db CH7
-	dw SFX_Cry1F_1_Ch7
+	sfx SFX_Cry1F_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry20_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry20_1_Ch4
-	db CH5
-	dw SFX_Cry20_1_Ch5
-	db CH7
-	dw SFX_Cry20_1_Ch7
+	sfx SFX_Cry20_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry21_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry21_1_Ch4
-	db CH5
-	dw SFX_Cry21_1_Ch5
-	db CH7
-	dw SFX_Cry21_1_Ch7
+	sfx SFX_Cry21_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry22_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry22_1_Ch4
-	db CH5
-	dw SFX_Cry22_1_Ch5
-	db CH7
-	dw SFX_Cry22_1_Ch7
+	sfx SFX_Cry22_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry23_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry23_1_Ch4
-	db CH5
-	dw SFX_Cry23_1_Ch5
-	db CH7
-	dw SFX_Cry23_1_Ch7
+	sfx SFX_Cry23_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry24_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry24_1_Ch4
-	db CH5
-	dw SFX_Cry24_1_Ch5
-	db CH7
-	dw SFX_Cry24_1_Ch7
+	sfx SFX_Cry24_1, CH4_ | CH5_ | CH7_
 
 SFX_Cry25_1::
-	db ( $80 | CH4 )
-	dw SFX_Cry25_1_Ch4
-	db CH5
-	dw SFX_Cry25_1_Ch5
-	db CH7
-	dw SFX_Cry25_1_Ch7
+	sfx SFX_Cry25_1, CH4_ | CH5_ | CH7_
 
 SFX_Get_Item1_1::
-	db ( $80 | CH4 )
-	dw SFX_Get_Item1_1_Ch4
-	db CH5
-	dw SFX_Get_Item1_1_Ch5
-	db CH6
-	dw SFX_Get_Item1_1_Ch6
+	sfx SFX_Get_Item1_1, CH4_ | CH5_ | CH6_
 
 SFX_Get_Item2_1::
-	db ( $80 | CH4 )
-	dw SFX_Get_Item2_1_Ch4
-	db CH5
-	dw SFX_Get_Item2_1_Ch5
-	db CH6
-	dw SFX_Get_Item2_1_Ch6
+	sfx SFX_Get_Item2_1, CH4_ | CH5_ | CH6_
 
 SFX_Tink_1::
-	db CH4
-	dw SFX_Tink_1_Ch4
+	sfx SFX_Tink_1, CH4_
 
 SFX_Heal_HP_1::
-	db CH4
-	dw SFX_Heal_HP_1_Ch4
+	sfx SFX_Heal_HP_1, CH4_
 
 SFX_Heal_Ailment_1::
-	db CH4
-	dw SFX_Heal_Ailment_1_Ch4
+	sfx SFX_Heal_Ailment_1, CH4_
 
 SFX_Start_Menu_1::
-	db CH7
-	dw SFX_Start_Menu_1_Ch7
+	sfx SFX_Start_Menu_1, CH7_
 
 SFX_Press_AB_1::
-	db CH4
-	dw SFX_Press_AB_1_Ch4
+	sfx SFX_Press_AB_1, CH4_
 
 SFX_Pokedex_Rating_1::
-	db ( $80 | CH4 )
-	dw SFX_Pokedex_Rating_1_Ch4
-	db CH5
-	dw SFX_Pokedex_Rating_1_Ch5
-	db CH6
-	dw SFX_Pokedex_Rating_1_Ch6
+	sfx SFX_Pokedex_Rating_1, CH4_ | CH5_ | CH6_
 
 SFX_Get_Key_Item_1::
-	db ( $80 | CH4 )
-	dw SFX_Get_Key_Item_1_Ch4
-	db CH5
-	dw SFX_Get_Key_Item_1_Ch5
-	db CH6
-	dw SFX_Get_Key_Item_1_Ch6
+	sfx SFX_Get_Key_Item_1, CH4_ | CH5_ | CH6_
 
 SFX_Poisoned_1::
-	db CH4
-	dw SFX_Poisoned_1_Ch4
+	sfx SFX_Poisoned_1, CH4_
 
 SFX_Trade_Machine_1::
-	db CH4
-	dw SFX_Trade_Machine_1_Ch4
+	sfx SFX_Trade_Machine_1, CH4_
 
 SFX_Turn_On_PC_1::
-	db CH4
-	dw SFX_Turn_On_PC_1_Ch4
+	sfx SFX_Turn_On_PC_1, CH4_
 
 SFX_Turn_Off_PC_1::
-	db CH4
-	dw SFX_Turn_Off_PC_1_Ch4
+	sfx SFX_Turn_Off_PC_1, CH4_
 
 SFX_Enter_PC_1::
-	db CH4
-	dw SFX_Enter_PC_1_Ch4
+	sfx SFX_Enter_PC_1, CH4_
 
 SFX_Shrink_1::
-	db CH4
-	dw SFX_Shrink_1_Ch4
+	sfx SFX_Shrink_1, CH4_
 
 SFX_Switch_1::
-	db CH4
-	dw SFX_Switch_1_Ch4
+	sfx SFX_Switch_1, CH4_
 
 SFX_Healing_Machine_1::
-	db CH4
-	dw SFX_Healing_Machine_1_Ch4
+	sfx SFX_Healing_Machine_1, CH4_
 
 SFX_Teleport_Exit1_1::
-	db CH4
-	dw SFX_Teleport_Exit1_1_Ch4
+	sfx SFX_Teleport_Exit1_1, CH4_
 
 SFX_Teleport_Enter1_1::
-	db CH4
-	dw SFX_Teleport_Enter1_1_Ch4
+	sfx SFX_Teleport_Enter1_1, CH4_
 
 SFX_Teleport_Exit2_1::
-	db CH4
-	dw SFX_Teleport_Exit2_1_Ch4
+	sfx SFX_Teleport_Exit2_1, CH4_
 
 SFX_Ledge_1::
-	db CH4
-	dw SFX_Ledge_1_Ch4
+	sfx SFX_Ledge_1, CH4_
 
 SFX_Teleport_Enter2_1::
-	db CH7
-	dw SFX_Teleport_Enter2_1_Ch7
+	sfx SFX_Teleport_Enter2_1, CH7_
 
 SFX_Fly_1::
-	db CH7
-	dw SFX_Fly_1_Ch7
+	sfx SFX_Fly_1, CH7_
 
 SFX_Denied_1::
-	db ( $40 | CH4 )
-	dw SFX_Denied_1_Ch4
-	db CH5
-	dw SFX_Denied_1_Ch5
+	sfx SFX_Denied_1, CH4_ | CH5_
 
 SFX_Arrow_Tiles_1::
-	db CH4
-	dw SFX_Arrow_Tiles_1_Ch4
+	sfx SFX_Arrow_Tiles_1, CH4_
 
 SFX_Push_Boulder_1::
-	db CH7
-	dw SFX_Push_Boulder_1_Ch7
+	sfx SFX_Push_Boulder_1, CH7_
 
 SFX_SS_Anne_Horn_1::
-	db ( $40 | CH4 )
-	dw SFX_SS_Anne_Horn_1_Ch4
-	db CH5
-	dw SFX_SS_Anne_Horn_1_Ch5
+	sfx SFX_SS_Anne_Horn_1, CH4_ | CH5_
 
 SFX_Withdraw_Deposit_1::
-	db CH4
-	dw SFX_Withdraw_Deposit_1_Ch4
+	sfx SFX_Withdraw_Deposit_1, CH4_
 
 SFX_Cut_1::
-	db CH7
-	dw SFX_Cut_1_Ch7
+	sfx SFX_Cut_1, CH7_
 
 SFX_Go_Inside_1::
-	db CH7
-	dw SFX_Go_Inside_1_Ch7
+	sfx SFX_Go_Inside_1, CH7_
 
 SFX_Swap_1::
-	db ( $40 | CH4 )
-	dw SFX_Swap_1_Ch4
-	db CH5
-	dw SFX_Swap_1_Ch5
+	sfx SFX_Swap_1, CH4_ | CH5_
 
 SFX_59_1::
-	db ( $40 | CH4 )
-	dw SFX_59_1_Ch4
-	db CH5
-	dw SFX_59_1_Ch5
+	sfx SFX_59_1, CH4_ | CH5_
 
 SFX_Purchase_1::
-	db ( $40 | CH4 )
-	dw SFX_Purchase_1_Ch4
-	db CH5
-	dw SFX_Purchase_1_Ch5
+	sfx SFX_Purchase_1, CH4_ | CH5_
 
 SFX_Collision_1::
-	db CH4
-	dw SFX_Collision_1_Ch4
+	sfx SFX_Collision_1, CH4_
 
 SFX_Go_Outside_1::
-	db CH7
-	dw SFX_Go_Outside_1_Ch7
+	sfx SFX_Go_Outside_1, CH7_
 
 SFX_Save_1::
-	db ( $40 | CH4 )
-	dw SFX_Save_1_Ch4
-	db CH5
-	dw SFX_Save_1_Ch5
+	sfx SFX_Save_1, CH4_ | CH5_
 
 SFX_Pokeflute::
 	db CH2
@@ -558,5 +285,4 @@
 	dw SFX_Pokeflute_Ch2
 
 SFX_Safari_Zone_PA::
-	db CH4
-	dw SFX_Safari_Zone_PA_Ch4
+	sfx SFX_Safari_Zone_PA, CH4_
--- a/audio/headers/sfxheaders2.asm
+++ b/audio/headers/sfxheaders2.asm
@@ -2,705 +2,358 @@
 	db $ff, $ff, $ff ; padding
 
 SFX_Snare1_2::
-	db CH7
-	dw SFX_Snare1_2_Ch7
+	sfx SFX_Snare1_2, CH7_
 
 SFX_Snare2_2::
-	db CH7
-	dw SFX_Snare2_2_Ch7
+	sfx SFX_Snare2_2, CH7_
 
 SFX_Snare3_2::
-	db CH7
-	dw SFX_Snare3_2_Ch7
+	sfx SFX_Snare3_2, CH7_
 
 SFX_Snare4_2::
-	db CH7
-	dw SFX_Snare4_2_Ch7
+	sfx SFX_Snare4_2, CH7_
 
 SFX_Snare5_2::
-	db CH7
-	dw SFX_Snare5_2_Ch7
+	sfx SFX_Snare5_2, CH7_
 
 SFX_Triangle1_2::
-	db CH7
-	dw SFX_Triangle1_2_Ch7
+	sfx SFX_Triangle1_2, CH7_
 
 SFX_Triangle2_2::
-	db CH7
-	dw SFX_Triangle2_2_Ch7
+	sfx SFX_Triangle2_2, CH7_
 
 SFX_Snare6_2::
-	db CH7
-	dw SFX_Snare6_2_Ch7
+	sfx SFX_Snare6_2, CH7_
 
 SFX_Snare7_2::
-	db CH7
-	dw SFX_Snare7_2_Ch7
+	sfx SFX_Snare7_2, CH7_
 
 SFX_Snare8_2::
-	db CH7
-	dw SFX_Snare8_2_Ch7
+	sfx SFX_Snare8_2, CH7_
 
 SFX_Snare9_2::
-	db CH7
-	dw SFX_Snare9_2_Ch7
+	sfx SFX_Snare9_2, CH7_
 
 SFX_Cymbal1_2::
-	db CH7
-	dw SFX_Cymbal1_2_Ch7
+	sfx SFX_Cymbal1_2, CH7_
 
 SFX_Cymbal2_2::
-	db CH7
-	dw SFX_Cymbal2_2_Ch7
+	sfx SFX_Cymbal2_2, CH7_
 
 SFX_Cymbal3_2::
-	db CH7
-	dw SFX_Cymbal3_2_Ch7
+	sfx SFX_Cymbal3_2, CH7_
 
 SFX_Muted_Snare1_2::
-	db CH7
-	dw SFX_Muted_Snare1_2_Ch7
+	sfx SFX_Muted_Snare1_2, CH7_
 
 SFX_Triangle3_2::
-	db CH7
-	dw SFX_Triangle3_2_Ch7
+	sfx SFX_Triangle3_2, CH7_
 
 SFX_Muted_Snare2_2::
-	db CH7
-	dw SFX_Muted_Snare2_2_Ch7
+	sfx SFX_Muted_Snare2_2, CH7_
 
 SFX_Muted_Snare3_2::
-	db CH7
-	dw SFX_Muted_Snare3_2_Ch7
+	sfx SFX_Muted_Snare3_2, CH7_
 
 SFX_Muted_Snare4_2::
-	db CH7
-	dw SFX_Muted_Snare4_2_Ch7
+	sfx SFX_Muted_Snare4_2, CH7_
 
 SFX_Cry00_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry00_2_Ch4
-	db CH5
-	dw SFX_Cry00_2_Ch5
-	db CH7
-	dw SFX_Cry00_2_Ch7
+	sfx SFX_Cry00_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry01_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry01_2_Ch4
-	db CH5
-	dw SFX_Cry01_2_Ch5
-	db CH7
-	dw SFX_Cry01_2_Ch7
+	sfx SFX_Cry01_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry02_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry02_2_Ch4
-	db CH5
-	dw SFX_Cry02_2_Ch5
-	db CH7
-	dw SFX_Cry02_2_Ch7
+	sfx SFX_Cry02_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry03_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry03_2_Ch4
-	db CH5
-	dw SFX_Cry03_2_Ch5
-	db CH7
-	dw SFX_Cry03_2_Ch7
+	sfx SFX_Cry03_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry04_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry04_2_Ch4
-	db CH5
-	dw SFX_Cry04_2_Ch5
-	db CH7
-	dw SFX_Cry04_2_Ch7
+	sfx SFX_Cry04_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry05_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry05_2_Ch4
-	db CH5
-	dw SFX_Cry05_2_Ch5
-	db CH7
-	dw SFX_Cry05_2_Ch7
+	sfx SFX_Cry05_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry06_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry06_2_Ch4
-	db CH5
-	dw SFX_Cry06_2_Ch5
-	db CH7
-	dw SFX_Cry06_2_Ch7
+	sfx SFX_Cry06_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry07_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry07_2_Ch4
-	db CH5
-	dw SFX_Cry07_2_Ch5
-	db CH7
-	dw SFX_Cry07_2_Ch7
+	sfx SFX_Cry07_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry08_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry08_2_Ch4
-	db CH5
-	dw SFX_Cry08_2_Ch5
-	db CH7
-	dw SFX_Cry08_2_Ch7
+	sfx SFX_Cry08_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry09_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry09_2_Ch4
-	db CH5
-	dw SFX_Cry09_2_Ch5
-	db CH7
-	dw SFX_Cry09_2_Ch7
+	sfx SFX_Cry09_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry0A_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry0A_2_Ch4
-	db CH5
-	dw SFX_Cry0A_2_Ch5
-	db CH7
-	dw SFX_Cry0A_2_Ch7
+	sfx SFX_Cry0A_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry0B_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry0B_2_Ch4
-	db CH5
-	dw SFX_Cry0B_2_Ch5
-	db CH7
-	dw SFX_Cry0B_2_Ch7
+	sfx SFX_Cry0B_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry0C_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry0C_2_Ch4
-	db CH5
-	dw SFX_Cry0C_2_Ch5
-	db CH7
-	dw SFX_Cry0C_2_Ch7
+	sfx SFX_Cry0C_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry0D_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry0D_2_Ch4
-	db CH5
-	dw SFX_Cry0D_2_Ch5
-	db CH7
-	dw SFX_Cry0D_2_Ch7
+	sfx SFX_Cry0D_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry0E_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry0E_2_Ch4
-	db CH5
-	dw SFX_Cry0E_2_Ch5
-	db CH7
-	dw SFX_Cry0E_2_Ch7
+	sfx SFX_Cry0E_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry0F_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry0F_2_Ch4
-	db CH5
-	dw SFX_Cry0F_2_Ch5
-	db CH7
-	dw SFX_Cry0F_2_Ch7
+	sfx SFX_Cry0F_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry10_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry10_2_Ch4
-	db CH5
-	dw SFX_Cry10_2_Ch5
-	db CH7
-	dw SFX_Cry10_2_Ch7
+	sfx SFX_Cry10_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry11_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry11_2_Ch4
-	db CH5
-	dw SFX_Cry11_2_Ch5
-	db CH7
-	dw SFX_Cry11_2_Ch7
+	sfx SFX_Cry11_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry12_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry12_2_Ch4
-	db CH5
-	dw SFX_Cry12_2_Ch5
-	db CH7
-	dw SFX_Cry12_2_Ch7
+	sfx SFX_Cry12_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry13_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry13_2_Ch4
-	db CH5
-	dw SFX_Cry13_2_Ch5
-	db CH7
-	dw SFX_Cry13_2_Ch7
+	sfx SFX_Cry13_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry14_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry14_2_Ch4
-	db CH5
-	dw SFX_Cry14_2_Ch5
-	db CH7
-	dw SFX_Cry14_2_Ch7
+	sfx SFX_Cry14_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry15_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry15_2_Ch4
-	db CH5
-	dw SFX_Cry15_2_Ch5
-	db CH7
-	dw SFX_Cry15_2_Ch7
+	sfx SFX_Cry15_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry16_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry16_2_Ch4
-	db CH5
-	dw SFX_Cry16_2_Ch5
-	db CH7
-	dw SFX_Cry16_2_Ch7
+	sfx SFX_Cry16_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry17_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry17_2_Ch4
-	db CH5
-	dw SFX_Cry17_2_Ch5
-	db CH7
-	dw SFX_Cry17_2_Ch7
+	sfx SFX_Cry17_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry18_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry18_2_Ch4
-	db CH5
-	dw SFX_Cry18_2_Ch5
-	db CH7
-	dw SFX_Cry18_2_Ch7
+	sfx SFX_Cry18_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry19_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry19_2_Ch4
-	db CH5
-	dw SFX_Cry19_2_Ch5
-	db CH7
-	dw SFX_Cry19_2_Ch7
+	sfx SFX_Cry19_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry1A_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry1A_2_Ch4
-	db CH5
-	dw SFX_Cry1A_2_Ch5
-	db CH7
-	dw SFX_Cry1A_2_Ch7
+	sfx SFX_Cry1A_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry1B_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry1B_2_Ch4
-	db CH5
-	dw SFX_Cry1B_2_Ch5
-	db CH7
-	dw SFX_Cry1B_2_Ch7
+	sfx SFX_Cry1B_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry1C_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry1C_2_Ch4
-	db CH5
-	dw SFX_Cry1C_2_Ch5
-	db CH7
-	dw SFX_Cry1C_2_Ch7
+	sfx SFX_Cry1C_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry1D_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry1D_2_Ch4
-	db CH5
-	dw SFX_Cry1D_2_Ch5
-	db CH7
-	dw SFX_Cry1D_2_Ch7
+	sfx SFX_Cry1D_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry1E_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry1E_2_Ch4
-	db CH5
-	dw SFX_Cry1E_2_Ch5
-	db CH7
-	dw SFX_Cry1E_2_Ch7
+	sfx SFX_Cry1E_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry1F_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry1F_2_Ch4
-	db CH5
-	dw SFX_Cry1F_2_Ch5
-	db CH7
-	dw SFX_Cry1F_2_Ch7
+	sfx SFX_Cry1F_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry20_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry20_2_Ch4
-	db CH5
-	dw SFX_Cry20_2_Ch5
-	db CH7
-	dw SFX_Cry20_2_Ch7
+	sfx SFX_Cry20_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry21_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry21_2_Ch4
-	db CH5
-	dw SFX_Cry21_2_Ch5
-	db CH7
-	dw SFX_Cry21_2_Ch7
+	sfx SFX_Cry21_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry22_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry22_2_Ch4
-	db CH5
-	dw SFX_Cry22_2_Ch5
-	db CH7
-	dw SFX_Cry22_2_Ch7
+	sfx SFX_Cry22_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry23_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry23_2_Ch4
-	db CH5
-	dw SFX_Cry23_2_Ch5
-	db CH7
-	dw SFX_Cry23_2_Ch7
+	sfx SFX_Cry23_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry24_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry24_2_Ch4
-	db CH5
-	dw SFX_Cry24_2_Ch5
-	db CH7
-	dw SFX_Cry24_2_Ch7
+	sfx SFX_Cry24_2, CH4_ | CH5_ | CH7_
 
 SFX_Cry25_2::
-	db ( $80 | CH4 )
-	dw SFX_Cry25_2_Ch4
-	db CH5
-	dw SFX_Cry25_2_Ch5
-	db CH7
-	dw SFX_Cry25_2_Ch7
+	sfx SFX_Cry25_2, CH4_ | CH5_ | CH7_
 
 SFX_Level_Up::
-	db ( $80 | CH4 )
-	dw SFX_Level_Up_Ch4
-	db CH5
-	dw SFX_Level_Up_Ch5
-	db CH6
-	dw SFX_Level_Up_Ch6
+	sfx SFX_Level_Up, CH4_ | CH5_ | CH6_
 
 SFX_Get_Item2_2::
-	db ( $80 | CH4 )
-	dw SFX_Get_Item2_2_Ch4
-	db CH5
-	dw SFX_Get_Item2_2_Ch5
-	db CH6
-	dw SFX_Get_Item2_2_Ch6
+	sfx SFX_Get_Item2_2, CH4_ | CH5_ | CH6_
 
 SFX_Tink_2::
-	db CH4
-	dw SFX_Tink_2_Ch4
+	sfx SFX_Tink_2, CH4_
 
 SFX_Heal_HP_2::
-	db CH4
-	dw SFX_Heal_HP_2_Ch4
+	sfx SFX_Heal_HP_2, CH4_
 
 SFX_Heal_Ailment_2::
-	db CH4
-	dw SFX_Heal_Ailment_2_Ch4
+	sfx SFX_Heal_Ailment_2, CH4_
 
 SFX_Start_Menu_2::
-	db CH7
-	dw SFX_Start_Menu_2_Ch7
+	sfx SFX_Start_Menu_2, CH7_
 
 SFX_Press_AB_2::
-	db CH4
-	dw SFX_Press_AB_2_Ch4
+	sfx SFX_Press_AB_2, CH4_
 
 SFX_Ball_Toss::
-	db ( $40 | CH4 )
-	dw SFX_Ball_Toss_Ch4
-	db CH5
-	dw SFX_Ball_Toss_Ch5
+	sfx SFX_Ball_Toss, CH4_ | CH5_
 
 SFX_Ball_Poof::
-	db ( $40 | CH4 )
-	dw SFX_Ball_Poof_Ch4
-	db CH7
-	dw SFX_Ball_Poof_Ch7
+	sfx SFX_Ball_Poof, CH4_ | CH7_
 
 SFX_Faint_Thud::
-	db ( $40 | CH4 )
-	dw SFX_Faint_Thud_Ch4
-	db CH7
-	dw SFX_Faint_Thud_Ch7
+	sfx SFX_Faint_Thud, CH4_ | CH7_
 
 SFX_Run::
-	db CH7
-	dw SFX_Run_Ch7
+	sfx SFX_Run, CH7_
 
 SFX_Dex_Page_Added::
-	db ( $40 | CH4 )
-	dw SFX_Dex_Page_Added_Ch4
-	db CH5
-	dw SFX_Dex_Page_Added_Ch5
+	sfx SFX_Dex_Page_Added, CH4_ | CH5_
 
 SFX_Caught_Mon::
-	db ( $80 | CH4 )
-	dw SFX_Caught_Mon_Ch4
-	db CH5
-	dw SFX_Caught_Mon_Ch5
-	db CH6
-	dw SFX_Caught_Mon_Ch6
+	sfx SFX_Caught_Mon, CH4_ | CH5_ | CH6_
 
 SFX_Peck::
-	db CH7
-	dw SFX_Peck_Ch7
+	sfx SFX_Peck, CH7_
 
 SFX_Faint_Fall::
-	db CH4
-	dw SFX_Faint_Fall_Ch4
+	sfx SFX_Faint_Fall, CH4_
 
 SFX_Battle_09::
-	db CH4
-	dw SFX_Battle_09_Ch4
+	sfx SFX_Battle_09, CH4_
 
 SFX_Pound::
-	db CH7
-	dw SFX_Pound_Ch7
+	sfx SFX_Pound, CH7_
 
 SFX_Battle_0B::
-	db CH7
-	dw SFX_Battle_0B_Ch7
+	sfx SFX_Battle_0B, CH7_
 
 SFX_Battle_0C::
-	db CH7
-	dw SFX_Battle_0C_Ch7
+	sfx SFX_Battle_0C, CH7_
 
 SFX_Battle_0D::
-	db CH7
-	dw SFX_Battle_0D_Ch7
+	sfx SFX_Battle_0D, CH7_
 
 SFX_Battle_0E::
-	db CH7
-	dw SFX_Battle_0E_Ch7
+	sfx SFX_Battle_0E, CH7_
 
 SFX_Battle_0F::
-	db CH7
-	dw SFX_Battle_0F_Ch7
+	sfx SFX_Battle_0F, CH7_
 
 SFX_Damage::
-	db CH7
-	dw SFX_Damage_Ch7
+	sfx SFX_Damage, CH7_
 
 SFX_Not_Very_Effective::
-	db CH7
-	dw SFX_Not_Very_Effective_Ch7
+	sfx SFX_Not_Very_Effective, CH7_
 
 SFX_Battle_12::
-	db CH7
-	dw SFX_Battle_12_Ch7
+	sfx SFX_Battle_12, CH7_
 
 SFX_Battle_13::
-	db CH7
-	dw SFX_Battle_13_Ch7
+	sfx SFX_Battle_13, CH7_
 
 SFX_Battle_14::
-	db CH7
-	dw SFX_Battle_14_Ch7
+	sfx SFX_Battle_14, CH7_
 
 SFX_Vine_Whip::
-	db CH7
-	dw SFX_Vine_Whip_Ch7
+	sfx SFX_Vine_Whip, CH7_
 
 SFX_Battle_16::
-	db CH7
-	dw SFX_Battle_16_Ch7
+	sfx SFX_Battle_16, CH7_
 
 SFX_Battle_17::
-	db CH7
-	dw SFX_Battle_17_Ch7
+	sfx SFX_Battle_17, CH7_
 
 SFX_Battle_18::
-	db CH7
-	dw SFX_Battle_18_Ch7
+	sfx SFX_Battle_18, CH7_
 
 SFX_Battle_19::
-	db CH7
-	dw SFX_Battle_19_Ch7
+	sfx SFX_Battle_19, CH7_
 
 SFX_Super_Effective::
-	db CH7
-	dw SFX_Super_Effective_Ch7
+	sfx SFX_Super_Effective, CH7_
 
 SFX_Battle_1B::
-	db CH7
-	dw SFX_Battle_1B_Ch7
+	sfx SFX_Battle_1B, CH7_
 
 SFX_Battle_1C::
-	db CH7
-	dw SFX_Battle_1C_Ch7
+	sfx SFX_Battle_1C, CH7_
 
 SFX_Doubleslap::
-	db CH7
-	dw SFX_Doubleslap_Ch7
+	sfx SFX_Doubleslap, CH7_
 
 SFX_Battle_1E::
-	db ( $40 | CH4 )
-	dw SFX_Battle_1E_Ch4
-	db CH7
-	dw SFX_Battle_1E_Ch7
+	sfx SFX_Battle_1E, CH4_ | CH7_
 
 SFX_Horn_Drill::
-	db CH7
-	dw SFX_Horn_Drill_Ch7
+	sfx SFX_Horn_Drill, CH7_
 
 SFX_Battle_20::
-	db CH7
-	dw SFX_Battle_20_Ch7
+	sfx SFX_Battle_20, CH7_
 
 SFX_Battle_21::
-	db CH7
-	dw SFX_Battle_21_Ch7
+	sfx SFX_Battle_21, CH7_
 
 SFX_Battle_22::
-	db CH7
-	dw SFX_Battle_22_Ch7
+	sfx SFX_Battle_22, CH7_
 
 SFX_Battle_23::
-	db CH7
-	dw SFX_Battle_23_Ch7
+	sfx SFX_Battle_23, CH7_
 
 SFX_Battle_24::
-	db ( $40 | CH4 )
-	dw SFX_Battle_24_Ch4
-	db CH7
-	dw SFX_Battle_24_Ch7
+	sfx SFX_Battle_24, CH4_ | CH7_
 
 SFX_Battle_25::
-	db CH7
-	dw SFX_Battle_25_Ch7
+	sfx SFX_Battle_25, CH7_
 
 SFX_Battle_26::
-	db CH7
-	dw SFX_Battle_26_Ch7
+	sfx SFX_Battle_26, CH7_
 
 SFX_Battle_27::
-	db ( $80 | CH4 )
-	dw SFX_Battle_27_Ch4
-	db CH5
-	dw SFX_Battle_27_Ch5
-	db CH7
-	dw SFX_Battle_27_Ch7
+	sfx SFX_Battle_27, CH4_ | CH5_ | CH7_
 
 SFX_Battle_28::
-	db ( $80 | CH4 )
-	dw SFX_Battle_28_Ch4
-	db CH5
-	dw SFX_Battle_28_Ch5
-	db CH7
-	dw SFX_Battle_28_Ch7
+	sfx SFX_Battle_28, CH4_ | CH5_ | CH7_
 
 SFX_Battle_29::
-	db ( $40 | CH4 )
-	dw SFX_Battle_29_Ch4
-	db CH7
-	dw SFX_Battle_29_Ch7
+	sfx SFX_Battle_29, CH4_ | CH7_
 
 SFX_Battle_2A::
-	db ( $80 | CH4 )
-	dw SFX_Battle_2A_Ch4
-	db CH5
-	dw SFX_Battle_2A_Ch5
-	db CH7
-	dw SFX_Battle_2A_Ch7
+	sfx SFX_Battle_2A, CH4_ | CH5_ | CH7_
 
 SFX_Battle_2B::
-	db ( $40 | CH4 )
-	dw SFX_Battle_2B_Ch4
-	db CH7
-	dw SFX_Battle_2B_Ch7
+	sfx SFX_Battle_2B, CH4_ | CH7_
 
 SFX_Battle_2C::
-	db ( $80 | CH4 )
-	dw SFX_Battle_2C_Ch4
-	db CH5
-	dw SFX_Battle_2C_Ch5
-	db CH7
-	dw SFX_Battle_2C_Ch7
+	sfx SFX_Battle_2C, CH4_ | CH5_ | CH7_
 
 SFX_Psybeam::
-	db ( $80 | CH4 )
-	dw SFX_Psybeam_Ch4
-	db CH5
-	dw SFX_Psybeam_Ch5
-	db CH7
-	dw SFX_Psybeam_Ch7
+	sfx SFX_Psybeam, CH4_ | CH5_ | CH7_
 
 SFX_Battle_2E::
-	db ( $80 | CH4 )
-	dw SFX_Battle_2E_Ch4
-	db CH5
-	dw SFX_Battle_2E_Ch5
-	db CH7
-	dw SFX_Battle_2E_Ch7
+	sfx SFX_Battle_2E, CH4_ | CH5_ | CH7_
 
 SFX_Battle_2F::
-	db ( $80 | CH4 )
-	dw SFX_Battle_2F_Ch4
-	db CH5
-	dw SFX_Battle_2F_Ch5
-	db CH7
-	dw SFX_Battle_2F_Ch7
+	sfx SFX_Battle_2F, CH4_ | CH5_ | CH7_
 
 SFX_Psychic_M::
-	db ( $80 | CH4 )
-	dw SFX_Psychic_M_Ch4
-	db CH5
-	dw SFX_Psychic_M_Ch5
-	db CH7
-	dw SFX_Psychic_M_Ch7
+	sfx SFX_Psychic_M, CH4_ | CH5_ | CH7_
 
 SFX_Battle_31::
-	db ( $40 | CH4 )
-	dw SFX_Battle_31_Ch4
-	db CH5
-	dw SFX_Battle_31_Ch5
+	sfx SFX_Battle_31, CH4_ | CH5_
 
 SFX_Battle_32::
-	db ( $40 | CH4 )
-	dw SFX_Battle_32_Ch4
-	db CH5
-	dw SFX_Battle_32_Ch5
+	sfx SFX_Battle_32, CH4_ | CH5_
 
 SFX_Battle_33::
-	db ( $40 | CH4 )
-	dw SFX_Battle_33_Ch4
-	db CH5
-	dw SFX_Battle_33_Ch5
+	sfx SFX_Battle_33, CH4_ | CH5_
 
 SFX_Battle_34::
-	db ( $80 | CH4 )
-	dw SFX_Battle_34_Ch4
-	db CH5
-	dw SFX_Battle_34_Ch5
-	db CH7
-	dw SFX_Battle_34_Ch7
+	sfx SFX_Battle_34, CH4_ | CH5_ | CH7_
 
 SFX_Battle_35::
-	db ( $40 | CH4 )
-	dw SFX_Battle_35_Ch4
-	db CH5
-	dw SFX_Battle_35_Ch5
+	sfx SFX_Battle_35, CH4_ | CH5_
 
 SFX_Battle_36::
-	db ( $80 | CH4 )
-	dw SFX_Battle_36_Ch4
-	db CH5
-	dw SFX_Battle_36_Ch5
-	db CH7
-	dw SFX_Battle_36_Ch7
+	sfx SFX_Battle_36, CH4_ | CH5_ | CH7_
 
 SFX_Silph_Scope::
-	db CH4
-	dw SFX_Silph_Scope_Ch4
+	sfx SFX_Silph_Scope, CH4_
--- a/audio/headers/sfxheaders3.asm
+++ b/audio/headers/sfxheaders3.asm
@@ -2,595 +2,310 @@
 	db $ff, $ff, $ff ; padding
 
 SFX_Snare1_3::
-	db CH7
-	dw SFX_Snare1_3_Ch7
+	sfx SFX_Snare1_3, CH7_
 
 SFX_Snare2_3::
-	db CH7
-	dw SFX_Snare2_3_Ch7
+	sfx SFX_Snare2_3, CH7_
 
 SFX_Snare3_3::
-	db CH7
-	dw SFX_Snare3_3_Ch7
+	sfx SFX_Snare3_3, CH7_
 
 SFX_Snare4_3::
-	db CH7
-	dw SFX_Snare4_3_Ch7
+	sfx SFX_Snare4_3, CH7_
 
 SFX_Snare5_3::
-	db CH7
-	dw SFX_Snare5_3_Ch7
+	sfx SFX_Snare5_3, CH7_
 
 SFX_Triangle1_3::
-	db CH7
-	dw SFX_Triangle1_3_Ch7
+	sfx SFX_Triangle1_3, CH7_
 
 SFX_Triangle2_3::
-	db CH7
-	dw SFX_Triangle2_3_Ch7
+	sfx SFX_Triangle2_3, CH7_
 
 SFX_Snare6_3::
-	db CH7
-	dw SFX_Snare6_3_Ch7
+	sfx SFX_Snare6_3, CH7_
 
 SFX_Snare7_3::
-	db CH7
-	dw SFX_Snare7_3_Ch7
+	sfx SFX_Snare7_3, CH7_
 
 SFX_Snare8_3::
-	db CH7
-	dw SFX_Snare8_3_Ch7
+	sfx SFX_Snare8_3, CH7_
 
 SFX_Snare9_3::
-	db CH7
-	dw SFX_Snare9_3_Ch7
+	sfx SFX_Snare9_3, CH7_
 
 SFX_Cymbal1_3::
-	db CH7
-	dw SFX_Cymbal1_3_Ch7
+	sfx SFX_Cymbal1_3, CH7_
 
 SFX_Cymbal2_3::
-	db CH7
-	dw SFX_Cymbal2_3_Ch7
+	sfx SFX_Cymbal2_3, CH7_
 
 SFX_Cymbal3_3::
-	db CH7
-	dw SFX_Cymbal3_3_Ch7
+	sfx SFX_Cymbal3_3, CH7_
 
 SFX_Muted_Snare1_3::
-	db CH7
-	dw SFX_Muted_Snare1_3_Ch7
+	sfx SFX_Muted_Snare1_3, CH7_
 
 SFX_Triangle3_3::
-	db CH7
-	dw SFX_Triangle3_3_Ch7
+	sfx SFX_Triangle3_3, CH7_
 
 SFX_Muted_Snare2_3::
-	db CH7
-	dw SFX_Muted_Snare2_3_Ch7
+	sfx SFX_Muted_Snare2_3, CH7_
 
 SFX_Muted_Snare3_3::
-	db CH7
-	dw SFX_Muted_Snare3_3_Ch7
+	sfx SFX_Muted_Snare3_3, CH7_
 
 SFX_Muted_Snare4_3::
-	db CH7
-	dw SFX_Muted_Snare4_3_Ch7
+	sfx SFX_Muted_Snare4_3, CH7_
 
 SFX_Cry00_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry00_3_Ch4
-	db CH5
-	dw SFX_Cry00_3_Ch5
-	db CH7
-	dw SFX_Cry00_3_Ch7
+	sfx SFX_Cry00_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry01_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry01_3_Ch4
-	db CH5
-	dw SFX_Cry01_3_Ch5
-	db CH7
-	dw SFX_Cry01_3_Ch7
+	sfx SFX_Cry01_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry02_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry02_3_Ch4
-	db CH5
-	dw SFX_Cry02_3_Ch5
-	db CH7
-	dw SFX_Cry02_3_Ch7
+	sfx SFX_Cry02_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry03_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry03_3_Ch4
-	db CH5
-	dw SFX_Cry03_3_Ch5
-	db CH7
-	dw SFX_Cry03_3_Ch7
+	sfx SFX_Cry03_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry04_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry04_3_Ch4
-	db CH5
-	dw SFX_Cry04_3_Ch5
-	db CH7
-	dw SFX_Cry04_3_Ch7
+	sfx SFX_Cry04_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry05_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry05_3_Ch4
-	db CH5
-	dw SFX_Cry05_3_Ch5
-	db CH7
-	dw SFX_Cry05_3_Ch7
+	sfx SFX_Cry05_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry06_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry06_3_Ch4
-	db CH5
-	dw SFX_Cry06_3_Ch5
-	db CH7
-	dw SFX_Cry06_3_Ch7
+	sfx SFX_Cry06_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry07_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry07_3_Ch4
-	db CH5
-	dw SFX_Cry07_3_Ch5
-	db CH7
-	dw SFX_Cry07_3_Ch7
+	sfx SFX_Cry07_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry08_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry08_3_Ch4
-	db CH5
-	dw SFX_Cry08_3_Ch5
-	db CH7
-	dw SFX_Cry08_3_Ch7
+	sfx SFX_Cry08_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry09_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry09_3_Ch4
-	db CH5
-	dw SFX_Cry09_3_Ch5
-	db CH7
-	dw SFX_Cry09_3_Ch7
+	sfx SFX_Cry09_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry0A_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry0A_3_Ch4
-	db CH5
-	dw SFX_Cry0A_3_Ch5
-	db CH7
-	dw SFX_Cry0A_3_Ch7
+	sfx SFX_Cry0A_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry0B_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry0B_3_Ch4
-	db CH5
-	dw SFX_Cry0B_3_Ch5
-	db CH7
-	dw SFX_Cry0B_3_Ch7
+	sfx SFX_Cry0B_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry0C_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry0C_3_Ch4
-	db CH5
-	dw SFX_Cry0C_3_Ch5
-	db CH7
-	dw SFX_Cry0C_3_Ch7
+	sfx SFX_Cry0C_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry0D_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry0D_3_Ch4
-	db CH5
-	dw SFX_Cry0D_3_Ch5
-	db CH7
-	dw SFX_Cry0D_3_Ch7
+	sfx SFX_Cry0D_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry0E_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry0E_3_Ch4
-	db CH5
-	dw SFX_Cry0E_3_Ch5
-	db CH7
-	dw SFX_Cry0E_3_Ch7
+	sfx SFX_Cry0E_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry0F_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry0F_3_Ch4
-	db CH5
-	dw SFX_Cry0F_3_Ch5
-	db CH7
-	dw SFX_Cry0F_3_Ch7
+	sfx SFX_Cry0F_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry10_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry10_3_Ch4
-	db CH5
-	dw SFX_Cry10_3_Ch5
-	db CH7
-	dw SFX_Cry10_3_Ch7
+	sfx SFX_Cry10_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry11_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry11_3_Ch4
-	db CH5
-	dw SFX_Cry11_3_Ch5
-	db CH7
-	dw SFX_Cry11_3_Ch7
+	sfx SFX_Cry11_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry12_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry12_3_Ch4
-	db CH5
-	dw SFX_Cry12_3_Ch5
-	db CH7
-	dw SFX_Cry12_3_Ch7
+	sfx SFX_Cry12_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry13_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry13_3_Ch4
-	db CH5
-	dw SFX_Cry13_3_Ch5
-	db CH7
-	dw SFX_Cry13_3_Ch7
+	sfx SFX_Cry13_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry14_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry14_3_Ch4
-	db CH5
-	dw SFX_Cry14_3_Ch5
-	db CH7
-	dw SFX_Cry14_3_Ch7
+	sfx SFX_Cry14_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry15_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry15_3_Ch4
-	db CH5
-	dw SFX_Cry15_3_Ch5
-	db CH7
-	dw SFX_Cry15_3_Ch7
+	sfx SFX_Cry15_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry16_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry16_3_Ch4
-	db CH5
-	dw SFX_Cry16_3_Ch5
-	db CH7
-	dw SFX_Cry16_3_Ch7
+	sfx SFX_Cry16_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry17_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry17_3_Ch4
-	db CH5
-	dw SFX_Cry17_3_Ch5
-	db CH7
-	dw SFX_Cry17_3_Ch7
+	sfx SFX_Cry17_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry18_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry18_3_Ch4
-	db CH5
-	dw SFX_Cry18_3_Ch5
-	db CH7
-	dw SFX_Cry18_3_Ch7
+	sfx SFX_Cry18_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry19_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry19_3_Ch4
-	db CH5
-	dw SFX_Cry19_3_Ch5
-	db CH7
-	dw SFX_Cry19_3_Ch7
+	sfx SFX_Cry19_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry1A_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry1A_3_Ch4
-	db CH5
-	dw SFX_Cry1A_3_Ch5
-	db CH7
-	dw SFX_Cry1A_3_Ch7
+	sfx SFX_Cry1A_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry1B_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry1B_3_Ch4
-	db CH5
-	dw SFX_Cry1B_3_Ch5
-	db CH7
-	dw SFX_Cry1B_3_Ch7
+	sfx SFX_Cry1B_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry1C_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry1C_3_Ch4
-	db CH5
-	dw SFX_Cry1C_3_Ch5
-	db CH7
-	dw SFX_Cry1C_3_Ch7
+	sfx SFX_Cry1C_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry1D_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry1D_3_Ch4
-	db CH5
-	dw SFX_Cry1D_3_Ch5
-	db CH7
-	dw SFX_Cry1D_3_Ch7
+	sfx SFX_Cry1D_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry1E_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry1E_3_Ch4
-	db CH5
-	dw SFX_Cry1E_3_Ch5
-	db CH7
-	dw SFX_Cry1E_3_Ch7
+	sfx SFX_Cry1E_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry1F_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry1F_3_Ch4
-	db CH5
-	dw SFX_Cry1F_3_Ch5
-	db CH7
-	dw SFX_Cry1F_3_Ch7
+	sfx SFX_Cry1F_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry20_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry20_3_Ch4
-	db CH5
-	dw SFX_Cry20_3_Ch5
-	db CH7
-	dw SFX_Cry20_3_Ch7
+	sfx SFX_Cry20_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry21_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry21_3_Ch4
-	db CH5
-	dw SFX_Cry21_3_Ch5
-	db CH7
-	dw SFX_Cry21_3_Ch7
+	sfx SFX_Cry21_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry22_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry22_3_Ch4
-	db CH5
-	dw SFX_Cry22_3_Ch5
-	db CH7
-	dw SFX_Cry22_3_Ch7
+	sfx SFX_Cry22_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry23_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry23_3_Ch4
-	db CH5
-	dw SFX_Cry23_3_Ch5
-	db CH7
-	dw SFX_Cry23_3_Ch7
+	sfx SFX_Cry23_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry24_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry24_3_Ch4
-	db CH5
-	dw SFX_Cry24_3_Ch5
-	db CH7
-	dw SFX_Cry24_3_Ch7
+	sfx SFX_Cry24_3, CH4_ | CH5_ | CH7_
 
 SFX_Cry25_3::
-	db ( $80 | CH4 )
-	dw SFX_Cry25_3_Ch4
-	db CH5
-	dw SFX_Cry25_3_Ch5
-	db CH7
-	dw SFX_Cry25_3_Ch7
+	sfx SFX_Cry25_3, CH4_ | CH5_ | CH7_
 
 SFX_Get_Item1_3::
-	db ( $80 | CH4 )
-	dw SFX_Get_Item1_3_Ch4
-	db CH5
-	dw SFX_Get_Item1_3_Ch5
-	db CH6
-	dw SFX_Get_Item1_3_Ch6
+	sfx SFX_Get_Item1_3, CH4_ | CH5_ | CH6_
 
 SFX_Get_Item2_3::
-	db ( $80 | CH4 )
-	dw SFX_Get_Item2_3_Ch4
-	db CH5
-	dw SFX_Get_Item2_3_Ch5
-	db CH6
-	dw SFX_Get_Item2_3_Ch6
+	sfx SFX_Get_Item2_3, CH4_ | CH5_ | CH6_
 
 SFX_Tink_3::
-	db CH4
-	dw SFX_Tink_3_Ch4
+	sfx SFX_Tink_3, CH4_
 
 SFX_Heal_HP_3::
-	db CH4
-	dw SFX_Heal_HP_3_Ch4
+	sfx SFX_Heal_HP_3, CH4_
 
 SFX_Heal_Ailment_3::
-	db CH4
-	dw SFX_Heal_Ailment_3_Ch4
+	sfx SFX_Heal_Ailment_3, CH4_
 
 SFX_Start_Menu_3::
-	db CH7
-	dw SFX_Start_Menu_3_Ch7
+	sfx SFX_Start_Menu_3, CH7_
 
 SFX_Press_AB_3::
-	db CH4
-	dw SFX_Press_AB_3_Ch4
+	sfx SFX_Press_AB_3, CH4_
 
 SFX_Pokedex_Rating_3::
-	db ( $80 | CH4 )
-	dw SFX_Pokedex_Rating_3_Ch4
-	db CH5
-	dw SFX_Pokedex_Rating_3_Ch5
-	db CH6
-	dw SFX_Pokedex_Rating_3_Ch6
+	sfx SFX_Pokedex_Rating_3, CH4_ | CH5_ | CH6_
 
 SFX_Get_Key_Item_3::
-	db ( $80 | CH4 )
-	dw SFX_Get_Key_Item_3_Ch4
-	db CH5
-	dw SFX_Get_Key_Item_3_Ch5
-	db CH6
-	dw SFX_Get_Key_Item_3_Ch6
+	sfx SFX_Get_Key_Item_3, CH4_ | CH5_ | CH6_
 
 SFX_Poisoned_3::
-	db CH4
-	dw SFX_Poisoned_3_Ch4
+	sfx SFX_Poisoned_3, CH4_
 
 SFX_Trade_Machine_3::
-	db CH4
-	dw SFX_Trade_Machine_3_Ch4
+	sfx SFX_Trade_Machine_3, CH4_
 
 SFX_Turn_On_PC_3::
-	db CH4
-	dw SFX_Turn_On_PC_3_Ch4
+	sfx SFX_Turn_On_PC_3, CH4_
 
 SFX_Turn_Off_PC_3::
-	db CH4
-	dw SFX_Turn_Off_PC_3_Ch4
+	sfx SFX_Turn_Off_PC_3, CH4_
 
 SFX_Enter_PC_3::
-	db CH4
-	dw SFX_Enter_PC_3_Ch4
+	sfx SFX_Enter_PC_3, CH4_
 
 SFX_Shrink_3::
-	db CH4
-	dw SFX_Shrink_3_Ch4
+	sfx SFX_Shrink_3, CH4_
 
 SFX_Switch_3::
-	db CH4
-	dw SFX_Switch_3_Ch4
+	sfx SFX_Switch_3, CH4_
 
 SFX_Healing_Machine_3::
-	db CH4
-	dw SFX_Healing_Machine_3_Ch4
+	sfx SFX_Healing_Machine_3, CH4_
 
 SFX_Teleport_Exit1_3::
-	db CH4
-	dw SFX_Teleport_Exit1_3_Ch4
+	sfx SFX_Teleport_Exit1_3, CH4_
 
 SFX_Teleport_Enter1_3::
-	db CH4
-	dw SFX_Teleport_Enter1_3_Ch4
+	sfx SFX_Teleport_Enter1_3, CH4_
 
 SFX_Teleport_Exit2_3::
-	db CH4
-	dw SFX_Teleport_Exit2_3_Ch4
+	sfx SFX_Teleport_Exit2_3, CH4_
 
 SFX_Ledge_3::
-	db CH4
-	dw SFX_Ledge_3_Ch4
+	sfx SFX_Ledge_3, CH4_
 
 SFX_Teleport_Enter2_3::
-	db CH7
-	dw SFX_Teleport_Enter2_3_Ch7
+	sfx SFX_Teleport_Enter2_3, CH7_
 
 SFX_Fly_3::
-	db CH7
-	dw SFX_Fly_3_Ch7
+	sfx SFX_Fly_3, CH7_
 
 SFX_Denied_3::
-	db ( $40 | CH4 )
-	dw SFX_Denied_3_Ch4
-	db CH5
-	dw SFX_Denied_3_Ch5
+	sfx SFX_Denied_3, CH4_ | CH5_
 
 SFX_Arrow_Tiles_3::
-	db CH4
-	dw SFX_Arrow_Tiles_3_Ch4
+	sfx SFX_Arrow_Tiles_3, CH4_
 
 SFX_Push_Boulder_3::
-	db CH7
-	dw SFX_Push_Boulder_3_Ch7
+	sfx SFX_Push_Boulder_3, CH7_
 
 SFX_SS_Anne_Horn_3::
-	db ( $40 | CH4 )
-	dw SFX_SS_Anne_Horn_3_Ch4
-	db CH5
-	dw SFX_SS_Anne_Horn_3_Ch5
+	sfx SFX_SS_Anne_Horn_3, CH4_ | CH5_
 
 SFX_Withdraw_Deposit_3::
-	db CH4
-	dw SFX_Withdraw_Deposit_3_Ch4
+	sfx SFX_Withdraw_Deposit_3, CH4_
 
 SFX_Cut_3::
-	db CH7
-	dw SFX_Cut_3_Ch7
+	sfx SFX_Cut_3, CH7_
 
 SFX_Go_Inside_3::
-	db CH7
-	dw SFX_Go_Inside_3_Ch7
+	sfx SFX_Go_Inside_3, CH7_
 
 SFX_Swap_3::
-	db ( $40 | CH4 )
-	dw SFX_Swap_3_Ch4
-	db CH5
-	dw SFX_Swap_3_Ch5
+	sfx SFX_Swap_3, CH4_ | CH5_
 
 SFX_59_3::
-	db ( $40 | CH4 )
-	dw SFX_59_3_Ch4
-	db CH5
-	dw SFX_59_3_Ch5
+	sfx SFX_59_3, CH4_ | CH5_
 
 SFX_Purchase_3::
-	db ( $40 | CH4 )
-	dw SFX_Purchase_3_Ch4
-	db CH5
-	dw SFX_Purchase_3_Ch5
+	sfx SFX_Purchase_3, CH4_ | CH5_
 
 SFX_Collision_3::
-	db CH4
-	dw SFX_Collision_3_Ch4
+	sfx SFX_Collision_3, CH4_
 
 SFX_Go_Outside_3::
-	db CH7
-	dw SFX_Go_Outside_3_Ch7
+	sfx SFX_Go_Outside_3, CH7_
 
 SFX_Save_3::
-	db ( $40 | CH4 )
-	dw SFX_Save_3_Ch4
-	db CH5
-	dw SFX_Save_3_Ch5
+	sfx SFX_Save_3, CH4_ | CH5_
 
 SFX_Intro_Lunge::
-	db CH7
-	dw SFX_Intro_Lunge_Ch7
+	sfx SFX_Intro_Lunge, CH7_
 
 SFX_Intro_Hip::
-	db CH4
-	dw SFX_Intro_Hip_Ch4
+	sfx SFX_Intro_Hip, CH4_
 
 SFX_Intro_Hop::
-	db CH4
-	dw SFX_Intro_Hop_Ch4
+	sfx SFX_Intro_Hop, CH4_
 
 SFX_Intro_Raise::
-	db CH7
-	dw SFX_Intro_Raise_Ch7
+	sfx SFX_Intro_Raise, CH7_
 
 SFX_Intro_Crash::
-	db CH7
-	dw SFX_Intro_Crash_Ch7
+	sfx SFX_Intro_Crash, CH7_
 
 SFX_Intro_Whoosh::
-	db CH7
-	dw SFX_Intro_Whoosh_Ch7
+	sfx SFX_Intro_Whoosh, CH7_
 
 SFX_Slots_Stop_Wheel::
-	db CH4
-	dw SFX_Slots_Stop_Wheel_Ch4
+	sfx SFX_Slots_Stop_Wheel, CH4_
 
 SFX_Slots_Reward::
-	db CH4
-	dw SFX_Slots_Reward_Ch4
+	sfx SFX_Slots_Reward, CH4_
 
 SFX_Slots_New_Spin::
-	db ( $40 | CH4 )
-	dw SFX_Slots_New_Spin_Ch4
-	db CH5
-	dw SFX_Slots_New_Spin_Ch5
+	sfx SFX_Slots_New_Spin, CH4_ | CH5_
 
 SFX_Shooting_Star::
-	db CH4
-	dw SFX_Shooting_Star_Ch4
+	sfx SFX_Shooting_Star, CH4_
--- a/macros.asm
+++ b/macros.asm
@@ -406,6 +406,53 @@
 CH6		EQU 6
 CH7		EQU 7
 
+CH0_ EQU 1 << CH0
+CH1_ EQU 1 << CH1
+CH2_ EQU 1 << CH2
+CH3_ EQU 1 << CH3
+CH4_ EQU 1 << CH4
+CH5_ EQU 1 << CH5
+CH6_ EQU 1 << CH6
+CH7_ EQU 1 << CH7
+
+music: MACRO
+	db ((((\2 & CH0_) >> CH0) + ((\2 & CH1_) >> CH1) + ((\2 & CH2_) >> CH2) + ((\2 & CH3_) >> CH3)) - 1) << 6 | CH0
+	IF \2 & CH0_
+		dw \1_Ch0
+	ENDC
+	IF \2 & CH1_
+		db CH1
+		dw \1_Ch1
+	ENDC
+	IF \2 & CH2_
+		db CH2
+		dw \1_Ch2
+	ENDC
+	IF \2 & CH3_
+		db CH3
+		dw \1_Ch3
+	ENDC
+ENDM
+
+sfx: MACRO
+	IF \2 & CH4_
+		db ((((\2 & CH4_) >> CH4) + ((\2 & CH5_) >> CH5) + ((\2 & CH6_) >> CH6) + ((\2 & CH7_) >> CH7)) - 1) << 6 | CH4
+		dw \1_Ch4
+	ENDC
+	IF \2 & CH5_
+		db CH5
+		dw \1_Ch5
+	ENDC
+	IF \2 & CH6_
+		db CH6
+		dw \1_Ch6
+	ENDC
+	IF \2 & CH7_
+		db CH7
+		dw \1_Ch7
+	ENDC
+ENDM
+
 unknownsfx0x10: MACRO
 	db $10
 	db \1