Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
ff3:ff3us:doc:asm:codes:music_codes [2016/04/03 06:28] m06 created |
ff3:ff3us:doc:asm:codes:music_codes [2016/08/01 06:24] m06 |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Music Commands ===== | ===== Music Commands ===== | ||
+ | |||
+ | ==== Overview ==== | ||
+ | |||
+ | These commands are used in the [[ff3: | ||
==== Notes ==== | ==== Notes ==== | ||
< | < | ||
- | 00-0D | + | 1/1 1/2 1/3 3/8 1/4 1/6 3/16 1/8 1/12 1/16 1/24 1/32 1/48 1/64 |
- | 0E-1B Play note, C# | + | ------------------------------------------------------------------------ |
- | 1C-29 Play note, D | + | 00 |
- | 2A-37 Play note, D# | + | 0E 0F |
- | 38-45 Play note, E | + | 1C 1D |
- | 46-53 Play note, F | + | 2A 2B |
- | 54-61 Play note, F# | + | 38 39 |
- | 62-6F Play note, G | + | 46 47 |
- | 70-7D Play note, G# | + | 54 55 |
- | 7E-8B Play note, A | + | 62 63 |
- | 8C-99 Play note, A# | + | 70 71 |
- | 9A-A7 Play note, B | + | 7E 7F |
- | A8-B5 Continue last note | + | 8C 8D |
- | B6-C3 | + | 9A 9B |
+ | A8 A9 | ||
+ | B6 B7 | ||
+ | |||
+ | Common names and ticks for note lengths: | ||
+ | ---------------------------------------- | ||
+ | 1/1 $0: Whole Note C0 | ||
+ | 1/2 $1: Half Note 60 | ||
+ | 1/3 $2: Half Note Triplet | ||
+ | 3/8 $3: Dotted Quarter Note 48 | ||
+ | 1/4 $4: Quarter Note 30 | ||
+ | 1/6 $5: Quarter Note Triplet | ||
+ | 3/16 $6: Dotted Eighth Note 24 | ||
+ | 1/8 $7: Eighth Note 18 | ||
+ | 1/12 $8: Triplet | ||
+ | 1/16 $9: Sixteenth Note 0C | ||
+ | 1/24 $A: Sixteenth Note Triplet | ||
+ | 1/32 $B: Thirty-second Note 06 | ||
+ | 1/48 $C: Thirty-second Note Tripet | ||
+ | 1/64 $D: Sixty-fourth Note 03 | ||
</ | </ | ||
- | ==== Other ==== | + | |
+ | ==== Track Commands | ||
< | < | ||
- | C4 xx Set volume of channel | + | C4: xx $11D3 Set Voice Volume |
- | C5 ss xx Fade volume | + | C5: xx yy $11E4 Set Voice Volume w/ Envelope (yy: volume, xx: envelope duration) |
- | C6 xx Pan song left-> | + | C6: xx $1236 Set Voice Pan to (xx: 01 = Left, 40 = Center, |
- | C7 ss xx | + | C7: xx yy $1246 Set Voice Pan w/ Envelope (yy: 01 = Left, 40 = Center, 7F = Right, top bit inactive, xx = envelope duration) |
- | C8 tt pp | + | C8: xx yy $1266 Change Pitch w/ Envelope (xx: envelope duration, yy: change |
- | C9 ss tt dd | + | C9: xx yy zz $12E3 Enable |
- | CA | + | CA: $138C Disable |
- | CB ss tt dd | + | CB: xx yy zz $1396 Enable |
- | CC | + | CC: $13EA Disable |
- | CD xx yy Pan repeatedly back and forth at speed xx (00-FF), higher values == slower panning. | + | CD: xx yy $13F4 Enable Pansweep |
- | CE | + | CE: $144A Disable |
- | CF xx | + | CF: xx $14CB Set Noise Clock (00-1F) |
- | D0 | + | D0: $148D Enable Noise |
- | D1 | + | D1: $14BB Disable Noise |
- | D2 | + | D2: $14D9 Enable Pitch Modulation |
- | D3 | + | D3: $14F2 Disable Pitch Modulation |
- | D4 | + | D4: $1464 Enable Echo |
- | D5 | + | D5: $147D Disable Echo |
- | D6 oo | + | D6: xx |
- | D7 Raise octave by 1 | + | D7: $1456 Increment Octave |
- | D8 Lower octave by 1 | + | D8: $145C Decrement Octave |
- | D9 xx Set transpose | + | D9: xx $1275 Set Transpose |
- | DA xx | + | DA: xx $1271 Add to Transpose |
- | DB xx | + | DB: xx $174E Set Detune |
- | DC ss Change channel' | + | DC: xx $1502 Set Instrument |
- | DD xx | + | DD: xx $1538 Set ADSR Attack Value (0-15) |
- | DE xx | + | DE: xx $1568 Set ADSR Decay Value (0-7) |
- | DF xx | + | DF: xx $157B Set ADSR Sustain Value (0-7) |
- | E0 xx | + | E0: xx $158D Set ADSR Release Value (0-31) |
- | E1 | + | E1: $159D Reset ADSR Default Values |
- | E2 nn Begin loop: nn == number of iterations - 1 (max nesting == 4) | + | E2: xx $16C0 Loop Start (loop xx+1 times) |
- | E3 | + | E3: $16F0 Loop End |
- | E4 ??? | + | E4: $15B4 Enable Slur (key on at beginning of first note only, no key off at end of note unless the next note is a rest) |
- | E5 Nothing? | + | E5: $0FD3 Disable Slur |
- | E6 | + | E6: $15DE Enable Drum Roll (no key off at end of note unless the next note is a rest) |
- | E7 Nothing? | + | E7: $0FD3 Disable Drum Roll |
- | E8 xx ??? Set length of next note | + | E8: xx $174B Add to Note Duration (xx = duration in ticks) |
- | E9 xx | + | E9: xx $1602 Play Game Sound Effect (voice A) |
- | EA xx | + | EA: xx $1606 Play Game Sound Effect (voice B) |
- | EB | + | EB: $1770 End of Script |
- | F0 xx Set tempo to xx (00-FF), higher values == faster tempo. | + | EC: $1770 End of Script |
- | F1 ss xx Fade tempo to xx at speed ss | + | ED: $1770 End of Script |
- | F2 xx Set echo to xx | + | EE: $1770 End of Script |
- | F3 ss xx Fade echo to xx at speed ss | + | EF: $1770 End of Script |
- | F4 xx | + | </ |
- | F5 nn aaaa When this instruction has been executed nn times, break out of most recent loop and goto $aaaa | + | ==== Master Commands ==== |
- | F6 aaaa Goto $aaaa | + | < |
- | F7 xx yy | + | F0: xx $11AF Set Tempo |
- | F8 xx yy | + | F1: xx yy $11B8 Set Tempo w/ Envelope |
- | F9 | + | F2: xx $1205 Set Song Echo Volume |
- | FA | + | F3: xx yy $1212 Set Song Echo Volume w/ Envelope |
- | FB | + | F4: xx $11D0 Set Song Volume |
- | FC xx yy | + | F5: xx yyyy |
+ | F6: xxxx $164A Jump to xxxx | ||
+ | F7: xx yy $1279 Set Echo Feedback to yy over xx frames | ||
+ | F8: xx yy $129B Set Filter ------yy | ||
+ | F9: $1752 Increment Output Code | ||
+ | FA: $1755 Clear Output Code | ||
+ | FB: $15B0 Ignore Song Volume | ||
+ | FC: xxxx $1759 Conditional Jump to xxxx | ||
+ | FD: $1770 End of Script | ||
+ | FE: $1770 End of Script | ||
+ | FF: $1770 End of Script | ||
</ | </ |