From a2994e350c92a2ce7c70b5d5c463157a36eed312 Mon Sep 17 00:00:00 2001 From: scawful Date: Tue, 28 May 2024 21:11:20 -0400 Subject: [PATCH] add list of instruments to music macros --- Util/music_macros.asm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/Util/music_macros.asm b/Util/music_macros.asm index af1c2f0..c585fc9 100644 --- a/Util/music_macros.asm +++ b/Util/music_macros.asm @@ -10,6 +10,32 @@ macro SetTempo(v) db $E7, endmacro +; 00 Unknown +; 01 Rain +; 02 Tympani +; 03 Square wave +; 04 Saw wave +; 05 Sine wave +; 06 Double saw wave 1 +; 07 Double save wave 2 +; 08 Tweet +; 09 Strings +; 0A Same as 9 +; 0B Trombone +; 0C Cymbal +; 0D Ocarina +; 0E Chime +; 0F harp +; 10 Splash +; 11 Trumpet +; 12 Horn +; 13 Snare +; 14 Same as 13 +; 15 Choir +; 16 Flute +; 17 Oof +; 18 Guitar + macro SetInstrument(v) db $E0, endmacro @@ -108,6 +134,20 @@ macro PercussionPatchBass(instrument) db $FA, endmacro +;1/4 = $48 +;1/4 double = $6C +;1/4 triplet = $30 +;1/8 = $24 +;1/8 double = $36 +;1/8 triplet = $18 +;1/16 = $12 +;1/16 double = $1B +;1/32 = $09 +; To make a whole note you tie 4 1/4 so something like +;%SetDuration(48) +;db !C4, !Tie, !Tie, !Tie ; will play a whole note (1/1) +;db !C4, !Tie ; will play a half note (1/2) + macro SetDuration(v) ; $48 = 1/4, $24 = 1/8, $12 = 1/16, $09 = 1/32 db endmacro