$name
呼び出すマクロ名です。
ASCIIコードの 0x00 〜 0x20 (改行、TAB、スペース等)が来るまでをマクロ名として認識します。
nameのマクロを呼び出します。
なお、マクロは、PCに搭載されたメモリが許す範囲でネスト(マクロ内でマクロを呼び出し)する事が可能です。
また、マクロの一番最後のコマンドに限り、引数をマクロの外に記述することが可能です。
その場合も、マクロ名の後ろにASCIIコードの 0x00 〜 0x20 (改行、TAB、スペース等)を入れ、引数を記述して下さい。
マクロは、MMLコンパイラーの機能です。
データサイズの肥大化を防止するためには、サブルーチン化することをお勧めします。
マクロ中でTR
コマンドは使えません。
呼び出し元のマクロと同じ名前のマクロは呼び出せません。
マクロの定義は、マクロを呼び出すよりも前に行ってください。
但し、マクロの定義内容の評価は呼び出し時に行うため、
マクロ定義内でのマクロの呼び出しはその限りではありませんが、
呼び出された段階では、マクロ内で呼び出すマクロが定義されている必要があります。
/* macro define */
$macro{
$macro2 cdefgab>c
}
$macro2{ l4 o4 }
/* Block of BGM[0] */
BGM(0){
TR1 $macro 1 /* = l4 o4 cdefgab>c1 */
}