From 5e618d37caecd765eb7b812c4723c0db11343a1c Mon Sep 17 00:00:00 2001 From: scawful Date: Tue, 1 Aug 2023 10:27:48 -0400 Subject: [PATCH] Add music macros --- Util/music_macros.asm | 201 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 Util/music_macros.asm diff --git a/Util/music_macros.asm b/Util/music_macros.asm new file mode 100644 index 0000000..af1c2f0 --- /dev/null +++ b/Util/music_macros.asm @@ -0,0 +1,201 @@ +macro SetChannelVolume(v) +db $ED, +endmacro + +macro SetMasterVolume(v) +db $E5, +endmacro + +macro SetTempo(v) +db $E7, +endmacro + +macro SetInstrument(v) +db $E0, +endmacro + +macro CallSubroutine(addr, repeat) +db $EF +dw +db +endmacro + +macro SetPan(v) +db $E1, +endmacro + +macro PanFade(length, dest) +db $E2, , +endmacro + +macro VibratoOn(delay, rate, depth) +db $E3, , , +endmacro + +macro VibratoOff() +db $E4 +endmacro + +macro MasterVolumeFade(length, dest) +db $E6, , +endmacro + +macro TempoFade(length, dest) +db $E8, , +endmacro + +macro GlobalTranspose(tone) +db $E9, +endmacro + +macro ChannelTranspose(tone) +db $EA, +endmacro + +macro TremoloOn(delay, rate, depth) +db $EB, , , +endmacro + +macro TremoloOff() +db $EC +endmacro + +macro ChannelVolumeFade(length, dest) +db $EE, , +endmacro + +macro VibratoFade(length) +db $F0, +endmacro + +macro PitchEnvelopeTo(delay, length, key) +db $F1, , , +endmacro + +macro PitchEnvelopeFrom(delay, length, key) +db $F2, , , +endmacro + +macro PitchEnvelopeOff() +db $F3 +endmacro + +macro Tuning(v) +db $F4, +endmacro + +macro EchoVBits(switch, left, right) +db $F5, , , +endmacro + +macro EchoOff() +db $F6 +endmacro + +macro EchoParams(delay, feedback, filter) +db $F7, , , +endmacro + +macro EchoVolumeFade(length, left, right) +db $F8, , , +endmacro + +macro PitchSlide(delay, length, note) +db $F9, , , +endmacro + +macro PercussionPatchBass(instrument) +db $FA, +endmacro + +macro SetDuration(v) ; $48 = 1/4, $24 = 1/8, $12 = 1/16, $09 = 1/32 +db +endmacro + +macro SetDurationN(v, n) ; n default is $7F +db , +endmacro + +End = $00 +Rest = $C9 +Tie = $C8 + +C1 = $80 +C1s = $81 +D1 = $82 +D1s = $83 +E1 = $84 +F1 = $85 +F1s = $86 +G1 = $87 +G1s = $88 +A1 = $89 +A1s = $8A +B1 = $8B + + +C2 = $8C +C2s = $8D +D2 = $8E +D2s = $8F +E2 = $90 +F2 = $91 +F2s = $92 +G2 = $93 +G2s = $94 +A2 = $95 +A2s = $96 +B2 = $97 + + +C3 = $98 +C3s = $99 +D3 = $9A +D3s = $9B +E3 = $9C +F3 = $9D +F3s = $9E +G3 = $9F +G3s = $A0 +A3 = $A1 +A3s = $A2 +B3 = $A3 + +C4 = $A4 +C4s = $A5 +D4 = $A6 +D4s = $A7 +E4 = $A8 +F4 = $A9 +F4s = $AA +G4 = $AB +G4s = $AC +A4 = $AD +A4s = $AE +B4 = $AF + +C5 = $B0 +C5s = $B1 +D5 = $B2 +D5s = $B3 +E5 = $B4 +F5 = $B5 +F5s = $B6 +G5 = $B7 +G5s = $B8 +A5 = $B9 +A5s = $BA +B5 = $BB + +C6 = $BC +C6s = $BD +D6 = $BE +D6s = $BF +E6 = $C0 +F6 = $C1 +F6s = $C2 +G6 = $C3 +G6s = $C4 +A6 = $C5 +A6s = $C6 +B6 = $C7 \ No newline at end of file