2016-07-31 18:04:04 +00:00
|
|
|
|
|
|
|
StopAllMusic: MACRO
|
|
|
|
ld a, $ff
|
|
|
|
call PlaySound
|
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
Ch1 EQU 0
|
|
|
|
Ch2 EQU 1
|
|
|
|
Ch3 EQU 2
|
|
|
|
Ch4 EQU 3
|
|
|
|
Ch5 EQU 4
|
|
|
|
Ch6 EQU 5
|
|
|
|
Ch7 EQU 6
|
|
|
|
Ch8 EQU 7
|
|
|
|
|
|
|
|
audio_header: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db (_NARG - 2) << 6 | \2
|
|
|
|
dw \1_\2
|
|
|
|
IF _NARG > 2
|
|
|
|
db \3
|
|
|
|
dw \1_\3
|
|
|
|
ENDC
|
|
|
|
IF _NARG > 3
|
|
|
|
db \4
|
|
|
|
dw \1_\4
|
|
|
|
ENDC
|
|
|
|
IF _NARG > 4
|
|
|
|
db \5
|
|
|
|
dw \1_\5
|
|
|
|
ENDC
|
|
|
|
ENDM
|
|
|
|
|
2018-03-16 22:56:37 +00:00
|
|
|
;format: length [0, 7], pitch change [-7, 7]
|
2019-07-28 04:21:39 +00:00
|
|
|
pitch_sweep: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $10
|
2018-03-16 22:56:37 +00:00
|
|
|
IF \2 > 0
|
|
|
|
db (\1 << 4) | \2
|
|
|
|
ELSE
|
|
|
|
db (\1 << 4) | (%1000 | (\2 * -1))
|
|
|
|
ENDC
|
2016-07-31 18:04:04 +00:00
|
|
|
ENDM
|
|
|
|
|
2018-03-19 05:18:50 +00:00
|
|
|
;format: length [0, 15], volume [0, 15], volume change [-7, 7], pitch
|
2019-07-28 04:21:39 +00:00
|
|
|
square_note: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $20 | \1
|
2018-03-17 01:35:40 +00:00
|
|
|
IF \3 < 0
|
|
|
|
db (\2 << 4) | (%1000 | (\3 * -1))
|
|
|
|
ELSE
|
|
|
|
db (\2 << 4) | \3
|
|
|
|
ENDC
|
|
|
|
dw \4
|
2016-07-31 18:04:04 +00:00
|
|
|
ENDM
|
|
|
|
|
2018-03-19 05:18:50 +00:00
|
|
|
;format: length [0, 15], volume [0, 15], volume change [-7, 7], pitch
|
2019-07-28 04:21:39 +00:00
|
|
|
noise_note: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $20 | \1
|
2018-03-17 01:35:40 +00:00
|
|
|
IF \3 < 0
|
|
|
|
db (\2 << 4) | (%1000 | (\3 * -1))
|
|
|
|
ELSE
|
|
|
|
db (\2 << 4) | \3
|
|
|
|
ENDC
|
|
|
|
db \4
|
2016-07-31 18:04:04 +00:00
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
C_ EQU $0
|
|
|
|
C# EQU $1
|
|
|
|
D_ EQU $2
|
|
|
|
D# EQU $3
|
|
|
|
E_ EQU $4
|
|
|
|
F_ EQU $5
|
|
|
|
F# EQU $6
|
|
|
|
G_ EQU $7
|
|
|
|
G# EQU $8
|
|
|
|
A_ EQU $9
|
|
|
|
A# EQU $A
|
|
|
|
B_ EQU $B
|
2016-07-31 18:04:04 +00:00
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
;format: pitch length (in 16ths)
|
|
|
|
note: MACRO
|
|
|
|
db (\1 << 4) | (\2 - 1)
|
2016-07-31 18:04:04 +00:00
|
|
|
ENDM
|
|
|
|
|
|
|
|
;format: instrument length (in 16ths)
|
|
|
|
snare1: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $01
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
snare2: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $02
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
snare3: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $03
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
snare4: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $04
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
snare5: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $05
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
triangle1: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $06
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
triangle2: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $07
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
snare6: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $08
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
snare7: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $09
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
snare8: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $0A
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
snare9: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $0B
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
cymbal1: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $0C
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
cymbal2: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $0D
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
cymbal3: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $0E
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
mutedsnare1: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $0F
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
triangle3: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $10
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
mutedsnare2: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $11
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
mutedsnare3: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $12
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
mutedsnare4: MACRO
|
|
|
|
db $B0 | (\1 - 1)
|
|
|
|
db $13
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
;format: rest length (in 16ths)
|
|
|
|
rest: MACRO
|
|
|
|
db $C0 | (\1 - 1)
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
; format: notetype speed, volume, fade
|
2019-07-28 04:21:39 +00:00
|
|
|
note_type: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $D0 | \1
|
|
|
|
db (\2 << 4) | \3
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
dspeed: MACRO
|
|
|
|
db $D0 | \1
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
octave: MACRO
|
|
|
|
db $E8 - \1
|
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
toggle_perfect_pitch: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $E8
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
;format: vibrato delay, rate, depth
|
|
|
|
vibrato: MACRO
|
|
|
|
db $EA
|
|
|
|
db \1
|
|
|
|
db (\2 << 4) | \3
|
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
pitch_slide: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $EB
|
|
|
|
db \1
|
|
|
|
db \2
|
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
duty_cycle: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $EC
|
|
|
|
db \1
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
tempo: MACRO
|
|
|
|
db $ED
|
|
|
|
db \1 / $100
|
|
|
|
db \1 % $100
|
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
stereo_panning: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $EE
|
|
|
|
db \1
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
volume: MACRO
|
|
|
|
db $F0
|
|
|
|
db (\1 << 4) | \2
|
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
execute_music: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $F8
|
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
duty_cycle_pattern: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $FC
|
|
|
|
db \1
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
;format: callchannel address
|
2019-07-28 04:21:39 +00:00
|
|
|
sound_call: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $FD
|
|
|
|
dw \1
|
|
|
|
ENDM
|
|
|
|
|
|
|
|
;format: loopchannel count, address
|
2019-07-28 04:21:39 +00:00
|
|
|
sound_loop: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $FE
|
|
|
|
db \1
|
|
|
|
dw \2
|
|
|
|
ENDM
|
|
|
|
|
2019-07-28 04:21:39 +00:00
|
|
|
sound_ret: MACRO
|
2016-07-31 18:04:04 +00:00
|
|
|
db $FF
|
|
|
|
ENDM
|