; pitch ; FrequencyTable indexes (see audio/notes.asm) const_def 1 const C_ ; 1 const C# ; 2 const D_ ; 3 const D# ; 4 const E_ ; 5 const F_ ; 6 const F# ; 7 const G_ ; 8 const G# ; 9 const A_ ; a const A# ; b const B_ ; c DEF NUM_NOTES EQU const_value - 1 ; channel ; ChannelPointers indexes (see audio/engine.asm) const_def const CHAN1 ; 0 const CHAN2 ; 1 const CHAN3 ; 2 const CHAN4 ; 3 DEF NUM_MUSIC_CHANS EQU const_value const CHAN5 ; 4 const CHAN6 ; 5 const CHAN7 ; 6 const CHAN8 ; 7 DEF NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS DEF NUM_CHANNELS EQU const_value ; channel_struct members (see macros/ram.asm) rsreset DEF CHANNEL_MUSIC_ID rw DEF CHANNEL_MUSIC_BANK rb DEF CHANNEL_FLAGS1 rb DEF CHANNEL_FLAGS2 rb DEF CHANNEL_FLAGS3 rb DEF CHANNEL_MUSIC_ADDRESS rw DEF CHANNEL_LAST_MUSIC_ADDRESS rw rb_skip 2 DEF CHANNEL_NOTE_FLAGS rb DEF CHANNEL_CONDITION rb DEF CHANNEL_DUTY_CYCLE rb DEF CHANNEL_VOLUME_ENVELOPE rb DEF CHANNEL_FREQUENCY rw DEF CHANNEL_PITCH rb DEF CHANNEL_OCTAVE rb DEF CHANNEL_TRANSPOSITION rb DEF CHANNEL_NOTE_DURATION rb DEF CHANNEL_FIELD16 rb rb_skip DEF CHANNEL_LOOP_COUNT rb DEF CHANNEL_TEMPO rw DEF CHANNEL_TRACKS rb DEF CHANNEL_DUTY_CYCLE_PATTERN rb DEF CHANNEL_VIBRATO_DELAY_COUNT rb DEF CHANNEL_VIBRATO_DELAY rb DEF CHANNEL_VIBRATO_EXTENT rb DEF CHANNEL_VIBRATO_RATE rb DEF CHANNEL_PITCH_SLIDE_TARGET rw DEF CHANNEL_PITCH_SLIDE_AMOUNT rb DEF CHANNEL_PITCH_SLIDE_AMOUNT_FRACTION rb DEF CHANNEL_FIELD25 rb rb_skip DEF CHANNEL_PITCH_OFFSET rw DEF CHANNEL_FIELD29 rb DEF CHANNEL_FIELD2A rw DEF CHANNEL_FIELD2C rb DEF CHANNEL_NOTE_LENGTH rb DEF CHANNEL_FIELD2E rb DEF CHANNEL_FIELD2F rb DEF CHANNEL_FIELD30 rb rb_skip DEF CHANNEL_STRUCT_LENGTH EQU _RS DEF NOISE_CHAN_F EQU 2 ; bit set in CHAN5-CHAN7 ; Flags1 const_def const SOUND_CHANNEL_ON ; 0 const SOUND_SUBROUTINE ; 1 const SOUND_LOOPING ; 2 const SOUND_SFX ; 3 const SOUND_NOISE ; 4 const SOUND_CRY ; 5 ; Flags2 const_def const SOUND_VIBRATO ; 0 const SOUND_PITCH_SLIDE ; 1 const SOUND_DUTY_LOOP ; 2 const SOUND_UNKN_0B ; 3 const SOUND_PITCH_OFFSET ; 4 const SOUND_UNKN_0D ; 5 const SOUND_UNKN_0E ; 6 const SOUND_UNKN_0F ; 7 ; Flags3 const_def const SOUND_VIBRATO_DIR ; 0 const SOUND_PITCH_SLIDE_DIR ; 1 ; NoteFlags const_def const NOTE_DUTY_OVERRIDE ; 0 const NOTE_FREQ_OVERRIDE ; 1 const NOTE_UNUSED ; 2 const NOTE_PITCH_SWEEP ; 3 const NOTE_NOISE_SAMPLING ; 4 const NOTE_REST ; 5 const NOTE_VIBRATO_OVERRIDE ; 6 ; wVolume DEF VOLUME_SO1_F EQU 3 DEF VOLUME_SO2_F EQU 7 DEF VOLUME_SO1_LEVEL EQU %00000111 DEF VOLUME_SO2_LEVEL EQU %01110000 DEF MAX_VOLUME EQU $77 ; wSoundInput DEF SOUND_INPUT_CH1_F EQU 0 DEF SOUND_INPUT_CH2_F EQU 1 DEF SOUND_INPUT_CH3_F EQU 2 DEF SOUND_INPUT_CH4_F EQU 3 DEF SOUND_INPUT_GLOBAL_F EQU 7 ; wLowHealthAlarm DEF DANGER_PITCH_F EQU 4 DEF DANGER_ON_F EQU 7 ; wMusicFade DEF MUSIC_FADE_IN_F EQU 7