summaryrefslogtreecommitdiff
path: root/constants/audio_constants.asm
blob: 1d092edf559a8d73c1dc9e7492fd10338d418828 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
; pitch
; FrequencyTable indexes (see audio/notes.asm)
	const_def
	const __ ; 0
	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
	const CC ; d (used for pitchoffset)

; channel
; ChannelPointers indexes (see audio/engine.asm)
	const_def
	const CHAN1 ; 0
	const CHAN2 ; 1
	const CHAN3 ; 2
	const CHAN4 ; 3
NUM_MUSIC_CHANS EQU const_value
	const CHAN5 ; 4
	const CHAN6 ; 5
	const CHAN7 ; 6
	const CHAN8 ; 7
NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS
NUM_CHANNELS EQU const_value

; channel_struct members (see macros/wram.asm)
CHANNEL_MUSIC_ID                    EQUS "(wChannel1MusicID - wChannel1)"
CHANNEL_MUSIC_BANK                  EQUS "(wChannel1MusicBank - wChannel1)"
CHANNEL_FLAGS1                      EQUS "(wChannel1Flags1 - wChannel1)"
CHANNEL_FLAGS2                      EQUS "(wChannel1Flags2 - wChannel1)"
CHANNEL_FLAGS3                      EQUS "(wChannel1Flags3 - wChannel1)"
CHANNEL_MUSIC_ADDRESS               EQUS "(wChannel1MusicAddress - wChannel1)"
CHANNEL_LAST_MUSIC_ADDRESS          EQUS "(wChannel1LastMusicAddress - wChannel1)"
CHANNEL_NOTE_FLAGS                  EQUS "(wChannel1NoteFlags - wChannel1)"
CHANNEL_CONDITION                   EQUS "(wChannel1Condition - wChannel1)"
CHANNEL_DUTY_CYCLE                  EQUS "(wChannel1DutyCycle - wChannel1)"
CHANNEL_INTENSITY                   EQUS "(wChannel1Intensity - wChannel1)"
CHANNEL_FREQUENCY                   EQUS "(wChannel1Frequency - wChannel1)"
CHANNEL_PITCH                       EQUS "(wChannel1Pitch - wChannel1)"
CHANNEL_OCTAVE                      EQUS "(wChannel1Octave - wChannel1)"
CHANNEL_PITCH_OFFSET                EQUS "(wChannel1PitchOffset - wChannel1)"
CHANNEL_NOTE_DURATION               EQUS "(wChannel1NoteDuration - wChannel1)"
CHANNEL_FIELD16                     EQUS "(wChannel1Field16 - wChannel1)"
CHANNEL_LOOP_COUNT                  EQUS "(wChannel1LoopCount - wChannel1)"
CHANNEL_TEMPO                       EQUS "(wChannel1Tempo - wChannel1)"
CHANNEL_TRACKS                      EQUS "(wChannel1Tracks - wChannel1)"
CHANNEL_SFX_DUTY_LOOP               EQUS "(wChannel1SFXDutyLoop - wChannel1)"
CHANNEL_VIBRATO_DELAY_COUNT         EQUS "(wChannel1VibratoDelayCount - wChannel1)"
CHANNEL_VIBRATO_DELAY               EQUS "(wChannel1VibratoDelay - wChannel1)"
CHANNEL_VIBRATO_EXTENT              EQUS "(wChannel1VibratoExtent - wChannel1)"
CHANNEL_VIBRATO_RATE                EQUS "(wChannel1VibratoRate - wChannel1)"
CHANNEL_PITCH_WHEEL_TARGET          EQUS "(wChannel1PitchWheelTarget - wChannel1)"
CHANNEL_PITCH_WHEEL_AMOUNT          EQUS "(wChannel1PitchWheelAmount - wChannel1)"
CHANNEL_PITCH_WHEEL_AMOUNT_FRACTION EQUS "(wChannel1PitchWheelAmountFraction - wChannel1)"
CHANNEL_FIELD25                     EQUS "(wChannel1Field25 - wChannel1)"
CHANNEL_CRY_PITCH                   EQUS "(wChannel1CryPitch - wChannel1)"
CHANNEL_FIELD29                     EQUS "(wChannel1Field29 - wChannel1)"
CHANNEL_FIELD2A                     EQUS "(wChannel1Field2a - wChannel1)"
CHANNEL_FIELD2C                     EQUS "(wChannel1Field2c - wChannel1)"
CHANNEL_NOTE_LENGTH                 EQUS "(wChannel1NoteLength - wChannel1)"
CHANNEL_FIELD2E                     EQUS "(wChannel1Field2e - wChannel1)"
CHANNEL_FIELD2F                     EQUS "(wChannel1Field2f - wChannel1)"
CHANNEL_FIELD30                     EQUS "(wChannel1Field30 - wChannel1)"
CHANNEL_STRUCT_LENGTH               EQUS "(wChannel2 - wChannel1)"

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_REST       ; 5

; Flags2
	const_def
	const SOUND_VIBRATO     ; 0
	const SOUND_PITCH_WHEEL ; 1
	const SOUND_DUTY        ; 2
	const SOUND_UNKN_0B     ; 3
	const SOUND_CRY_PITCH   ; 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_WHEEL_DIR ; 1

; NoteFlags
	const_def
	const NOTE_DUTY_OVERRIDE    ; 0
	const NOTE_FREQ_OVERRIDE    ; 1
	const NOTE_UNUSED           ; 2
	const NOTE_UNKN_3           ; 3
	const NOTE_NOISE_SAMPLING   ; 4
	const NOTE_REST             ; 5
	const NOTE_VIBRATO_OVERRIDE ; 6

; wVolume
VOLUME_SO1_F     EQU 3
VOLUME_SO2_F     EQU 7
VOLUME_SO1_LEVEL EQU %00000111
VOLUME_SO2_LEVEL EQU %01110000
MAX_VOLUME       EQU $77

; wSoundInput
SOUND_INPUT_CH1_F    EQU 0
SOUND_INPUT_CH2_F    EQU 1
SOUND_INPUT_CH3_F    EQU 2
SOUND_INPUT_CH4_F    EQU 3
SOUND_INPUT_GLOBAL_F EQU 7

; wLowHealthAlarm
DANGER_PITCH_F EQU 4
DANGER_ON_F    EQU 7

; wMusicFade
MUSIC_FADE_IN_F EQU 7