kep-hack/constants/music_constants.asm
dannye 87eed68710 Insert Crystal audio engine and music
most credit goes to Sanqui
2017-05-07 15:30:08 -05:00

217 lines
4.9 KiB
NASM

; HW sound channel register base addresses
HW_CH1_BASE EQU (rNR10 % $100)
HW_CH2_BASE EQU ((rNR21 % $100) - 1)
HW_CH3_BASE EQU (rNR30 % $100)
HW_CH4_BASE EQU ((rNR41 % $100) - 1)
; HW sound channel enable bit masks
HW_CH1_ENABLE_MASK EQU %00010001
HW_CH2_ENABLE_MASK EQU %00100010
HW_CH3_ENABLE_MASK EQU %01000100
HW_CH4_ENABLE_MASK EQU %10001000
; HW sound channel disable bit masks
HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff)
HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff)
HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff)
HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff)
REG_DUTY_SOUND_LEN EQU 1
REG_VOLUME_ENVELOPE EQU 2
REG_FREQUENCY_LO EQU 3
MAX_SFX_ID EQU $B9
CRY_SFX_START EQU $14
CRY_SFX_END EQU $86
; wChannelFlags1 constants
BIT_PERFECT_PITCH EQU 0 ; controlled by toggleperfectpitch command
BIT_CHANNEL_CALL EQU 1 ; if in channel call
BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel
BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles)
BIT_PITCH_BEND_ON EQU 4 ; if pitch bend is active
BIT_PITCH_BEND_DECREASING EQU 5 ; if the pitch bend frequency is decreasing (instead of increasing)
BIT_ROTATE_DUTY EQU 6 ; if rotating duty
; wChannelFlags2 constant (only has one flag)
BIT_EXECUTE_MUSIC EQU 0 ; if in execute music
; Song ids are calculated by address to save space.
;music_const: MACRO
;\1 EQUS "RB(\2)"
;ENDM
const_value = 1
const MUSIC_PALLET_TOWN
const MUSIC_POKECENTER
const MUSIC_GYM
const MUSIC_CITIES1
const MUSIC_CITIES2
const MUSIC_CELADON
const MUSIC_CINNABAR
const MUSIC_VERMILION
const MUSIC_LAVENDER
const MUSIC_SS_ANNE
const MUSIC_MEET_PROF_OAK
const MUSIC_MEET_RIVAL
const MUSIC_MUSEUM_GUY
const MUSIC_SAFARI_ZONE
const MUSIC_PKMN_HEALED
const MUSIC_ROUTES1
const MUSIC_ROUTES2
const MUSIC_ROUTES3
const MUSIC_ROUTES4
const MUSIC_INDIGO_PLATEAU
const MUSIC_GYM_LEADER_BATTLE
const MUSIC_TRAINER_BATTLE
const MUSIC_WILD_BATTLE
const MUSIC_FINAL_BATTLE
const MUSIC_DEFEATED_TRAINER
const MUSIC_DEFEATED_WILD_MON
const MUSIC_DEFEATED_GYM_LEADER
const MUSIC_TITLE_SCREEN
const MUSIC_CREDITS
const MUSIC_HALL_OF_FAME
const MUSIC_OAKS_LAB
const MUSIC_JIGGLYPUFF_SONG
const MUSIC_BIKE_RIDING
const MUSIC_SURFING
const MUSIC_GAME_CORNER
const MUSIC_INTRO_BATTLE
const MUSIC_DUNGEON1
const MUSIC_DUNGEON2
const MUSIC_DUNGEON3
const MUSIC_CINNABAR_MANSION
const MUSIC_POKEMON_TOWER
const MUSIC_SILPH_CO
const MUSIC_MEET_EVIL_TRAINER
const MUSIC_MEET_FEMALE_TRAINER
const MUSIC_MEET_MALE_TRAINER
const_value = 1
; AUDIO_1 AUDIO_3
const SFX_GET_ITEM_1
; AUDIO_1 AUDIO_2 AUDIO_3
const SFX_GET_ITEM_2
const SFX_TINK
const SFX_HEAL_HP
const SFX_HEAL_AILMENT
const SFX_START_MENU
const SFX_PRESS_AB
; AUDIO_1 AUDIO_3
const SFX_POKEDEX_RATING
const SFX_GET_KEY_ITEM
const SFX_POISONED
const SFX_TRADE_MACHINE
const SFX_TURN_ON_PC
const SFX_TURN_OFF_PC
const SFX_ENTER_PC
const SFX_SHRINK
const SFX_SWITCH
const SFX_HEALING_MACHINE
const SFX_TELEPORT_EXIT_1
const SFX_TELEPORT_ENTER_1
const SFX_TELEPORT_EXIT_2
const SFX_LEDGE
const SFX_TELEPORT_ENTER_2
const SFX_FLY
const SFX_DENIED
const SFX_ARROW_TILES
const SFX_PUSH_BOULDER
const SFX_SS_ANNE_HORN
const SFX_WITHDRAW_DEPOSIT
const SFX_CUT
const SFX_GO_INSIDE
const SFX_SWAP
const SFX_59
const SFX_PURCHASE
const SFX_COLLISION
const SFX_GO_OUTSIDE
const SFX_SAVE
; AUDIO_1
const SFX_POKEFLUE
const SFX_SAFARI_ZONE_PA
; AUDIO_2
const SFX_LEVEL_UP
const SFX_BALL_TOSS
const SFX_BALL_POOF
const SFX_FAINT_THUD
const SFX_RUN
const SFX_DEX_PAGE_ADDED
const SFX_CAUGHT_MON
const SFX_PECK
const SFX_FAINT_FALL
const SFX_BATTLE_09
const SFX_POUND
const SFX_BATTLE_0B
const SFX_BATTLE_0C
const SFX_BATTLE_0D
const SFX_BATTLE_0E
const SFX_BATTLE_0F
const SFX_DAMAGE
const SFX_NOT_VERY_EFFECTIVE
const SFX_BATTLE_12
const SFX_BATTLE_13
const SFX_BATTLE_14
const SFX_VINE_WHIP
const SFX_BATTLE_16
const SFX_BATTLE_17
const SFX_BATTLE_18
const SFX_BATTLE_19
const SFX_SUPER_EFFECTIVE
const SFX_BATTLE_1B
const SFX_BATTLE_1C
const SFX_DOUBLESLAP
const SFX_BATTLE_1E
const SFX_HORN_DRILL
const SFX_BATTLE_20
const SFX_BATTLE_21
const SFX_BATTLE_22
const SFX_BATTLE_23
const SFX_BATTLE_24
const SFX_BATTLE_25
const SFX_BATTLE_26
const SFX_BATTLE_27
const SFX_BATTLE_28
const SFX_BATTLE_29
const SFX_BATTLE_2A
const SFX_BATTLE_2B
const SFX_BATTLE_2C
const SFX_PSYBEAM
const SFX_BATTLE_2E
const SFX_BATTLE_2F
const SFX_PSYCHIC_M
const SFX_BATTLE_31
const SFX_BATTLE_32
const SFX_BATTLE_33
const SFX_BATTLE_34
const SFX_BATTLE_35
const SFX_BATTLE_36
const SFX_SILPH_SCOPE
; AUDIO_3
const SFX_INTRO_LUNGE
const SFX_INTRO_HIP
const SFX_INTRO_HOP
const SFX_INTRO_RAISE
const SFX_INTRO_CRASH
const SFX_INTRO_WHOOSH
const SFX_SLOTS_STOP_WHEEL
const SFX_SLOTS_REWARD
const SFX_SLOTS_NEW_SPIN
const SFX_SHOOTING_STAR
const GSSFX_NOT_VERY_EFFECTIVE
const GSSFX_DAMAGE
const GSSFX_SUPER_EFFECTIVE