summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
Diffstat (limited to 'audio')
-rw-r--r--audio/cries.asm6
-rw-r--r--audio/cry_headers.asm258
-rw-r--r--audio/cry_pointers.asm2
-rw-r--r--audio/drumkits.asm301
-rw-r--r--audio/engine.asm471
-rw-r--r--audio/music_pointers.asm4
-rw-r--r--audio/notes.asm27
-rw-r--r--audio/sfx.asm46
-rw-r--r--audio/sfx_pointers.asm8
-rw-r--r--audio/trainer_encounters.asm96
-rw-r--r--audio/wave_samples.asm14
11 files changed, 454 insertions, 779 deletions
diff --git a/audio/cries.asm b/audio/cries.asm
index 66b6d3c98..7848d185e 100644
--- a/audio/cries.asm
+++ b/audio/cries.asm
@@ -1166,7 +1166,7 @@ Cry_Weepinbell: ; f35ca
musicheader 1, 8, Cry_Weepinbell_Ch8
; f35d3
-Unknown_Cry_Ch5: ; f35d3
+Unused_Cry_Ch5: ; f35d3
sound_duty 0, 0, 3, 3
sound __, 16, $e0, $0780
sound __, 16, $f0, $0784
@@ -1177,7 +1177,7 @@ Unknown_Cry_Ch5: ; f35d3
endchannel
; f35ee
-Unknown_Cry_Ch6: ; f35ee
+Unused_Cry_Ch6: ; f35ee
sound_duty 1, 1, 0, 0
sound __, 16, $a0, $0741
sound __, 16, $b0, $0743
@@ -1188,7 +1188,7 @@ Unknown_Cry_Ch6: ; f35ee
endchannel
; f3609
-Unknown_Cry_Ch8: ; f3609
+Unused_Cry_Ch8: ; f3609
noise __, 3, $f2, $4c
noise __, 7, $e0, $3a
noise __, 16, $d0, $3a
diff --git a/audio/cry_headers.asm b/audio/cry_headers.asm
deleted file mode 100644
index 863539dc9..000000000
--- a/audio/cry_headers.asm
+++ /dev/null
@@ -1,258 +0,0 @@
-; f2787
-; index, pitch, length
-BulbasaurCryHeader: cry_header CRY_BULBASAUR, $080, $081
-IvysaurCryHeader: cry_header CRY_BULBASAUR, $020, $100
-VenusaurCryHeader: cry_header CRY_BULBASAUR, $000, $140
-CharmanderCryHeader: cry_header CRY_CHARMANDER, $060, $0c0
-CharmeleonCryHeader: cry_header CRY_CHARMANDER, $020, $0c0
-CharizardCryHeader: cry_header CRY_CHARMANDER, $000, $100
-SquirtleCryHeader: cry_header CRY_SQUIRTLE, $060, $0c0
-WartortleCryHeader: cry_header CRY_SQUIRTLE, $020, $0c0
-BlastoiseCryHeader: cry_header CRY_BLASTOISE, $000, $100
-CaterpieCryHeader: cry_header CRY_CATERPIE, $080, $0a0
-MetapodCryHeader: cry_header CRY_METAPOD, $0cc, $081
-ButterfreeCryHeader: cry_header CRY_CATERPIE, $077, $0c0
-WeedleCryHeader: cry_header CRY_WEEDLE, $0ee, $081
-KakunaCryHeader: cry_header CRY_BLASTOISE, $0ff, $081
-BeedrillCryHeader: cry_header CRY_BLASTOISE, $060, $100
-PidgeyCryHeader: cry_header CRY_PIDGEY, $0df, $084
-PidgeottoCryHeader: cry_header CRY_PIDGEOTTO, $028, $140
-PidgeotCryHeader: cry_header CRY_PIDGEOTTO, $011, $17f
-RattataCryHeader: cry_header CRY_RATTATA, $000, $100
-RaticateCryHeader: cry_header CRY_RATTATA, $020, $17f
-SpearowCryHeader: cry_header CRY_SPEAROW, $000, $100
-FearowCryHeader: cry_header CRY_FEAROW, $040, $120
-EkansCryHeader: cry_header CRY_EKANS, $012, $0c0
-ArbokCryHeader: cry_header CRY_EKANS, $0e0, $090
-PikachuCryHeader: cry_header CRY_BULBASAUR, $0ee, $081
-RaichuCryHeader: cry_header CRY_RAICHU, $0ee, $088
-SandshrewCryHeader: cry_header CRY_NIDORAN_M, $020, $0c0
-SandslashCryHeader: cry_header CRY_NIDORAN_M, $0ff, $17f
-NidoranFCryHeader: cry_header CRY_NIDORAN_F, $000, $100
-NidorinaCryHeader: cry_header CRY_NIDORAN_F, $02c, $160
-NidoqueenCryHeader: cry_header CRY_NIDOQUEEN, $000, $100
-NidoranMCryHeader: cry_header CRY_NIDORAN_M, $000, $100
-NidorinoCryHeader: cry_header CRY_NIDORAN_M, $02c, $140
-NidokingCryHeader: cry_header CRY_RAICHU, $000, $100
-ClefairyCryHeader: cry_header CRY_CLEFAIRY, $0cc, $081
-ClefableCryHeader: cry_header CRY_CLEFAIRY, $0aa, $0a0
-VulpixCryHeader: cry_header CRY_VULPIX, $04f, $090
-NinetalesCryHeader: cry_header CRY_VULPIX, $088, $0e0
-JigglypuffCryHeader: cry_header CRY_PIDGEY, $0ff, $0b5
-WigglytuffCryHeader: cry_header CRY_PIDGEY, $068, $0e0
-ZubatCryHeader: cry_header CRY_SQUIRTLE, $0e0, $100
-GolbatCryHeader: cry_header CRY_SQUIRTLE, $0fa, $100
-OddishCryHeader: cry_header CRY_ODDISH, $0dd, $081
-GloomCryHeader: cry_header CRY_ODDISH, $0aa, $0c0
-VileplumeCryHeader: cry_header CRY_VILEPLUME, $022, $17f
-ParasCryHeader: cry_header CRY_PARAS, $020, $160
-ParasectCryHeader: cry_header CRY_PARAS, $042, $17f
-VenonatCryHeader: cry_header CRY_VENONAT, $044, $0c0
-VenomothCryHeader: cry_header CRY_VENONAT, $029, $100
-DiglettCryHeader: cry_header CRY_DIGLETT, $0aa, $081
-DugtrioCryHeader: cry_header CRY_DIGLETT, $02a, $090
-MeowthCryHeader: cry_header CRY_CLEFAIRY, $077, $090
-PersianCryHeader: cry_header CRY_CLEFAIRY, $099, $17f
-PsyduckCryHeader: cry_header CRY_PSYDUCK, $020, $0e0
-GolduckCryHeader: cry_header CRY_PSYDUCK, $0ff, $0c0
-MankeyCryHeader: cry_header CRY_NIDOQUEEN, $0dd, $0e0
-PrimeapeCryHeader: cry_header CRY_NIDOQUEEN, $0af, $0c0
-GrowlitheCryHeader: cry_header CRY_GROWLITHE, $020, $0c0
-ArcanineCryHeader: cry_header CRY_WEEDLE, $000, $100
-PoliwagCryHeader: cry_header CRY_PIDGEY, $0ff, $17f
-PoliwhirlCryHeader: cry_header CRY_PIDGEY, $077, $0e0
-PoliwrathCryHeader: cry_header CRY_PIDGEY, $000, $17f
-AbraCryHeader: cry_header CRY_METAPOD, $0c0, $081
-KadabraCryHeader: cry_header CRY_METAPOD, $0a8, $140
-AlakazamCryHeader: cry_header CRY_METAPOD, $098, $17f
-MachopCryHeader: cry_header CRY_GROWLITHE, $0ee, $081
-MachokeCryHeader: cry_header CRY_GROWLITHE, $048, $0e0
-MachampCryHeader: cry_header CRY_GROWLITHE, $008, $140
-BellsproutCryHeader: cry_header CRY_PSYDUCK, $055, $081
-WeepinbellCryHeader: cry_header CRY_WEEPINBELL, $044, $0a0
-VictreebelCryHeader: cry_header CRY_WEEPINBELL, $066, $14c
-TentacoolCryHeader: cry_header CRY_VENONAT, $000, $100
-TentacruelCryHeader: cry_header CRY_VENONAT, $0ee, $17f
-GeodudeCryHeader: cry_header CRY_VULPIX, $0f0, $090
-GravelerCryHeader: cry_header CRY_VULPIX, $000, $100
-GolemCryHeader: cry_header CRY_GOLEM, $0e0, $0c0
-PonytaCryHeader: cry_header CRY_WEEPINBELL, $000, $100
-RapidashCryHeader: cry_header CRY_WEEPINBELL, $020, $140
-SlowpokeCryHeader: cry_header CRY_SLOWPOKE, $000, $100
-SlowbroCryHeader: cry_header CRY_GROWLITHE, $000, $100
-MagnemiteCryHeader: cry_header CRY_METAPOD, $080, $0e0
-MagnetonCryHeader: cry_header CRY_METAPOD, $020, $140
-FarfetchDCryHeader: cry_header CRY_SPEAROW, $0dd, $081
-DoduoCryHeader: cry_header CRY_DIGLETT, $0bb, $081
-DodrioCryHeader: cry_header CRY_DIGLETT, $099, $0a0
-SeelCryHeader: cry_header CRY_SEEL, $088, $140
-DewgongCryHeader: cry_header CRY_SEEL, $023, $17f
-GrimerCryHeader: cry_header CRY_GRIMER, $000, $100
-MukCryHeader: cry_header CRY_MUK, $0ef, $17f
-ShellderCryHeader: cry_header CRY_FEAROW, $000, $100
-CloysterCryHeader: cry_header CRY_FEAROW, $06f, $160
-GastlyCryHeader: cry_header CRY_METAPOD, $000, $100
-HaunterCryHeader: cry_header CRY_METAPOD, $030, $0c0
-GengarCryHeader: cry_header CRY_MUK, $000, $17f
-OnixCryHeader: cry_header CRY_EKANS, $0ff, $140
-DrowzeeCryHeader: cry_header CRY_DROWZEE, $088, $0a0
-HypnoCryHeader: cry_header CRY_DROWZEE, $0ee, $0c0
-KrabbyCryHeader: cry_header CRY_KRABBY, $020, $160
-KinglerCryHeader: cry_header CRY_KRABBY, $0ee, $160
-VoltorbCryHeader: cry_header CRY_VOLTORB, $0ed, $100
-ElectrodeCryHeader: cry_header CRY_VOLTORB, $0a8, $110
-ExeggcuteCryHeader: cry_header CRY_DIGLETT, $000, $100
-ExeggutorCryHeader: cry_header CRY_DROWZEE, $000, $100
-CuboneCryHeader: cry_header CRY_CLEFAIRY, $000, $100
-MarowakCryHeader: cry_header CRY_ODDISH, $04f, $0e0
-HitmonleeCryHeader: cry_header CRY_GOLEM, $080, $140
-HitmonchanCryHeader: cry_header CRY_SEEL, $0ee, $140
-LickitungCryHeader: cry_header CRY_SEEL, $000, $100
-KoffingCryHeader: cry_header CRY_GOLEM, $0e6, $15d
-WeezingCryHeader: cry_header CRY_GOLEM, $0ff, $17f
-RhyhornCryHeader: cry_header CRY_CHARMANDER, $000, $100
-RhydonCryHeader: cry_header CRY_RHYDON, $000, $100
-ChanseyCryHeader: cry_header CRY_PIDGEOTTO, $00a, $140
-TangelaCryHeader: cry_header CRY_GOLEM, $000, $100
-KangaskhanCryHeader: cry_header CRY_KANGASKHAN, $000, $100
-HorseaCryHeader: cry_header CRY_CLEFAIRY, $099, $090
-SeadraCryHeader: cry_header CRY_CLEFAIRY, $03c, $081
-GoldeenCryHeader: cry_header CRY_CATERPIE, $080, $0c0
-SeakingCryHeader: cry_header CRY_CATERPIE, $010, $17f
-StaryuCryHeader: cry_header CRY_PARAS, $002, $0a0
-StarmieCryHeader: cry_header CRY_PARAS, $000, $100
-MrMimeCryHeader: cry_header CRY_KRABBY, $008, $0c0
-ScytherCryHeader: cry_header CRY_CATERPIE, $000, $100
-JynxCryHeader: cry_header CRY_DROWZEE, $0ff, $17f
-ElectabuzzCryHeader: cry_header CRY_VOLTORB, $08f, $17f
-MagmarCryHeader: cry_header CRY_CHARMANDER, $0ff, $0b0
-PinsirCryHeader: cry_header CRY_PIDGEOTTO, $000, $100
-TaurosCryHeader: cry_header CRY_SQUIRTLE, $011, $0c0
-MagikarpCryHeader: cry_header CRY_EKANS, $080, $080
-GyaradosCryHeader: cry_header CRY_EKANS, $000, $100
-LaprasCryHeader: cry_header CRY_LAPRAS, $000, $100
-DittoCryHeader: cry_header CRY_PIDGEY, $0ff, $17f
-EeveeCryHeader: cry_header CRY_VENONAT, $088, $0e0
-VaporeonCryHeader: cry_header CRY_VENONAT, $0aa, $17f
-JolteonCryHeader: cry_header CRY_VENONAT, $03d, $100
-FlareonCryHeader: cry_header CRY_VENONAT, $010, $0a0
-PorygonCryHeader: cry_header CRY_WEEPINBELL, $0aa, $17f
-OmanyteCryHeader: cry_header CRY_GROWLITHE, $0f0, $081
-OmastarCryHeader: cry_header CRY_GROWLITHE, $0ff, $0c0
-KabutoCryHeader: cry_header CRY_CATERPIE, $0bb, $0c0
-KabutopsCryHeader: cry_header CRY_FEAROW, $0ee, $081
-AerodactylCryHeader: cry_header CRY_VILEPLUME, $020, $170
-SnorlaxCryHeader: cry_header CRY_GRIMER, $055, $081
-ArticunoCryHeader: cry_header CRY_RAICHU, $080, $0c0
-ZapdosCryHeader: cry_header CRY_FEAROW, $0ff, $100
-MoltresCryHeader: cry_header CRY_RAICHU, $0f8, $0c0
-DratiniCryHeader: cry_header CRY_BULBASAUR, $060, $0c0
-DragonairCryHeader: cry_header CRY_BULBASAUR, $040, $100
-DragoniteCryHeader: cry_header CRY_BULBASAUR, $03c, $140
-MewtwoCryHeader: cry_header CRY_PARAS, $099, $17f
-MewCryHeader: cry_header CRY_PARAS, $0ee, $17f
-ChikoritaCryHeader: cry_header CRY_CHIKORITA, -$010, $0b0
-BayleefCryHeader: cry_header CRY_CHIKORITA, -$022, $120
-MeganiumCryHeader: cry_header CRY_CHIKORITA, -$0b7, $200
-CyndaquilCryHeader: cry_header CRY_CYNDAQUIL, $347, $080
-QuilavaCryHeader: cry_header CRY_CYNDAQUIL, $321, $120
-TyphlosionCryHeader: cry_header CRY_TYPHLOSION, $f00, $0d4
-TotodileCryHeader: cry_header CRY_TOTODILE, $46c, $0e8
-CroconawCryHeader: cry_header CRY_TOTODILE, $440, $110
-FeraligatrCryHeader: cry_header CRY_TOTODILE, $3fc, $180
-SentretCryHeader: cry_header CRY_SENTRET, $08a, $0b8
-FurretCryHeader: cry_header CRY_SENTRET, $06b, $102
-HoothootCryHeader: cry_header CRY_HOOTHOOT, $091, $0d8
-NoctowlCryHeader: cry_header CRY_HOOTHOOT, $000, $1a0
-LedybaCryHeader: cry_header CRY_LEDYBA, $000, $0de
-LedianCryHeader: cry_header CRY_LEDYBA, -$096, $138
-SpinarakCryHeader: cry_header CRY_SPINARAK, $011, $200
-AriadosCryHeader: cry_header CRY_SPINARAK, -$0ae, $1e2
-CrobatCryHeader: cry_header CRY_SQUIRTLE, -$010, $140
-ChinchouCryHeader: cry_header CRY_CYNDAQUIL, $3c9, $140
-LanturnCryHeader: cry_header CRY_CYNDAQUIL, $2d0, $110
-PichuCryHeader: cry_header CRY_PICHU, $000, $140
-CleffaCryHeader: cry_header CRY_CLEFFA, $061, $091
-IgglybuffCryHeader: cry_header CRY_CHIKORITA, $0e8, $0e8
-TogepiCryHeader: cry_header CRY_TOGEPI, $010, $100
-TogeticCryHeader: cry_header CRY_TOGETIC, $03b, $038
-NatuCryHeader: cry_header CRY_NATU, -$067, $100
-XatuCryHeader: cry_header CRY_NATU, -$0a7, $168
-MareepCryHeader: cry_header CRY_MAREEP, $022, $0d8
-FlaaffyCryHeader: cry_header CRY_MAREEP, -$007, $180
-AmpharosCryHeader: cry_header CRY_AMPHAROS, -$07c, $0e8
-BellossomCryHeader: cry_header CRY_CLEFFA, $084, $150
-MarillCryHeader: cry_header CRY_MARILL, $11b, $120
-AzumarillCryHeader: cry_header CRY_MARILL, $0b6, $180
-SudowoodoCryHeader: cry_header CRY_CLEFFA, $f40, $180
-PolitoedCryHeader: cry_header CRY_CLEFFA, -$2a3, $1c8
-HoppipCryHeader: cry_header CRY_CLEFFA, $03b, $0c8
-SkiploomCryHeader: cry_header CRY_CLEFFA, $027, $138
-JumpluffCryHeader: cry_header CRY_CLEFFA, $000, $180
-AipomCryHeader: cry_header CRY_AIPOM, -$051, $0e8
-SunkernCryHeader: cry_header CRY_MARILL, $12b, $0b8
-SunfloraCryHeader: cry_header CRY_SUNFLORA, -$020, $180
-YanmaCryHeader: cry_header CRY_TOTODILE, $031, $0c8
-WooperCryHeader: cry_header CRY_WOOPER, $093, $0af
-QuagsireCryHeader: cry_header CRY_WOOPER, -$0c6, $140
-EspeonCryHeader: cry_header CRY_AIPOM, $0a2, $140
-UmbreonCryHeader: cry_header CRY_VENONAT, -$0e9, $0f0
-MurkrowCryHeader: cry_header CRY_MARILL, -$01f, $180
-SlowkingCryHeader: cry_header CRY_SLOWKING, $104, $200
-MisdreavusCryHeader: cry_header CRY_HOOTHOOT, $130, $0e8
-UnownCryHeader: cry_header CRY_HOOTHOOT, $162, $100
-WobbuffetCryHeader: cry_header CRY_AMPHAROS, $27b, $144
-GirafarigCryHeader: cry_header CRY_GIRAFARIG, $041, $200
-PinecoCryHeader: cry_header CRY_SLOWKING, $080, $100
-ForretressCryHeader: cry_header CRY_SLOWKING, $000, $180
-DunsparceCryHeader: cry_header CRY_DUNSPARCE, $1c4, $100
-GligarCryHeader: cry_header CRY_GLIGAR, -$102, $100
-SteelixCryHeader: cry_header CRY_TYPHLOSION, $0ef, $0f7
-SnubbullCryHeader: cry_header CRY_DUNSPARCE, $112, $0e8
-GranbullCryHeader: cry_header CRY_DUNSPARCE, $000, $180
-QwilfishCryHeader: cry_header CRY_SLOWKING, $160, $0e0
-ScizorCryHeader: cry_header CRY_AMPHAROS, $000, $160
-ShuckleCryHeader: cry_header CRY_DUNSPARCE, $290, $0a8
-HeracrossCryHeader: cry_header CRY_AMPHAROS, $035, $0e0
-SneaselCryHeader: cry_header CRY_WOOPER, $053, $0af
-TeddiursaCryHeader: cry_header CRY_TEDDIURSA, $7a2, $06e
-UrsaringCryHeader: cry_header CRY_TEDDIURSA, $640, $0d8
-SlugmaCryHeader: cry_header CRY_SLUGMA, -$1d8, $140
-MagcargoCryHeader: cry_header CRY_MAGCARGO, -$20d, $1c0
-SwinubCryHeader: cry_header CRY_CYNDAQUIL, $1fe, $140
-PiloswineCryHeader: cry_header CRY_MAGCARGO, -$109, $100
-CorsolaCryHeader: cry_header CRY_MAGCARGO, $0a1, $0e8
-RemoraidCryHeader: cry_header CRY_SUNFLORA, $00d, $100
-OctilleryCryHeader: cry_header CRY_TOTODILE, $000, $180
-DelibirdCryHeader: cry_header CRY_TEDDIURSA, $002, $06a
-MantineCryHeader: cry_header CRY_MANTINE, -$0be, $0f0
-SkarmoryCryHeader: cry_header CRY_AMPHAROS, $8a9, $180
-HoundourCryHeader: cry_header CRY_CYNDAQUIL, $039, $140
-HoundoomCryHeader: cry_header CRY_TOTODILE, -$10a, $100
-KingdraCryHeader: cry_header CRY_SLUGMA, $2fb, $100
-PhanpyCryHeader: cry_header CRY_SENTRET, $048, $230
-DonphanCryHeader: cry_header CRY_DONPHAN, $000, $1a0
-Porygon2CryHeader: cry_header CRY_GIRAFARIG, $073, $240
-StantlerCryHeader: cry_header CRY_AIPOM, -$160, $180
-SmeargleCryHeader: cry_header CRY_PICHU, -$21a, $1f0
-TyrogueCryHeader: cry_header CRY_AIPOM, $02c, $108
-HitmontopCryHeader: cry_header CRY_SLUGMA, $000, $100
-SmoochumCryHeader: cry_header CRY_MARILL, $068, $100
-ElekidCryHeader: cry_header CRY_SUNFLORA, -$2d8, $0b4
-MagbyCryHeader: cry_header CRY_TEDDIURSA, $176, $03a
-MiltankCryHeader: cry_header CRY_GLIGAR, -$1cd, $1a0
-BlisseyCryHeader: cry_header CRY_SLOWKING, $293, $140
-RaikouCryHeader: cry_header CRY_RAIKOU, $22e, $120
-EnteiCryHeader: cry_header CRY_ENTEI, $000, $1a0
-SuicuneCryHeader: cry_header CRY_MAGCARGO, $000, $180
-LarvitarCryHeader: cry_header CRY_RAIKOU, $05f, $0d0
-PupitarCryHeader: cry_header CRY_SPINARAK, -$1db, $150
-TyranitarCryHeader: cry_header CRY_RAIKOU, -$100, $180
-LugiaCryHeader: cry_header CRY_TYPHLOSION, $000, $100
-HoOhCryHeader: cry_header CRY_AIPOM, $000, $180
-CelebiCryHeader: cry_header CRY_ENTEI, $14a, $111
-CryHeader252: cry_header CRY_NIDORAN_M, 0, 0
-CryHeader253: cry_header CRY_NIDORAN_M, 0, 0
-CryHeader254: cry_header CRY_NIDORAN_M, 0, 0
-CryHeader255: cry_header CRY_NIDORAN_M, 0, 0
-; f2d81
diff --git a/audio/cry_pointers.asm b/audio/cry_pointers.asm
index 12ea45325..9ea69efdd 100644
--- a/audio/cry_pointers.asm
+++ b/audio/cry_pointers.asm
@@ -1,4 +1,4 @@
-; e91b0
+Cries: ; e91b0
dba Cry_Nidoran_M
dba Cry_Nidoran_F
dba Cry_Slowpoke
diff --git a/audio/drumkits.asm b/audio/drumkits.asm
new file mode 100644
index 000000000..4e311a2e5
--- /dev/null
+++ b/audio/drumkits.asm
@@ -0,0 +1,301 @@
+Drumkits: ; e8e52
+ dw Drumkit0
+ dw Drumkit1
+ dw Drumkit2
+ dw Drumkit3
+ dw Drumkit4
+ dw Drumkit5
+; e8e5e
+
+Drumkit0: ; e8e5e
+ dw Drum00 ; rest
+ dw Snare1 ; c
+ dw Snare2 ; c#
+ dw Snare3 ; d
+ dw Snare4 ; d#
+ dw Drum05 ; e
+ dw Triangle1 ; f
+ dw Triangle2 ; f#
+ dw HiHat1 ; g
+ dw Snare5 ; g#
+ dw Snare6 ; a
+ dw Snare7 ; a#
+ dw HiHat2 ; b
+Drumkit1: ; e8e78
+ dw Drum00
+ dw HiHat1
+ dw Snare5
+ dw Snare6
+ dw Snare7
+ dw HiHat2
+ dw HiHat3
+ dw Snare8
+ dw Triangle3
+ dw Triangle4
+ dw Snare9
+ dw Snare10
+ dw Snare11
+Drumkit2: ; e8e92
+ dw Drum00
+ dw Snare1
+ dw Snare9
+ dw Snare10
+ dw Snare11
+ dw Drum05
+ dw Triangle1
+ dw Triangle2
+ dw HiHat1
+ dw Snare5
+ dw Snare6
+ dw Snare7
+ dw HiHat2
+Drumkit3: ; e8eac
+ dw Drum21
+ dw Snare12
+ dw Snare13
+ dw Snare14
+ dw Kick1
+ dw Triangle5
+ dw Drum20
+ dw Drum27
+ dw Drum28
+ dw Drum29
+ dw Drum21
+ dw Kick2
+ dw Crash2
+Drumkit4: ; e8ec6
+ dw Drum21
+ dw Drum20
+ dw Snare13
+ dw Snare14
+ dw Kick1
+ dw Drum33
+ dw Triangle5
+ dw Drum35
+ dw Drum31
+ dw Drum32
+ dw Drum36
+ dw Kick2
+ dw Crash1
+Drumkit5: ; e8ee0
+ dw Drum00
+ dw Snare9
+ dw Snare10
+ dw Snare11
+ dw Drum27
+ dw Drum28
+ dw Drum29
+ dw Drum05
+ dw Triangle1
+ dw Crash1
+ dw Snare14
+ dw Snare13
+ dw Kick2
+; e8efa
+
+Drum00: ; e8efa
+; unused
+ noise C#, 1, $11, $00
+ endchannel
+; e8efe
+
+Snare1: ; e8efe
+ noise C#, 1, $c1, $33
+ endchannel
+; e8f02
+
+Snare2: ; e8f02
+ noise C#, 1, $b1, $33
+ endchannel
+; e8f06
+
+Snare3: ; e8f06
+ noise C#, 1, $a1, $33
+ endchannel
+; e8f0a
+
+Snare4: ; e8f0a
+ noise C#, 1, $81, $33
+ endchannel
+; e8f0e
+
+Drum05: ; e8f0e
+ noise C#, 8, $84, $37
+ noise C#, 7, $84, $36
+ noise C#, 6, $83, $35
+ noise C#, 5, $83, $34
+ noise C#, 4, $82, $33
+ noise C#, 3, $81, $32
+ endchannel
+; e8f21
+
+Triangle1: ; e8f21
+ noise C#, 1, $51, $2a
+ endchannel
+; e8f25
+
+Triangle2: ; e8f25
+ noise C#, 2, $41, $2b
+ noise C#, 1, $61, $2a
+ endchannel
+; e8f2c
+
+HiHat1: ; e8f2c
+ noise C#, 1, $81, $10
+ endchannel
+; e8f30
+
+Snare5: ; e8f30
+ noise C#, 1, $82, $23
+ endchannel
+; e8f34
+
+Snare6: ; e8f34
+ noise C#, 1, $82, $25
+ endchannel
+; e8f38
+
+Snare7: ; e8f38
+ noise C#, 1, $82, $26
+ endchannel
+; e8f3c
+
+HiHat2: ; e8f3c
+ noise C#, 1, $a1, $10
+ endchannel
+; e8f40
+
+HiHat3: ; e8f40
+ noise C#, 1, $a2, $11
+ endchannel
+; e8f44
+
+Snare8: ; e8f44
+ noise C#, 1, $a2, $50
+ endchannel
+; e8f48
+
+Triangle3: ; e8f48
+ noise C#, 1, $a1, $18
+ noise C#, 1, $31, $33
+ endchannel
+; e8f4f
+
+Triangle4: ; e8f4f
+ noise C#, 3, $91, $28
+ noise C#, 1, $71, $18
+ endchannel
+; e8f56
+
+Snare9: ; e8f56
+ noise C#, 1, $91, $22
+ endchannel
+; e8f5a
+
+Snare10: ; e8f5a
+ noise C#, 1, $71, $22
+ endchannel
+; e8f5e
+
+Snare11: ; e8f5e
+ noise C#, 1, $61, $22
+ endchannel
+; e8f62
+
+Drum20: ; e8f62
+ noise C#, 1, $11, $11
+ endchannel
+; e8f66
+
+Drum21: ; e8f66
+ endchannel
+; e8f67
+
+Snare12: ; e8f67
+ noise C#, 1, $91, $33
+ endchannel
+; e8f6b
+
+Snare13: ; e8f6b
+ noise C#, 1, $51, $32
+ endchannel
+; e8f6f
+
+Snare14: ; e8f6f
+ noise C#, 1, $81, $31
+ endchannel
+; e8f73
+
+Kick1: ; e8f73
+ noise C#, 1, $88, $6b
+ noise C#, 1, $71, $00
+ endchannel
+; e8f7a
+
+Triangle5: ; e8f7a
+ noise D_, 1, $91, $18
+ endchannel
+; e8f7e
+
+Drum27: ; e8f7e
+ noise C#, 8, $92, $10
+ endchannel
+; e8f82
+
+Drum28: ; e8f82
+ noise D_, 4, $91, $00
+ noise D_, 4, $11, $00
+ endchannel
+; e8f89
+
+Drum29: ; e8f89
+ noise D_, 4, $91, $11
+ noise D_, 4, $11, $00
+ endchannel
+; e8f90
+
+Crash1: ; e8f90
+ noise D_, 4, $88, $15
+ noise C#, 1, $65, $12
+ endchannel
+; e8f97
+
+Drum31: ; e8f97
+ noise D_, 4, $51, $21
+ noise D_, 4, $11, $11
+ endchannel
+; e8f9e
+
+Drum32: ; e8f9e
+ noise D_, 4, $51, $50
+ noise D_, 4, $11, $11
+ endchannel
+; e8fa5
+
+Drum33: ; e8fa5
+ noise C#, 1, $a1, $31
+ endchannel
+; e8fa9
+
+Crash2: ; e8fa9
+ noise C#, 1, $84, $12
+ endchannel
+; e8fad
+
+Drum35: ; e8fad
+ noise D_, 4, $81, $00
+ noise D_, 4, $11, $00
+ endchannel
+; e8fb4
+
+Drum36: ; e8fb4
+ noise D_, 4, $81, $21
+ noise D_, 4, $11, $11
+ endchannel
+; e8fbb
+
+Kick2: ; e8fbb
+ noise C#, 1, $a8, $6b
+ noise C#, 1, $71, $00
+ endchannel
+; e8fc2
diff --git a/audio/engine.asm b/audio/engine.asm
index 57418246b..cd68bc96d 100644
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -22,7 +22,7 @@ _MapSetup_Sound_Off:: ; e8000
ld [hli], a ; ff26 ; music channels
ld hl, rNR10 ; sound channel registers
- ld e, $4 ; number of channels
+ ld e, NUM_MUSIC_CHANS
.clearsound
; sound channel 1 2 3 4
xor a
@@ -47,7 +47,7 @@ _MapSetup_Sound_Off:: ; e8000
ld a, e
or d
jr nz, .clearchannels
- ld a, $77 ; max
+ ld a, MAX_VOLUME
ld [Volume], a
call MusicOn
pop af
@@ -60,15 +60,15 @@ _MapSetup_Sound_Off:: ; e8000
MusicFadeRestart: ; e803d
; restart but keep the music id to fade in to
- ld a, [MusicFadeIDHi]
+ ld a, [MusicFadeID + 1]
push af
- ld a, [MusicFadeIDLo]
+ ld a, [MusicFadeID]
push af
call _MapSetup_Sound_Off
pop af
- ld [MusicFadeIDLo], a
+ ld [MusicFadeID], a
pop af
- ld [MusicFadeIDHi], a
+ ld [MusicFadeID + 1], a
ret
; e8051
@@ -151,7 +151,7 @@ _UpdateSound:: ; e805c
jr z, .next
; are we in a sfx channel right now?
ld a, [CurChannel]
- cp $4
+ cp CHAN5
jr nc, .next
; are any sfx channels active?
; if so, mute
@@ -174,7 +174,7 @@ _UpdateSound:: ; e805c
.next
; are we in a sfx channel right now?
ld a, [CurChannel]
- cp $4 ; sfx
+ cp CHAN5
jr nc, .sfx_channel
ld hl, Channel5Flags - Channel1
add hl, bc
@@ -245,7 +245,7 @@ UpdateChannels: ; e8125
.Channel1:
ld a, [Danger]
- bit 7, a
+ bit DANGER_ON_F, a
ret nz
.Channel5:
ld hl, Channel1NoteFlags - Channel1
@@ -537,9 +537,9 @@ _CheckSFX: ; e82e7
PlayDanger: ; e8307
ld a, [Danger]
- bit 7, a
+ bit DANGER_ON_F, a
ret z
- and $7f
+ and $ff - (1 << DANGER_ON_F)
ld d, a
call _CheckSFX
jr c, .asm_e8335
@@ -573,7 +573,7 @@ PlayDanger: ; e8307
jr c, .asm_e833c
xor a
.asm_e833c
- or $80
+ or 1 << DANGER_ON_F
ld [Danger], a
; is hw ch1 on?
ld a, [SoundOutput]
@@ -632,9 +632,9 @@ FadeMusic: ; e8358
ld [MusicFadeCount], a
; get SO1 volume
ld a, [Volume]
- and $7
+ and VOLUME_SO1_LEVEL
; which way are we fading?
- bit 7, d
+ bit MUSIC_FADE_IN_F, d
jr nz, .fadein
; fading out
and a
@@ -648,17 +648,17 @@ FadeMusic: ; e8358
ld [Volume], a
; did we just get on a bike?
ld a, [PlayerState]
- cp $1 ; bicycle
+ cp PLAYER_BIKE
jr z, .bicycle
push bc
; restart sound
call MusicFadeRestart
; get new song id
- ld a, [MusicFadeIDLo]
+ ld a, [MusicFadeID]
and a
jr z, .quit ; this assumes there are fewer than 256 songs!
ld e, a
- ld a, [MusicFadeIDHi]
+ ld a, [MusicFadeID + 1]
ld d, a
; load new song
call _PlayMusic
@@ -679,16 +679,16 @@ FadeMusic: ; e8358
xor a
ld [Volume], a
; get new song id
- ld a, [MusicFadeIDLo]
+ ld a, [MusicFadeID]
ld e, a
- ld a, [MusicFadeIDHi]
+ ld a, [MusicFadeID + 1]
ld d, a
; load new song
call _PlayMusic
pop bc
; fade in
ld hl, MusicFade
- set 7, [hl]
+ set MUSIC_FADE_IN_F, [hl]
ret
.fadein
@@ -744,7 +744,7 @@ LoadNote: ; e83d1
sub [hl]
ld e, a
ld a, d
- sbc a, 0
+ sbc 0
ld d, a
ld hl, Channel1PitchWheelTarget + 1 - Channel1
add hl, bc
@@ -766,7 +766,7 @@ LoadNote: ; e83d1
sub e
ld e, a
ld a, d
- sbc a, 0
+ sbc 0
ld d, a
; ????
ld hl, Channel1PitchWheelTarget + 1 - Channel1
@@ -793,7 +793,7 @@ LoadNote: ; e83d1
sub [hl]
ld e, a
ld a, d
- sbc a, 0
+ sbc 0
ld d, a
ld hl, Channel1PitchWheelTarget + 1 - Channel1
add hl, bc
@@ -1021,7 +1021,7 @@ ApplyPitchWheel: ; e84f9
sub e
ld e, a
ld a, d
- sbc a, 0
+ sbc 0
ld d, a
; [Channel*Field0x25] *= 2
; if rollover: Frequency -= 1
@@ -1031,10 +1031,10 @@ ApplyPitchWheel: ; e84f9
add a
ld [hl], a
ld a, e
- sbc a, 0
+ sbc 0
ld e, a
ld a, d
- sbc a, 0
+ sbc 0
ld d, a
; Compare the dw at [Channel*PitchWheelTarget] to de.
; If frequency is lower, we're finished.
@@ -1223,7 +1223,7 @@ ParseMusic: ; e85e1
bit SOUND_SUBROUTINE, [hl] ; in a subroutine?
jr nz, .readcommand ; execute
ld a, [CurChannel]
- cp $4 ; channels 0-3?
+ cp CHAN5
jr nc, .chan_5to8
; ????
ld hl, Channel5Flags - Channel1
@@ -1237,7 +1237,7 @@ ParseMusic: ; e85e1
call nz, RestoreVolume
; end music
ld a, [CurChannel]
- cp $4 ; channel 5?
+ cp CHAN5
jr nz, .ok
; ????
xor a
@@ -1266,7 +1266,7 @@ ParseMusic: ; e85e1
RestoreVolume: ; e8679
; ch5 only
ld a, [CurChannel]
- cp $4
+ cp CHAN5
ret nz
xor a
ld hl, Channel6CryPitch
@@ -1364,9 +1364,9 @@ GetNoiseSample: ; e86c5
add hl, de
; load sample pointer into NoiseSampleAddress
ld a, [hli]
- ld [NoiseSampleAddressLo], a
+ ld [NoiseSampleAddress], a
ld a, [hl]
- ld [NoiseSampleAddressHi], a
+ ld [NoiseSampleAddress + 1], a
; clear ????
xor a
ld [wNoiseSampleDelay], a
@@ -1378,7 +1378,7 @@ ParseMusicCommand: ; e870f
; reload command
ld a, [CurMusicByte]
; get command #
- sub a, $d0 ; first command
+ sub $d0 ; first command
ld e, a
ld d, 0
; seek command pointer
@@ -1394,8 +1394,7 @@ ParseMusicCommand: ; e870f
; e8720
MusicCommands: ; e8720
-; pointer to each command in order
- ; octaves
+; entries correspond to macros/sound.asm enumeration
dw Music_Octave8 ; octave 8
dw Music_Octave7 ; octave 7
dw Music_Octave6 ; octave 6
@@ -1968,7 +1967,7 @@ Music_NoteType: ; e8963
ld [hl], a
ld a, [CurChannel]
and $3
- cp CHAN4 ; CHAN8 & $3
+ cp CHAN8 & $3
ret z
; intensity
call Music_Intensity
@@ -2063,7 +2062,7 @@ Music_StereoPanning: ; e89ba
; params: 1
; stereo on?
ld a, [Options]
- bit 5, a ; stereo
+ bit STEREO, a
jr nz, Music_Panning
; skip param
call GetMusicByte
@@ -2160,9 +2159,9 @@ Music_RestartChannel: ; e8a08
ld hl, Channel1MusicID - Channel1
add hl, bc
ld a, [hli]
- ld [MusicIDLo], a
+ ld [MusicID], a
ld a, [hl]
- ld [MusicIDHi], a
+ ld [MusicID + 1], a
; update music bank
ld hl, Channel1MusicBank - Channel1
add hl, bc
@@ -2437,7 +2436,7 @@ _PlayMusic:: ; e8b30
ld hl, MusicID
ld [hl], e ; song number
inc hl
- ld [hl], d ; MusicIDHi (always $)
+ ld [hl], d ; (always 0)
ld hl, Music
add hl, de ; three
add hl, de ; byte
@@ -2466,8 +2465,8 @@ _PlayMusic:: ; e8b30
ld [Channel2JumpCondition], a
ld [Channel3JumpCondition], a
ld [Channel4JumpCondition], a
- ld [NoiseSampleAddressLo], a
- ld [NoiseSampleAddressHi], a
+ ld [NoiseSampleAddress], a
+ ld [NoiseSampleAddress + 1], a
ld [wNoiseSampleDelay], a
ld [MusicNoiseSampleSet], a
call MusicOn
@@ -2552,7 +2551,7 @@ _PlayCryHeader:: ; e8b79
; This only applies in-battle.
ld a, [Options]
- bit 5, a ; stereo
+ bit STEREO, a
jr z, .next
; [Tracks] &= [CryTracks]
@@ -2577,7 +2576,7 @@ _PlayCryHeader:: ; e8b79
ld a, [Volume]
ld [LastVolume], a
- ld a, $77
+ ld a, MAX_VOLUME
ld [Volume], a
.end
@@ -2647,8 +2646,8 @@ _PlaySFX:: ; e8c04
ld a, $80
ld [rNR44], a ; restart sound (freq hi = 0)
xor a
- ld [NoiseSampleAddressLo], a
- ld [NoiseSampleAddressHi], a
+ ld [NoiseSampleAddress], a
+ ld [NoiseSampleAddress + 1], a
.chscleared
; start reading sfx header for # chs
ld hl, MusicID
@@ -2696,7 +2695,7 @@ PlayStereoSFX:: ; e8ca6
; standard procedure if stereo's off
ld a, [Options]
- bit 5, a
+ bit STEREO, a
jp z, _PlaySFX
; else, let's go ahead with this
@@ -2825,9 +2824,9 @@ LoadChannel: ; e8d1b
; load music id
ld hl, Channel1MusicID - Channel1
add hl, bc
- ld a, [MusicIDLo]
+ ld a, [MusicID]
ld [hli], a
- ld a, [MusicIDHi]
+ ld a, [MusicID + 1]
ld [hl], a
; load music bank
ld hl, Channel1MusicBank - Channel1
@@ -2882,356 +2881,19 @@ LoadMusicByte:: ; e8d76
; e8d80
-FrequencyTable: ; e8d80
- dw 0 ; __
- dw $f82c ; C_
- dw $f89d ; C#
- dw $f907 ; D_
- dw $f96b ; D#
- dw $f9ca ; E_
- dw $fa23 ; F_
- dw $fa77 ; F#
- dw $fac7 ; G_
- dw $fb12 ; G#
- dw $fb58 ; A_
- dw $fb9b ; A#
- dw $fbda ; B_
- dw $fc16 ; C_
- dw $fc4e ; C#
- dw $fc83 ; D_
- dw $fcb5 ; D#
- dw $fce5 ; E_
- dw $fd11 ; F_
- dw $fd3b ; F#
- dw $fd63 ; G_
- dw $fd89 ; G#
- dw $fdac ; A_
- dw $fdcd ; A#
- dw $fded ; B_
-; e8db2
-
-WaveSamples: ; e8db2
- ; these are streams of 32 4-bit values used as wavepatterns
- ; nothing interesting here!
- dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1
- dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1
- dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1
- dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
- dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0
- dn 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 15, 15, 14, 14, 12, 12, 10, 10, 8, 8, 10, 10, 12, 12, 14, 14
- dn 0, 2, 4, 6, 8, 10, 12, 14, 12, 11, 10, 9, 8, 7, 6, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 1, 1
- dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14
- dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5
- dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1
-; e8e52
-
-Drumkits: ; e8e52
- dw Drumkit0
- dw Drumkit1
- dw Drumkit2
- dw Drumkit3
- dw Drumkit4
- dw Drumkit5
-; e8e5e
-
-Drumkit0: ; e8e5e
- dw Drum00 ; rest
- dw Snare1 ; c
- dw Snare2 ; c#
- dw Snare3 ; d
- dw Snare4 ; d#
- dw Drum05 ; e
- dw Triangle1 ; f
- dw Triangle2 ; f#
- dw HiHat1 ; g
- dw Snare5 ; g#
- dw Snare6 ; a
- dw Snare7 ; a#
- dw HiHat2 ; b
-Drumkit1: ; e8e78
- dw Drum00
- dw HiHat1
- dw Snare5
- dw Snare6
- dw Snare7
- dw HiHat2
- dw HiHat3
- dw Snare8
- dw Triangle3
- dw Triangle4
- dw Snare9
- dw Snare10
- dw Snare11
-Drumkit2: ; e8e92
- dw Drum00
- dw Snare1
- dw Snare9
- dw Snare10
- dw Snare11
- dw Drum05
- dw Triangle1
- dw Triangle2
- dw HiHat1
- dw Snare5
- dw Snare6
- dw Snare7
- dw HiHat2
-Drumkit3: ; e8eac
- dw Drum21
- dw Snare12
- dw Snare13
- dw Snare14
- dw Kick1
- dw Triangle5
- dw Drum20
- dw Drum27
- dw Drum28
- dw Drum29
- dw Drum21
- dw Kick2
- dw Crash2
-Drumkit4: ; e8ec6
- dw Drum21
- dw Drum20
- dw Snare13
- dw Snare14
- dw Kick1
- dw Drum33
- dw Triangle5
- dw Drum35
- dw Drum31
- dw Drum32
- dw Drum36
- dw Kick2
- dw Crash1
-Drumkit5: ; e8ee0
- dw Drum00
- dw Snare9
- dw Snare10
- dw Snare11
- dw Drum27
- dw Drum28
- dw Drum29
- dw Drum05
- dw Triangle1
- dw Crash1
- dw Snare14
- dw Snare13
- dw Kick2
-; e8efa
-
-Drum00: ; e8efa
-; unused
- noise C#, 1, $11, $00
- endchannel
-; e8efe
-
-Snare1: ; e8efe
- noise C#, 1, $c1, $33
- endchannel
-; e8f02
-
-Snare2: ; e8f02
- noise C#, 1, $b1, $33
- endchannel
-; e8f06
-
-Snare3: ; e8f06
- noise C#, 1, $a1, $33
- endchannel
-; e8f0a
-
-Snare4: ; e8f0a
- noise C#, 1, $81, $33
- endchannel
-; e8f0e
-
-Drum05: ; e8f0e
- noise C#, 8, $84, $37
- noise C#, 7, $84, $36
- noise C#, 6, $83, $35
- noise C#, 5, $83, $34
- noise C#, 4, $82, $33
- noise C#, 3, $81, $32
- endchannel
-; e8f21
-
-Triangle1: ; e8f21
- noise C#, 1, $51, $2a
- endchannel
-; e8f25
-
-Triangle2: ; e8f25
- noise C#, 2, $41, $2b
- noise C#, 1, $61, $2a
- endchannel
-; e8f2c
-
-HiHat1: ; e8f2c
- noise C#, 1, $81, $10
- endchannel
-; e8f30
-
-Snare5: ; e8f30
- noise C#, 1, $82, $23
- endchannel
-; e8f34
-
-Snare6: ; e8f34
- noise C#, 1, $82, $25
- endchannel
-; e8f38
-
-Snare7: ; e8f38
- noise C#, 1, $82, $26
- endchannel
-; e8f3c
-
-HiHat2: ; e8f3c
- noise C#, 1, $a1, $10
- endchannel
-; e8f40
-
-HiHat3: ; e8f40
- noise C#, 1, $a2, $11
- endchannel
-; e8f44
-
-Snare8: ; e8f44
- noise C#, 1, $a2, $50
- endchannel
-; e8f48
-
-Triangle3: ; e8f48
- noise C#, 1, $a1, $18
- noise C#, 1, $31, $33
- endchannel
-; e8f4f
-
-Triangle4: ; e8f4f
- noise C#, 3, $91, $28
- noise C#, 1, $71, $18
- endchannel
-; e8f56
-
-Snare9: ; e8f56
- noise C#, 1, $91, $22
- endchannel
-; e8f5a
-
-Snare10: ; e8f5a
- noise C#, 1, $71, $22
- endchannel
-; e8f5e
-
-Snare11: ; e8f5e
- noise C#, 1, $61, $22
- endchannel
-; e8f62
-
-Drum20: ; e8f62
- noise C#, 1, $11, $11
- endchannel
-; e8f66
-
-Drum21: ; e8f66
- endchannel
-; e8f67
-
-Snare12: ; e8f67
- noise C#, 1, $91, $33
- endchannel
-; e8f6b
-
-Snare13: ; e8f6b
- noise C#, 1, $51, $32
- endchannel
-; e8f6f
-
-Snare14: ; e8f6f
- noise C#, 1, $81, $31
- endchannel
-; e8f73
-
-Kick1: ; e8f73
- noise C#, 1, $88, $6b
- noise C#, 1, $71, $00
- endchannel
-; e8f7a
-
-Triangle5: ; e8f7a
- noise D_, 1, $91, $18
- endchannel
-; e8f7e
-
-Drum27: ; e8f7e
- noise C#, 8, $92, $10
- endchannel
-; e8f82
-
-Drum28: ; e8f82
- noise D_, 4, $91, $00
- noise D_, 4, $11, $00
- endchannel
-; e8f89
-
-Drum29: ; e8f89
- noise D_, 4, $91, $11
- noise D_, 4, $11, $00
- endchannel
-; e8f90
-
-Crash1: ; e8f90
- noise D_, 4, $88, $15
- noise C#, 1, $65, $12
- endchannel
-; e8f97
-
-Drum31: ; e8f97
- noise D_, 4, $51, $21
- noise D_, 4, $11, $11
- endchannel
-; e8f9e
-
-Drum32: ; e8f9e
- noise D_, 4, $51, $50
- noise D_, 4, $11, $11
- endchannel
-; e8fa5
-
-Drum33: ; e8fa5
- noise C#, 1, $a1, $31
- endchannel
-; e8fa9
-
-Crash2: ; e8fa9
- noise C#, 1, $84, $12
- endchannel
-; e8fad
-
-Drum35: ; e8fad
- noise D_, 4, $81, $00
- noise D_, 4, $11, $00
- endchannel
-; e8fb4
-
-Drum36: ; e8fb4
- noise D_, 4, $81, $21
- noise D_, 4, $11, $11
- endchannel
-; e8fbb
-
-Kick2: ; e8fbb
- noise C#, 1, $a8, $6b
- noise C#, 1, $71, $00
- endchannel
-; e8fc2
+
+INCLUDE "audio/notes.asm"
+
+INCLUDE "audio/wave_samples.asm"
+
+INCLUDE "audio/drumkits.asm"
+
GetLRTracks: ; e8fc2
; gets the default sound l/r channels
; stores mono/stereo table in hl
ld a, [Options]
- bit 5, a ; stereo
+ bit STEREO, a
; made redundant, could have had a purpose in gold
jr nz, .stereo
ld hl, MonoTracks
@@ -3279,7 +2941,7 @@ ClearChannels:: ; e8fe9
ld a, $80
ld [hli], a
ld hl, rNR10
- ld e, $4
+ ld e, NUM_MUSIC_CHANS
.loop
call ClearChannel
dec e
@@ -3306,3 +2968,24 @@ ClearChannel: ; e8ffe
ret
; e900a
+
+PlayTrainerEncounterMusic:: ; e900a
+; input: e = trainer type
+ ; turn fade off
+ xor a
+ ld [MusicFade], a
+ ; play nothing for one frame
+ push de
+ ld de, MUSIC_NONE
+ call PlayMusic
+ call DelayFrame
+ ; play new song
+ call MaxVolume
+ pop de
+ ld d, $00
+ ld hl, TrainerEncounterMusic
+ add hl, de
+ ld e, [hl]
+ call PlayMusic
+ ret
+; e9027
diff --git a/audio/music_pointers.asm b/audio/music_pointers.asm
index 5bc3b44be..eb6869896 100644
--- a/audio/music_pointers.asm
+++ b/audio/music_pointers.asm
@@ -1,6 +1,8 @@
; See song sections in audio.asm.
-; e906e
+Music: ; e906e
+; entries correspond to MUSIC_* constants
+
dba Music_Nothing ; 0xe91a3
dba Music_TitleScreen ; 0xeb808
dba Music_Route1 ; 0xec000
diff --git a/audio/notes.asm b/audio/notes.asm
new file mode 100644
index 000000000..543672a4a
--- /dev/null
+++ b/audio/notes.asm
@@ -0,0 +1,27 @@
+FrequencyTable: ; e8d80
+ dw 0 ; __
+ dw $f82c ; C_
+ dw $f89d ; C#
+ dw $f907 ; D_
+ dw $f96b ; D#
+ dw $f9ca ; E_
+ dw $fa23 ; F_
+ dw $fa77 ; F#
+ dw $fac7 ; G_
+ dw $fb12 ; G#
+ dw $fb58 ; A_
+ dw $fb9b ; A#
+ dw $fbda ; B_
+ dw $fc16 ; C_
+ dw $fc4e ; C#
+ dw $fc83 ; D_
+ dw $fcb5 ; D#
+ dw $fce5 ; E_
+ dw $fd11 ; F_
+ dw $fd3b ; F#
+ dw $fd63 ; G_
+ dw $fd89 ; G#
+ dw $fdac ; A_
+ dw $fdcd ; A#
+ dw $fded ; B_
+; e8db2
diff --git a/audio/sfx.asm b/audio/sfx.asm
index 0a13717e2..a47f521e0 100644
--- a/audio/sfx.asm
+++ b/audio/sfx.asm
@@ -968,14 +968,14 @@ Sfx_Fanfare2: ; f0d56
musicheader 1, 8, Sfx_Fanfare2_Ch8
; f0d5f
-UnknownSfx: ; f0d5f
- musicheader 4, 5, UnknownSfx_Ch5
- musicheader 1, 6, UnknownSfx_Ch6
- musicheader 1, 7, UnknownSfx_Ch7
- musicheader 1, 8, UnknownSfx_Ch8
+UnusedSfx: ; f0d5f
+ musicheader 4, 5, UnusedSfx_Ch5
+ musicheader 1, 6, UnusedSfx_Ch6
+ musicheader 1, 7, UnusedSfx_Ch7
+ musicheader 1, 8, UnusedSfx_Ch8
; f0d6b
-UnknownSfx_Ch5: ; f0d6b
+UnusedSfx_Ch5: ; f0d6b
togglesfx
tempo 124
volume $77
@@ -1000,7 +1000,7 @@ UnknownSfx_Ch5: ; f0d6b
endchannel
; f0d8a
-UnknownSfx_Ch6: ; f0d8a
+UnusedSfx_Ch6: ; f0d8a
togglesfx
vibrato $8, $27
dutycycle $2
@@ -1025,7 +1025,7 @@ UnknownSfx_Ch6: ; f0d8a
endchannel
; f0da6
-UnknownSfx_Ch7: ; f0da6
+UnusedSfx_Ch7: ; f0da6
togglesfx
notetype $c, $25
octave 4
@@ -1041,7 +1041,7 @@ UnknownSfx_Ch7: ; f0da6
endchannel
; f0db6
-UnknownSfx_Ch8: ; f0db6
+UnusedSfx_Ch8: ; f0db6
togglesfx
sfxtogglenoise $4
notetype $c
@@ -1211,16 +1211,16 @@ Sfx_3RdPlace_Ch7: ; f0e56
togglesfx
-Sfx_GetEggFromDaycareLady: ; f0e66
-Sfx_GetEggFromDaycareMan: ; f0e66
- musicheader 4, 5, Sfx_GetEggFromDaycareLady_Ch5
- musicheader 1, 6, Sfx_GetEggFromDaycareLady_Ch6
- musicheader 1, 7, Sfx_GetEggFromDaycareLady_Ch7
- musicheader 1, 8, Sfx_GetEggFromDaycareLady_Ch8
+Sfx_GetEggFromDayCareLady: ; f0e66
+Sfx_GetEggFromDayCareMan: ; f0e66
+ musicheader 4, 5, Sfx_GetEggFromDayCareLady_Ch5
+ musicheader 1, 6, Sfx_GetEggFromDayCareLady_Ch6
+ musicheader 1, 7, Sfx_GetEggFromDayCareLady_Ch7
+ musicheader 1, 8, Sfx_GetEggFromDayCareLady_Ch8
; f0e72
-Sfx_GetEggFromDaycareLady_Ch5: ; f0e72
-Sfx_GetEggFromDaycareMan_Ch5: ; f0e72
+Sfx_GetEggFromDayCareLady_Ch5: ; f0e72
+Sfx_GetEggFromDayCareMan_Ch5: ; f0e72
togglesfx
tempo 120
volume $77
@@ -1253,8 +1253,8 @@ Sfx_GetEggFromDaycareMan_Ch5: ; f0e72
togglesfx
-Sfx_GetEggFromDaycareLady_Ch6: ; f0e9b
-Sfx_GetEggFromDaycareMan_Ch6: ; f0e9b
+Sfx_GetEggFromDayCareLady_Ch6: ; f0e9b
+Sfx_GetEggFromDayCareMan_Ch6: ; f0e9b
togglesfx
vibrato $12, $34
dutycycle $3
@@ -1284,8 +1284,8 @@ Sfx_GetEggFromDaycareMan_Ch6: ; f0e9b
togglesfx
-Sfx_GetEggFromDaycareLady_Ch7: ; f0ebe
-Sfx_GetEggFromDaycareMan_Ch7: ; f0ebe
+Sfx_GetEggFromDayCareLady_Ch7: ; f0ebe
+Sfx_GetEggFromDayCareMan_Ch7: ; f0ebe
togglesfx
notetype $8, $25
note __, 2
@@ -1305,8 +1305,8 @@ Sfx_GetEggFromDaycareMan_Ch7: ; f0ebe
togglesfx
-Sfx_GetEggFromDaycareLady_Ch8: ; f0ed0
-Sfx_GetEggFromDaycareMan_Ch8: ; f0ed0
+Sfx_GetEggFromDayCareLady_Ch8: ; f0ed0
+Sfx_GetEggFromDayCareMan_Ch8: ; f0ed0
togglesfx
sfxtogglenoise $4
notetype $8
diff --git a/audio/sfx_pointers.asm b/audio/sfx_pointers.asm
index 270d4f94e..64c4108c8 100644
--- a/audio/sfx_pointers.asm
+++ b/audio/sfx_pointers.asm
@@ -1,4 +1,6 @@
-; e927c
+SFX: ; e927c
+; entries correspond to SFX_* constants
+
dba Sfx_DexFanfare5079
dba Sfx_Item
dba Sfx_CaughtMon
@@ -148,8 +150,8 @@
dba Sfx_Fanfare2
dba Sfx_RegisterPhoneNumber
dba Sfx_3RdPlace
- dba Sfx_GetEggFromDaycareMan
- dba Sfx_GetEggFromDaycareLady
+ dba Sfx_GetEggFromDayCareMan
+ dba Sfx_GetEggFromDayCareLady
dba Sfx_MoveDeleted
dba Sfx_2ndPlace
dba Sfx_1stPlace
diff --git a/audio/trainer_encounters.asm b/audio/trainer_encounters.asm
deleted file mode 100644
index e909c96e6..000000000
--- a/audio/trainer_encounters.asm
+++ /dev/null
@@ -1,96 +0,0 @@
-; Currently, must be in the same bank as the sound engine.
-
-PlayTrainerEncounterMusic:: ; e900a
-; input: e = trainer type
- ; turn fade off
- xor a
- ld [MusicFade], a
- ; play nothing for one frame
- push de
- ld de, 0 ; id: Music_Nothing
- call PlayMusic
- call DelayFrame
- ; play new song
- call MaxVolume
- pop de
- ld d, $00
- ld hl, TrainerEncounterMusic
- add hl, de
- ld e, [hl]
- call PlayMusic
- ret
-; e9027
-
-TrainerEncounterMusic: ; e9027
- db MUSIC_HIKER_ENCOUNTER
- db MUSIC_YOUNGSTER_ENCOUNTER ; falkner
- db MUSIC_LASS_ENCOUNTER ; whitney
- db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy
- db MUSIC_OFFICER_ENCOUNTER ; morty
- db MUSIC_OFFICER_ENCOUNTER ; pryce
- db MUSIC_LASS_ENCOUNTER ; jasmine
- db MUSIC_OFFICER_ENCOUNTER ; chuck
- db MUSIC_BEAUTY_ENCOUNTER ; clair
- db MUSIC_RIVAL_ENCOUNTER ; rival1
- db MUSIC_HIKER_ENCOUNTER ; pokemon_prof
- db MUSIC_HIKER_ENCOUNTER ; will
- db MUSIC_HIKER_ENCOUNTER ; cal
- db MUSIC_OFFICER_ENCOUNTER ; bruno
- db MUSIC_HIKER_ENCOUNTER ; karen
- db MUSIC_HIKER_ENCOUNTER ; koga
- db MUSIC_OFFICER_ENCOUNTER ; champion
- db MUSIC_YOUNGSTER_ENCOUNTER ; brock
- db MUSIC_LASS_ENCOUNTER ; misty
- db MUSIC_OFFICER_ENCOUNTER ; lt_surge
- db MUSIC_ROCKET_ENCOUNTER ; scientist
- db MUSIC_OFFICER_ENCOUNTER ; erika
- db MUSIC_YOUNGSTER_ENCOUNTER ; youngster
- db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy
- db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper
- db MUSIC_LASS_ENCOUNTER ; lass
- db MUSIC_LASS_ENCOUNTER ; janine
- db MUSIC_HIKER_ENCOUNTER ; cooltrainerm
- db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf
- db MUSIC_BEAUTY_ENCOUNTER ; beauty
- db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac
- db MUSIC_ROCKET_ENCOUNTER ; gruntm
- db MUSIC_HIKER_ENCOUNTER ; gentleman
- db MUSIC_BEAUTY_ENCOUNTER ; skier
- db MUSIC_BEAUTY_ENCOUNTER ; teacher
- db MUSIC_BEAUTY_ENCOUNTER ; sabrina
- db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher
- db MUSIC_HIKER_ENCOUNTER ; fisher
- db MUSIC_HIKER_ENCOUNTER ; swimmerm
- db MUSIC_BEAUTY_ENCOUNTER ; swimmerf
- db MUSIC_HIKER_ENCOUNTER ; sailor
- db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd
- db MUSIC_RIVAL_ENCOUNTER ; rival2
- db MUSIC_HIKER_ENCOUNTER ; guitarist
- db MUSIC_HIKER_ENCOUNTER ; hiker
- db MUSIC_HIKER_ENCOUNTER ; biker
- db MUSIC_OFFICER_ENCOUNTER ; blaine
- db MUSIC_POKEMANIAC_ENCOUNTER ; burglar
- db MUSIC_HIKER_ENCOUNTER ; firebreather
- db MUSIC_POKEMANIAC_ENCOUNTER ; juggler
- db MUSIC_HIKER_ENCOUNTER ; blackbelt_t
- db MUSIC_ROCKET_ENCOUNTER ; executivem
- db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t
- db MUSIC_LASS_ENCOUNTER ; picnicker
- db MUSIC_YOUNGSTER_ENCOUNTER ; camper
- db MUSIC_ROCKET_ENCOUNTER ; executivef
- db MUSIC_SAGE_ENCOUNTER ; sage
- db MUSIC_SAGE_ENCOUNTER ; medium
- db MUSIC_HIKER_ENCOUNTER ; boarder
- db MUSIC_HIKER_ENCOUNTER ; pokefanm
- db MUSIC_KIMONO_ENCOUNTER ; kimono_girl
- db MUSIC_LASS_ENCOUNTER ; twins
- db MUSIC_BEAUTY_ENCOUNTER ; pokefanf
- db MUSIC_HIKER_ENCOUNTER ; red
- db MUSIC_RIVAL_ENCOUNTER ; blue
- db MUSIC_HIKER_ENCOUNTER ; officer
- db MUSIC_ROCKET_ENCOUNTER ; gruntf
- db MUSIC_HIKER_ENCOUNTER ; mysticalman
- db MUSIC_HIKER_ENCOUNTER
- db MUSIC_HIKER_ENCOUNTER
- db MUSIC_HIKER_ENCOUNTER
-; e906e
diff --git a/audio/wave_samples.asm b/audio/wave_samples.asm
new file mode 100644
index 000000000..8c5bafa75
--- /dev/null
+++ b/audio/wave_samples.asm
@@ -0,0 +1,14 @@
+WaveSamples: ; e8db2
+ ; these are streams of 32 4-bit values used as wavepatterns
+ ; nothing interesting here!
+ dn 0, 2, 4, 6, 8, 10, 12, 14, 15, 15, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5, 4, 4, 3, 3, 2, 2, 1, 1
+ dn 0, 2, 4, 6, 8, 10, 12, 14, 14, 15, 15, 15, 15, 14, 14, 14, 13, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 2, 1, 1
+ dn 1, 3, 6, 9, 11, 13, 14, 14, 14, 14, 15, 15, 15, 15, 14, 13, 13, 14, 15, 15, 15, 15, 14, 14, 14, 14, 13, 11, 9, 6, 3, 1
+ dn 0, 2, 4, 6, 8, 10, 12, 13, 14, 15, 15, 14, 13, 14, 15, 15, 14, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0
+ dn 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14, 14, 15, 7, 7, 15, 14, 14, 13, 12, 10, 8, 7, 6, 5, 4, 3, 2, 1, 0
+ dn 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 3, 3, 2, 2, 1, 1, 15, 15, 14, 14, 12, 12, 10, 10, 8, 8, 10, 10, 12, 12, 14, 14
+ dn 0, 2, 4, 6, 8, 10, 12, 14, 12, 11, 10, 9, 8, 7, 6, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 1, 1
+ dn 12, 0, 10, 9, 8, 7, 15, 5, 15, 15, 15, 14, 14, 13, 13, 12, 4, 4, 3, 3, 2, 2, 15, 1, 0, 2, 4, 6, 8, 10, 12, 14
+ dn 4, 4, 3, 3, 2, 2, 1, 15, 0, 0, 4, 6, 8, 10, 12, 14, 15, 8, 15, 14, 14, 13, 13, 12, 12, 11, 10, 9, 8, 7, 6, 5
+ dn 1, 1, 0, 0, 0, 0, 0, 8, 0, 0, 1, 3, 5, 7, 9, 10, 11, 4, 11, 10, 10, 9, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1
+; e8e52