- シーケンスコマンド一覧
- 00-B3
- キーオン
- トラック
- B4-D1
- タイ・休符
- トラック
- D2 xx
- 音量設定(Volume)
- トラック
- D3 xx yy
- 音量変化(Volume)
- トラック
- D4 xx
- パン設定
- トラック
- D5 xx yy
- パン変化
- トラック
- D6 xx yy
- ピッチスライド
- トラック
- D7 xx yy zz
- ビブラート設定
- トラック
- D8
- ビブラート解除
- トラック
- D9 xx yy zz
- トレモロ設定
- トラック
- DA
- トレモロ解除
- トラック
- DB xx yy
- オートパン
- トラック
- DC
- オートパン解除
- トラック
- DD xx
- ノイズクロック設定
- 全体
- DE
- ノイズオン
- トラックノイズクロック
- DF
- ノイズオフ
- トラックノイズクロック
- E0
- ピッチモジュレーションオン
- トラック
- E1
- ピッチモジュレーションオフ
- トラック
- E2
- エコーオン
- トラック
- E3
- エコーオフ
- トラック
- E4 xx
- オクターブ指定
- トラック
- E5
- オクターブ + 1
- トラック
- E6
- オクターブ - 1
- トラック
- E7 xx
- キートランスポーズ指定
- トラック
- E8 xx
- キートランスポーズ相対指定
- トラック
- E9 xx
- ディチューン
- トラック
- EA xx
- 波形選択
- トラック
- EB xx
- Attack Rate 設定
- トラック
- EC xx
- Decay Rate 設定
- トラック
- ED xx
- Sustain Level 設定
- トラック
- EE xx
- Sustain Rate 設定
- トラック
- EF
- ADSR 初期化
- トラック
- F0 xx
- ループ開始位置
- トラック
- F1
- 繰り返し・ループ終了
- トラック
- F2
- 演奏終了
- トラックノイズクロック
- F3 xx
- 音楽演奏速度設定
- 音楽トラック
- F4 xx yy
- 音楽演奏速度変化
- 音楽トラック
- F5 xx
- エコーボリューム設定
- 全体
- F6 xx yy
- エコーボリューム変化
- 全体
- F7 xx yy
- エコーフィードバック設定・FIR フィルタ係数テーブル選択
- 全体
- F8 xx
- 音楽音量設定
- 音楽トラック
- F9 xx yy_zz
- 条件ジャンプ
- 音楽トラック
- FA xx_yy
- ジャンプ
- 音楽トラック
- FB xx_yy
- 条件ジャンプ 2
- 音楽トラック
- FC-FF
- 演奏終了 2
- トラックノイズクロック
シーケンスコマンド
00-B3キーオントラック
E4・E5・E6 コマンドで設定されるオクターブの値、このコマンドに対応した値と E7・E8 コマンドのトランスポーズ値、E9・EA コマンドで設定される微調整値でピッチを計算し、キーオンします。
コマンドに対応したティック数だけ待機します。
F2 コマンドで演奏終了、または次に処理する 00-C3 コマンドがタイ以外の場合は、コマンドに対応した数値 - 2 ティック後にキーオフします。
DSP Voice の Volume・Pitch 計算フラグがオンになります。
DSP Voice の Source Number・ADSR の値が設定されます。
D6 コマンドをキーオンと同時に使用しない場合は、ピッチ変化量が 0 になります。
音長 | 1 | 2. | 2 | 3 | 4. | 4 | 6 | 8. | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 0A | 0B | 0C | 0D | 0E |
C# | 0F | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 1A | 1B | 1C | 1D |
D | 1E | 1F | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 2A | 2B | 2C |
D# | 2D | 2E | 2F | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 3A | 3B |
E | 3C | 3D | 3E | 3F | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 4A |
F | 4B | 4C | 4D | 4E | 4F | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
F# | 5A | 5B | 5C | 5D | 5E | 5F | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 |
G | 69 | 6A | 6B | 6C | 6D | 6E | 6F | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 |
G# | 78 | 79 | 7A | 7B | 7C | 7D | 7E | 7F | 80 | 81 | 82 | 83 | 84 | 85 | 86 |
A | 87 | 88 | 89 | 8A | 8B | 8C | 8D | 8E | 8F | 90 | 91 | 92 | 93 | 94 | 95 |
A# | 96 | 97 | 98 | 99 | 9A | 9B | 9C | 9D | 9E | 9F | A0 | A1 | A2 | A3 | A4 |
B | A5 | A6 | A7 | A8 | A9 | AA | AB | AC | AD | AE | AF | B0 | B1 | B2 | B3 |
ティック数 | C0 | 90 | 60 | 40 | 48 | 30 | 20 | 24 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
B4-C2タイトラック
コマンドに対応したティック数だけ待機します。
F2 コマンドで演奏終了、または次に処理する 00-D1 コマンドがタイ以外の場合は、コマンドに対応した数値 - 2 ティック後にキーオフします。
音長 | 1 | 2. | 2 | 3 | 4. | 4 | 6 | 8. | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
タイ | B4 | B5 | B6 | B7 | B8 | B9 | BA | BB | BC | BD | BE | BF | C0 | C1 | C2 |
ティック数 | C0 | 90 | 60 | 40 | 48 | 30 | 20 | 24 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
C3-D1休符トラック
コマンドに対応したティック数だけ待機します。
音長 | 1 | 2. | 2 | 3 | 4. | 4 | 6 | 8. | 8 | 12 | 16 | 24 | 32 | 48 | 64 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
休符 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | CA | CB | CC | CD | CE | CF | D0 | D1 |
ティック数 | C0 | 90 | 60 | 40 | 48 | 30 | 20 | 24 | 18 | 10 | 0C | 08 | 06 | 04 | 03 |
D2音量設定(Volume)トラック
D2 xx
xx : 音量 (0x00 〜 0xFF)
音量の値が xx に設定されます。
D3音量変化(Volume)トラック
D3 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : 音量 (0x00 〜 0xFF)
音量が現在の値から yy まで X ティックで変化します。
xx | X |
---|---|
0 | 0 |
0 以外 | xx - 1 |
D4パン設定トラック
D4 xx
xx : パン (0x00 〜 0xFF)
パンの値が xx に設定されます。
0x00 (左) - 0x80 (中央・モノラル) - 0xFF (右)
D5パン変化トラック
D5 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : パン (0x00 〜 0xFF)
パンが現在の値から yy まで X ティックで変化します。
0x00 (左) - 0x80 (中央・モノラル) - 0xFF (右)
xx | X |
---|---|
0 | 0 |
0 以外 | xx - 1 |
D6ピッチスライドトラック
D6 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : 音程変化 (0x80 〜 0x7F)
xx ティックで現在の音程から yy (semitone) 変化します。
計算結果の下位 8 ビットの値 (符号なし) がピッチスライド終了時の音程の値になります。
ピッチスライドが終了する前に更にピッチスライドを実行すると、"2 回目の処理時間" で "現在の音程" から "1 回目の処理を始める直前の (ビブラートでの変化分を除く) 音程の値に 1 回目と 2 回目の音程変化の値を加算した値 (semiton)" まで変化します。
D7ビブラート設定トラック
D7 xx yy zz
xx : ディレイ (0x00 〜 0xFF)
yy : 周期 (0x00 〜 0xFF)
zz : 揺れ方と揺れの大きさ (0x00 〜 0xFF)
キーオンまたはコマンド実行の xx ティック後から、約 4.5 * (yy + 1) ㎳ 毎に音程が変化し続けます。
zz の上位 2 ビットで揺れ方を、下位 6 ビットで揺れの大きさを設定します。
時間経過による揺れの大きさの倍率は 4 段階 (約 0.5, 1.0, 1.5, 2.0) ありますが、xx = 0 の場合は最初から約 2.0 倍の値で計算されます。
タイの直前にも実行できますが、ピッチ変化量計算に使用されるカウンタ値が初期化されません。
D8 コマンド (または zz に 0 を指定) で解除されます。
処理回数 | zz の上位 2 ビットの値 | |||||
---|---|---|---|---|---|---|
0b11 | 0b01 | 0b?0 | 0b11 | 0b01 | 0b?0 | |
0 | ± 0 | ± 0 | ± 0 | - | - | - |
1 | + p1 | + p1 | - p1 | + p4 | + p4 | - p4 |
2 | - p1 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
3 | + p2 | + p2 | - p2 | + p4 | + p4 | - p4 |
4 | - p2 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
5 | + p3 | + p3 | - p3 | + p4 | + p4 | - p4 |
6 | - p3 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
7 | + p4 | + p4 | - p4 | + p4 | + p4 | - p4 |
8 | - p4 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
9 | + p4 | + p4 | - p4 | + p4 | + p4 | - p4 |
10 | - p4 | ± 0 | ± 0 | - p4 | ± 0 | ± 0 |
xx | 0x01 - 0xFF | 0x00 |
D8ビブラート解除トラック
D8
ビブラートを解除します。
D9トレモロ設定トラック
D9 xx yy zz
xx : ディレイ (0x00 〜 0xFF)
yy : 周期 (0x00 〜 0xFF)
zz : 揺れ方と揺れの大きさ (0x00 〜 0xFF)
キーオンまたはコマンド実行の X ティック後から、音量の倍率は約 4.5 ㎳ 毎に、音量の倍率計算に使用する値は約 4.5 * (yy + 1) ㎳ 毎に変化し続けます。
DSP Voice の Volume 計算時に D2・D3 コマンドの音量とこのコマンドの音量の倍率の積を計算します。その計算結果は符号なし 8 ビットに収まる値 (255 を超える場合は 255) になります。
zz の上位 2 ビットで揺れ方を、下位 6 ビットで揺れの大きさを設定します (最大で v2 は約 50% になります) 。
時間経過による揺れの大きさの倍率は 4 段階 (約 0.5, 1.0, 1.5, 2.0) ありますが、xx = 0 の場合は最初から約 2.0 倍の値で計算されます。
タイの直前にも実行できますが、音量倍率変化量計算に使用されるカウンタ値が初期化されません。
DA コマンド (または zz に 0 を指定) で解除されます。
処理回数 | zz の上位 2 ビットの値 | |||||
---|---|---|---|---|---|---|
0b11 | 0b01 | 0b?0 | 0b11 | 0b01 | 0b?0 | |
0 | ± 0 | ± 0 | ± 0 | - | - | - |
1 | + v1 | + v1 | - v1 | + v4 | + v4 | - v4 |
2 | - v1 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
3 | + v2 | + v2 | - v2 | + v4 | + v4 | - v4 |
4 | - v2 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
5 | + v3 | + v3 | - v3 | + v4 | + v4 | - v4 |
6 | - v3 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
7 | + v4 | + v4 | - v4 | + v4 | + v4 | - v4 |
8 | - v4 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
9 | + v4 | + v4 | - v4 | + v4 | + v4 | - v4 |
10 | - v4 | ± 0 | ± 0 | - v4 | ± 0 | ± 0 |
xx | 0x01 - 0xFF | 0x00 |
DAトレモロ解除トラック
DA
トレモロを解除します。
DBオートパン設定トラック
DB xx yy
xx : 周期 (0x00 〜 0xFF)
yy : 揺れ方と揺れの大きさ (0x80 〜 0x7F)
初回は約 4.5 * (X / 2) ㎳ で 0 → Y 、以降は約 9 * X ㎳ 周期で Y → -Y → Y とパン移動量が変化し続けます。
この値は DSP Voice の Volume 計算時に、処理中のパンの値に加算されます。パンの計算結果は符号なし 8 ビットに収まる値 (0 未満は 0 、255 を超える場合は 255) になります。
yy で揺れ方 (Y の符号) と揺れの大きさ (Y の絶対値) を設定します。
DC コマンド (または yy に 0 を指定) で解除されます。
xx | X |
---|---|
0 | 2 |
奇数 | xx + 1 |
偶数 | xx |
yy | Y | 揺れ方 | 揺れの大きさ |
---|---|---|---|
0x80 - 0xFF | -(~yy) | 左 → 右 → 左 | ~yy |
0x00 - 0x7F | yy | 右 → 左 → 右 | yy |
DCオートパン解除トラック
DC
オートパンを解除します。
DDノイズクロック設定全体
DD xx
xx : ノイズクロック (0x00 〜 0x1F)
DSP に設定するノイズクロックの値を設定します (0 〜 32kHz)。
音楽と効果音で異なる値を設定できます。
ノイズを使用した効果音が演奏状態であれば効果音の値、そうでない場合は音楽の値が自動的に DSP に設定されます。
xx の上位 3 ビットは無視されます。
DEノイズオントラックノイズクロック
DE
EA コマンドで設定した波形データの代わりにノイズを発声するようになります。
ループしない波形が設定されている場合はその長さの時間だけ発声します。
ノイズクロックの値はノイズを使用した効果音が演奏状態であれば効果音の値、そうでない場合は音楽の値が自動的に DSP に設定されます。
DFノイズオフトラックノイズクロック
DF
EA コマンドで設定した波形データを使用して発声するようになります。
ノイズクロックの値はノイズを使用した効果音が演奏状態であれば効果音の値、そうでない場合は音楽の値が自動的に DSP に設定されます。
E0ピッチモジュレーションオントラック
E0
ひとつ前のチャネルの DSP 内部の値 (OUTX) でピッチ変調をかけるようになります。
音楽トラック 1 (Voice 0) には変調がかかりません。
E1ピッチモジュレーションオフトラック
E1
ピッチ変調をかけなくなります。
E2エコーオントラック
E2
エコーがかかるようになります。
E3エコーオフトラック
E3
エコーがかからなくなります。
E4オクターブ指定トラック
E4 xx
xx : オクターブ (0x00 〜 0xFF)
キーオン時のピッチ計算に使用されるオクターブの値が xx に設定されます。
E5オクターブ + 1トラック
E5
キーオン時のピッチ計算に使用されるオクターブの値が、現在の値 + 1 に設定されます。計算結果の下位 8 ビットの値が設定されます。
E6オクターブ - 1トラック
E6
キーオン時のピッチ計算に使用されるオクターブの値が、現在の値 - 1 に設定されます。計算結果の下位 8 ビットの値が設定されます。
E7キートランスポーズ指定トラック
E7 xx
xx : トランスポーズ値 (0x80 〜 0x7F)
キーオン時のピッチ計算に使用される音程の値を xx (Semitone) 変化させます。
xx = 0 で解除されます。
E8キートランスポーズ相対指定トラック
E8 xx
xx : トランスポーズ値変化 (0x80 〜 0x7F)
トランスポーズ値が、現在の値 + xx に設定されます。計算結果の下位 8 ビットの値が設定されます。
E9ディチューントラック
E9 xx
xx : ピッチ微調整 (0x80 〜 0x7F)
キーオン時に計算されるピッチの値を微調整することができます。
この値は EA コマンドのピッチ微調整に使用する値の一つに加算され、結果の下位 8 ビットが使用されます。
xx に 0 を指定で解除されます。
このコマンドの値のみがピッチ計算に使用される (EA コマンドの値でピッチ微調整を行わない) 場合、ピッチの値はこのコマンドを利用しない場合の値の約 0.5 〜 1.5 倍になります。
EA波形選択トラック
EA xx
xx : 波形番号 (0x00 〜 0x3F)
波形を選択します。
内部で DSP に設定する ADSR の値と、ピッチ微調整に使用する値二つが設定されます。
EBAttack Rate 設定トラック
EB xx
xx : Attack Rate (0x00 〜 0x0F)
DSP に設定する Attack Rate の値が設定されます。
上位 4 ビットは無視されます。
ECDecay Rate 設定トラック
EC xx
xx : Decay Rate (0x00 〜 0x07)
DSP に設定する Decay Rate の値が設定されます。
上位 5 ビットは無視されます。
EDSustain Level 設定トラック
ED xx
xx : Sustain Level (0x00 〜 0x07)
DSP に設定する Sustain Level の値が設定されます。
上位 5 ビットは無視されます。
EESustain Rate 設定トラック
EE xx
xx : Sustain Rate (0x00 〜 0x1F)
DSP に設定する Sustain Rate の値が設定されます。
上位 3 ビットは無視されます。
EFADSR 初期化トラック
EB・EC・ED・EE コマンドで設定された値を EA コマンドで自動的に設定される値に戻します。
F0ループ開始位置トラック
F0 xx
xx : カウントダウンカウンタの初期値 (0x00 〜 0xFF)
このコマンドと F1 コマンドでループ処理を行うことができます。
1 トラックで同時に使用可能なループ処理の最大数は 4 です (5 以上は一番古いデータが上書きされます)。
ループ内の F9 コマンドのチェック回数を 0 に初期化します。
xx | 初期値 | ループ回数 |
---|---|---|
0x00, 0xFF | 0 | 無限 |
0x01 - 0xFE | xx + 1 | 最大で xx + 1 回 |
F1繰り返し・ループ終了トラック
F1
F0 コマンドのカウンタ値が 0 の場合
最内ループ開始位置までジャンプします (無限ループ)。
F2演奏終了トラックノイズクロック
F2
演奏を終了します。
ノイズ・ピッチモジュレーション・エコーが無効になります。
すべての効果音が無演奏状態になった場合、DSP のノイズクロックは音楽の値が設定されます。
F3音楽演奏速度設定音楽トラック
F3 xx
xx : 演奏速度 (0x01 〜 0xFF)
演奏速度の値が xx に設定されます。
効果音からは設定できません。
速度が 0 になるとコマンド処理ができなくなります。
bpm = (1000 / 4.5) * (zz / 256) / 48 * 60 (処理が間に合わないことがあるため若干小さな値になります)
F4音楽演奏速度変化音楽トラック
F4 xx yy
xx : 処理時間 (0x01 〜 0xFF)
yy : 演奏速度 (0x00 〜 0xFF)
演奏速度が現在の値から yy まで xx ティックで変化します。
効果音からは設定できません。
速度が 0 になるとコマンド処理ができなくなります。
bpm = (1000 / 4.5) * (zz / 256) / 48 * 60 (処理が間に合わないことがあるため若干小さな値になります)
F5エコーボリューム設定全体
F5 xx
xx : エコーボリューム (0x00 〜 0xFE)
DSP に設定するエコーボリュームの値が xx / 2 に設定されます (xx の下位 1 ビットは無効です) 。
効果音からは設定できません。
F6エコーボリューム変化全体
F6 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : エコーボリューム (0x00 〜 0xFE)
DSP に設定するエコーボリュームが現在の値から yy / 2 まで xx ティックで変化します (yy の下位 1 ビットは無効です) 。
効果音からは設定できません。
F7エコーフィードバック設定・FIR フィルタ係数テーブル選択全体
F7 xx yy
xx : エコーフィードバック (0x80 〜 0x7F)
yy : FIR フィルタ係数テーブル選択 (0x00 〜 0x03)
xx で DSP に設定するエコーフィードバックの値を設定します。
yy で DSP に設定する FIR フィルタ係数のテーブルを選択します。
yy の上位 6 ビットは無視されます。
効果音からは設定できません。
yy | エコーフィルタ | |||||||
---|---|---|---|---|---|---|---|---|
C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 | |
00 | 7F | 00 | 00 | 00 | 00 | 00 | 00 | 00 |
01 | 0C | 21 | 2B | 2B | 13 | FE | F3 | F9 |
02 | 58 | BF | DB | F0 | FE | 07 | 0C | 0C |
03 | 34 | 33 | 00 | D9 | E5 | 01 | FC | EB |
F8音楽音量設定音楽トラック
F8 xx
xx : 音量 (0x00 〜 0xFF)
音楽の音量計算に使用される倍率の値の一つが xx に設定されます。
F9条件ジャンプ音楽トラック
F9 xx yy zz
xx : ジャンプするときのチェック回数
zzyy : ジャンプ先
ループ内で F9 コマンドを処理した回数が xx の場合、zzyy に APU RAM アドレス 0x0006 の 16 ビットの値を加算した結果の下位 16 ビットのアドレスへジャンプします。
効果音は使用できません。
F0 コマンドのカウンタ値は変化しないので、F1 コマンドでループ処理する必要があります。
FAジャンプ音楽トラック
FA xx yy
yyxx : ジャンプ先
yyxx に APU RAM アドレス 0x0006 の 16 ビットの値を加算した結果の下位 16 ビットのアドレスへジャンプします。
効果音は使用できません。
FB条件ジャンプ 2音楽トラック
FB xx yy
yyxx : ジャンプ先
内部データのトラックに対応したビットが 1 の場合、yyxx に APU RAM アドレス 0x0006 の 16 ビットの値を加算した結果の下位 16 ビットのアドレスへジャンプします。
ジャンプする場合、内部データのトラックに対応したビットは 0 になります。
効果音は使用できません。
このコマンドを使用するには 65C816 (メイン CPU) からサウンドドライバに命令を送信する必要があります。
FC-FF演奏終了 2トラックノイズクロック
FC, FD, FE, FF
演奏を終了します。
ノイズ・ピッチモジュレーション・エコーが無効になります。
すべての効果音が無演奏状態になった場合、DSP のノイズクロックは音楽の値が設定されます。