Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; EQUs
- MUSIC EQU 0
- SFX EQU 4
- CH1 EQU 0
- CH2 EQU 1
- CH3 EQU 2
- CH4 EQU 3
- ; notes
- ntRst EQU $00
- ntC EQU $10
- ntC# EQU $20
- ntD EQU $30
- ntD# EQU $40
- ntE EQU $50
- ntF EQU $60
- ntF# EQU $70
- ntG EQU $80
- ntG# EQU $90
- ntA EQU $a0
- ntA# EQU $b0
- ntB EQU $c0
- ; special drum EQUs
- dNote EQU $b0
- dRst EQU $c0
- d2Spd EQU $d0
- d5d3Spd EQU $d4
- d4d3Spd EQU $d8
- dNormSpd EQU $dc
- ; octaves
- oct0 EQU $d7
- oct1 EQU $d6
- oct2 EQU $d5
- oct3 EQU $d4
- oct4 EQU $d3
- oct5 EQU $d2
- oct6 EQU $d1
- oct7 EQU $d0
- ; header stuff
- pkmsHeader: macro
- db ((\1 - 1) * $40) | (\2 + \3)
- endm
- pkmsChannel: macro
- dw \1
- if \2 != 0
- db \2
- endc
- endm
- ; coordination flags
- ; set velocity/note fade (\1 is velocity, \2 is note length, both 0-15)
- ; format: pkmsSetVel vel, length
- pkmsSetVel: macro
- db $dc
- db ((\1 << 4) | \2)
- endm
- ; set velocity/note rate (\1 is velocity, \2 is note length, both 0-15)
- ; format: pkmsSetNtr speed, vel, length
- pkmsSetNtr: macro
- db $d8
- db \1
- db ((\2 << 4) | \3)
- endm
- ; set drum speed(\1 is velocity)
- ; format: pkmsSetDSpeed speed
- pkmsSetDSpeed: macro
- db $d8
- db \1
- endm
- ; stop sound
- ; format: pkmsEndSound
- pkmsEndSound: macro
- db $ff
- endm
- ; set modulation (\1 is delay, \2 is depth, \3 is rate)
- ; format: pkmsSetMod delay, depth, rate
- pkmsSetMod: macro
- db $e1
- db \1
- db ((\2 << 4) | \3)
- endm
- ; set duty cycle (\1: 0 = 12.5%, 1 = 25%, 2 = 50%, 3 = 75%)
- ; format: pkmsSetDuty duty
- pkmsSetDuty: macro
- db $db
- db \1
- endm
- ; set Drumset
- ; format: pkmsSetDrums drums
- pkmsSetDrums: macro
- db $e3
- db \1
- endm
- pkmsSetArp: macro
- db $de
- db \1
- ;((\1 << 6) | (\2 << 4) | (\3 << 2) | \4)
- endm
- ; set music tempo (\1 is divider, \2 is modifier)
- ; format: pkmsSetTempo divider, modifier
- pkmsSetTempo: macro
- db $da
- db \1
- db \2
- endm
- ; set volume (\1 is volume)
- ; format: pkmsSetVolume volume
- ; (may actually be panning?)
- pkmsSetVolume: macro
- db $e5
- db \1
- endm
- ; call offset \1
- ; format: pkmsCall offset
- pkmsCall: macro
- db $fe
- dw ((\1 % $4000) + ((\1 >= $4000) * $4000))
- endm
- ; jump to offset \1
- ; format: pkmsJump offset
- pkmsJump: macro
- db $fd
- db $00
- dw ((\1 % $4000) + ((\1 >= $4000) * $4000))
- endm
Add Comment
Please, Sign In to add comment