@<num> = { ~ | ~ }

<num> (0 — 127)
A number you set for your reference when calling throughout your MML.

Valid parameter values for tracks A, B, a and b: (0 — 3)
Valid parameter values for tracks M and N: (0 — 7)

This will define a duty cycle envelope macro.

@@<num> to call.

For tracks A, B, a, and b, you must use integers 0 to 3 in the { }. They correspond to these duty cycles:

Tracks A, B, a and b

Duty Cycle Envelope _ Parameters
<num> Duty Cycle
0 12.5%
1 25%
2 50%
3 75%

 
 
 
 
 
 
 
 
 
 

Tracks M and N

Tracks M and N can use 8 different duty cycles. Use integers 0 through 7.

Duty Cycle Envelope _ Parameters
<num> Duty Cycle
0 6.25%
1 12.5%
2 18.75%
3 25%
4 31.25%
5 37.5%
6 43.75%
7 50%

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Example:
@0 = { 0 1 1 1 1 3 0 0 1 3 | 2 }
@1 = { 0 1 1 1 1 3 0 0 1 3 2 } ;this line does the same as line one.

Use on Sunsoft 5B tracks

The @<num> command is also available for use on tracks X, Y and Z (Sunsoft 5B channels), although its use is completely different. On those channels, it is use to toggle the state of the tone/noise mixer.

Tracks X, Y and Z

Tone/Noise Mixer _ Parameters
<num> Noise State Tone State
0 Off Off
1 Off On
2 On Off
3 On On

 
 
 
 
 
 
 
 
 
 
Note that @@<num> is not an acceptable command on 5B channels, and as such you cannot call tone/noise mixer macro definitions in the same way you would call duty cycle envelopes.
Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.