note: MACRO
dn (\1), (\2) - 1
ENDM
sound: macro
db \1 ; duration
db \2 ; intensity
dw \3 ; frequency
endm
noise: macro
db \3 ; frequency
; 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)
notetype: macro
db $d8
db \1 ; note_length
if _NARG >= 2
endc
forceoctave: macro
db $d9
db \1 ; octave
tempo: macro
db $da
bigdw \1 ; tempo
dutycycle: macro
db $db
db \1 ; duty_cycle
intensity: macro
db $dc
db \1 ; intensity
soundinput: macro
db $dd
db \1 ; input
unknownmusic0xde: macro
db $de
db \1 ; unknown
togglesfx: macro
db $df
unknownmusic0xe0: macro
db $e0
db \2 ; unknown
vibrato: macro
db $e1
db \1 ; delay
db \2 ; extent
unknownmusic0xe2: macro
db $e2
togglenoise: macro
db $e3
db \1 ; id
panning: macro
db $e4
db \1 ; tracks
volume: macro
db $e5
db \1 ; volume
tone: macro
db $e6
bigdw \1 ; tone
unknownmusic0xe7: macro
db $e7
unknownmusic0xe8: macro
db $e8
globaltempo: macro
db $e9
bigdw \1 ; value
restartchannel: macro
db $ea
dw \1 ; address
newsong: macro
db $eb
bigdw \1 ; id
sfxpriorityon: macro
db $ec
sfxpriorityoff: macro
db $ed
unknownmusic0xee: macro
db $ee
stereopanning: macro
db $ef
sfxtogglenoise: macro
db $f0
music0xf1: macro
db $f1
music0xf2: macro
db $f2
music0xf3: macro
db $f3
music0xf4: macro
db $f4
music0xf5: macro
db $f5
music0xf6: macro
db $f6
music0xf7: macro
db $f7
music0xf8: macro
db $f8
unknownmusic0xf9: macro
db $f9
setcondition: macro
db $fa
db \1 ; condition
jumpif: macro
db $fb
dw \2 ; address
jumpchannel: macro
db $fc
loopchannel: macro
db $fd
db \1 ; count
callchannel: macro
db $fe
endchannel: macro
db $ff