summaryrefslogtreecommitdiff
path: root/macros/sound.asm
blob: ae1c192fb1d93b4be71541fcf10d4a3ff563bd13 (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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
note: MACRO
	dn (\1), (\2) - 1
	ENDM

sound: macro
	db \1 ; duration
	db \2 ; intensity
	dw \3 ; frequency
	endm

noise: macro
	db \1 ; duration
	db \2 ; intensity
	db \3 ; frequency
	endm

; pitch
__ EQU 0
C_ EQU 1
C# EQU 2
D_ EQU 3
D# EQU 4
E_ EQU 5
F_ EQU 6
F# EQU 7
G_ EQU 8
G# EQU 9
A_ EQU 10
A# EQU 11
B_ EQU 12


octave: macro
	db $d8 - (\1)
	endm

notetype: macro
	db $d8
	db \1 ; note_length
	if _NARG >= 2
	db \2 ; intensity
	endc
	endm

forceoctave: macro
	db $d9
	db \1 ; octave
	endm

tempo: macro
	db $da
	bigdw \1 ; tempo
	endm

dutycycle: macro
	db $db
	db \1 ; duty_cycle
	endm

intensity: macro
	db $dc
	db \1 ; intensity
	endm

soundinput: macro
	db $dd
	db \1 ; input
	endm

unknownmusic0xde: macro
	db $de
	db \1 ; unknown
	endm

togglesfx: macro
	db $df
	endm

unknownmusic0xe0: macro
	db $e0
	db \1 ; unknown
	db \2 ; unknown
	endm

vibrato: macro
	db $e1
	db \1 ; delay
	db \2 ; extent
	endm

unknownmusic0xe2: macro
	db $e2
	db \1 ; unknown
	endm

togglenoise: macro
	db $e3
	db \1 ; id
	endm

panning: macro
	db $e4
	db \1 ; tracks
	endm

volume: macro
	db $e5
	db \1 ; volume
	endm

tone: macro
	db $e6
	bigdw \1 ; tone
	endm

unknownmusic0xe7: macro
	db $e7
	db \1 ; unknown
	endm

unknownmusic0xe8: macro
	db $e8
	db \1 ; unknown
	endm

globaltempo: macro
	db $e9
	bigdw \1 ; value
	endm

restartchannel: macro
	db $ea
	dw \1 ; address
	endm

newsong: macro
	db $eb
	bigdw \1 ; id
	endm

sfxpriorityon: macro
	db $ec
	endm

sfxpriorityoff: macro
	db $ed
	endm

unknownmusic0xee: macro
	db $ee
	dw \1 ; address
	endm

stereopanning: macro
	db $ef
	db \1 ; tracks
	endm

sfxtogglenoise: macro
	db $f0
	db \1 ; id
	endm

music0xf1: macro
	db $f1
	endm

music0xf2: macro
	db $f2
	endm

music0xf3: macro
	db $f3
	endm

music0xf4: macro
	db $f4
	endm

music0xf5: macro
	db $f5
	endm

music0xf6: macro
	db $f6
	endm

music0xf7: macro
	db $f7
	endm

music0xf8: macro
	db $f8
	endm

unknownmusic0xf9: macro
	db $f9
	endm

setcondition: macro
	db $fa
	db \1 ; condition
	endm

jumpif: macro
	db $fb
	db \1 ; condition
	dw \2 ; address
	endm

jumpchannel: macro
	db $fc
	dw \1 ; address
	endm

loopchannel: macro
	db $fd
	db \1 ; count
	dw \2 ; address
	endm

callchannel: macro
	db $fe
	dw \1 ; address
	endm

endchannel: macro
	db $ff
	endm