diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/cries.asm | 6 | ||||
-rw-r--r-- | audio/cry_headers.asm | 258 | ||||
-rw-r--r-- | audio/cry_pointers.asm | 2 | ||||
-rw-r--r-- | audio/drumkits.asm | 301 | ||||
-rw-r--r-- | audio/engine.asm | 471 | ||||
-rw-r--r-- | audio/music_pointers.asm | 4 | ||||
-rw-r--r-- | audio/notes.asm | 27 | ||||
-rw-r--r-- | audio/sfx.asm | 46 | ||||
-rw-r--r-- | audio/sfx_pointers.asm | 8 | ||||
-rw-r--r-- | audio/trainer_encounters.asm | 96 | ||||
-rw-r--r-- | audio/wave_samples.asm | 14 |
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 |