Gnilda のページ


シーケンスコマンド一覧 — Romancing Sa·Ga 2


  1. ホーム
  2. スーパーファミコンのサウンドドライバ
  3. Romancing Sa·Ga 2
  4. シーケンスコマンド一覧

シーケンスコマンド一覧
00–A7
キーオン
トラック
A8–B5
タイ
トラック
B6–C3
休符
トラック
C4 xx
音量設定(Volume)
トラック
C5 xx yy
音量変化(Volume)
トラック
C6 xx
パン設定
トラック
C7 xx yy
パン変化
トラック
C8 xx yy
ピッチスライド
トラック
C9 xx yy zz
ビブラート設定
トラック
CA
ビブラート解除
トラック
CB xx yy zz
トレモロ設定
トラック
CC
トレモロ解除
トラック
CD xx yy
オートパン設定
トラック
CE
オートパン解除
トラック
CF xx
ノイズクロック設定
全体
D0
ノイズ オン
トラック ノイズクロックは全体
D1
ノイズ オフ
トラック ノイズクロックは全体
D2
ピッチモジュレーション オン
トラック
D3
ピッチモジュレーション オフ
トラック
D4
エコー オン
トラック
D5
エコー オフ
トラック
D6 xx
オクターブ設定
トラック
D7
オクターブ + 1
トラック
D8
オクターブ - 1
トラック
D9 xx
キートランスポーズ値設定
トラック
DA xx
キートランスポーズ値相対設定
トラック
DB xx
ディチューン
トラック
DC xx
音色選択
トラック
DD xx
Attack Rate 設定
トラック
DE xx
Decay Rate 設定
トラック
DF xx
Sustain Level 設定
トラック
E0 xx
Sustain Rate 設定
トラック
E1
ADSR 初期化
トラック
E2 xx
ループ開始位置
トラック
E3
繰り返し・ループ終了
トラック
E4
スラー開始
トラック
E5
スラー終了
トラック
E6
レガート開始
トラック
E7
レガート終了
トラック
E8 xx
音長(待機時間)設定
トラック
E9 xx
効果音演奏 1
EA
効果音演奏 2
EB
演奏終了
トラック ノイズクロックは全体
EC–EF, FB–FF
演奏終了 2
F0 xx
音楽演奏速度基本値設定
全ての音楽トラック
F1 xx yy
音楽演奏速度基本値変化
全ての音楽トラック
F2 xx
エコーボリューム設定
全体
F3 xx yy
エコーボリューム変化
全体
F4 xx yy
エコーフィードバック設定・FIR フィルタ係数テーブル選択
全体
F5 xx
音楽音量設定
全ての音楽トラック
F6 xx yyyy
ループ内条件ジャンプ
トラック
F7 xxxx
ジャンプ
トラック
FA
音楽音量設定 2
全ての音楽トラック

シーケンスコマンド

00–A7キーオントラック

D6D7D8 コマンドで設定されるオクターブの値、このコマンドに対応した値と D9DA コマンドのトランスポーズ値、DBDC コマンドで設定される調整値でピッチを計算し、キーオンします。

コマンドに対応したティック数 (以下 T) 待機します。

T ティック後にキーオン休符演奏終了の何れかを処理する 場合は、T - 2 ティック後に自動キーオフ処理を実行します。

DSP チャネルの Volume・Pitch 計算フラグを設定します。

DSP チャネルの Source Number・ADSR(1·2) の値が設定されます。

C8 コマンドをキーオンと同時に使用しない場合は、ピッチ変化量が 0 になります。

キーオン(音長は 10 進数 他は 16 進数)
音長1234.468.8121624324864
C000102030405060708090A0B0C0D
C#0E0F101112131415161718191A1B
D1C1D1E1F20212223242526272829
D#2A2B2C2D2E2F3031323334353637
E38393A3B3C3D3E3F404142434445
F464748494A4B4C4D4E4F50515253
F#5455565758595A5B5C5D5E5F6061
G62636465666768696A6B6C6D6E6F
G#707172737475767778797A7B7C7D
A7E7F808182838485868788898A8B
A#8C8D8E8F90919293949596979899
B9A9B9C9D9E9FA0A1A2A3A4A5A6A7
ティック数C060404830202418100C08060403

A8–B5 タイ トラック

コマンドに対応したティック数 (以下 T) 待機します。

T ティック後にキーオン休符演奏終了の何れかを処理する 場合は、T - 2 ティック後に自動キーオフ処理を実行します。

タイ(音長は 10 進数 他は 16 進数)
音長1234.468.8121624324864
タイA8A9AAABACADAEAFB0B1B2B3B4B5
ティック数C060404830202418100C08060403

B6–C3 休符 トラック

コマンドに対応したティック数待機します。

スラー 及び レガート解除します。

休符(音長は 10 進数 他は 16 進数)
音長1234.468.8121624324864
休符B6B7B8B9BABBBCBDBEBFC0C1C2C3
ティック数C060404830202418100C08060403

C4 音量設定(Volume) トラック

C4 xx
xx : 音量 ($00–$FF)

C5 コマンドで変化中である 場合は、変化処理を中断して実行します。

VCU8(xx) に設定します。

DSP チャネルの Volume 計算フラグを設定しません。

C5 音量変化(Volume) トラック

C5 xx yy
xx : 処理時間 ($00–$FF)
yy : 音量 ($00–$FF)

このコマンドで変化中である 場合は、変化処理を中断して実行します。

xx が 0 である 場合は、C4 yy を実行します。

U8(yy)U8(VC) と等しい 場合は、処理を終了します。

トラック音量の値が U8(VC) から U8(yy) まで X ティックで変化します。

ティック毎の U8(VC)U8(変化前の値) と異なる 場合は、DSP チャネルの Volume 計算フラグを設定します

処理時間
xxX
00
0 以外U8(xx) - 1

C6 パン設定 トラック

C6 xx
xx : パン ($00–$FF)

C7 コマンドで変化中である 場合は、変化処理を中断して実行します。

PaCU8(xx) に設定します。

DSP チャネルの Volume 計算フラグを設定しません。

$00 (左) – $80 (中央・モノラル) – $FF (右)

パンの音量倍率(パンはチャネル音量計算直前の値)

C7 パン変化 トラック

C7 xx yy
xx : 処理時間 ($00–$FF)
yy : パン ($00–$FF)

このコマンドで変化中である 場合は、変化処理を中断して実行します。

xx が 0 である 場合は、C6 yy を実行します。

U8(yy)U8(PaC) と等しい 場合は、処理を終了します。

パンの値が U8(PaC) から U8(yy) まで X ティックで変化します。

ティック毎の U8(PaC)U8(変化前の値) と異なる 場合は、DSP チャネルの Volume 計算フラグを設定します

処理時間
xxX
00
0 以外xx - 1

C8ピッチスライドトラック

C8 xx yy
xx : 処理時間 ($00–$FF)
yy : 音程変化 ($80–$7F)

xx ティックで現在の音程から yy (semitone) 変化します。

計算結果の下位 8 ビットの値 (符号なし) がピッチスライド終了時の音程の値になります。

ピッチスライドが終了する前に更にピッチスライドを実行すると、"2 回目の処理時間" で "現在の音程" から "1 回目の処理を始める直前の (ビブラートでの変化分を除く) 音程の値に 1 回目と 2 回目の音程変化の値を加算した値 (semiton)" まで変化します。

C9 ビブラート設定 トラック

C9 xx yy zz
xx : ディレイ ($00–$FF)
yy : 周期 ($00–$FF)
zz : 揺れ方 及び 揺れの大きさ ($00–$FF)

キーオンまたはコマンド実行の xx ティック後から、約 4.5 × (yy + 1) ㎳ 毎に音程が変化し続けます。

zz の上位 2 ビットで揺れ方を、下位 6 ビットで揺れの大きさを設定します。

時間経過による揺れの大きさの倍率は 4 段階 (約 0.5, 1.0, 1.5, 2.0) ありますが、xx が 0 の場合は初回から約 2.0 倍の値で計算されます。

CA コマンド 又は zz に 0 を指定解除します。

処理回数 と ピッチ変化量 (p1 = p2 × 0.5, p3 = p2 × 1.5, p4 = p2 × 2.0)
処理回数zz の上位 2 ビットの値
0b110b010b?00b110b010b?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$01–$FF$00

CA ビブラート解除 トラック

CA

ビブラート解除します。

CBトレモロ設定トラック

D7 xx yy zz
xx : ディレイ ($00–$FF)
yy : 周期 ($00–$FF)
zz : 揺れ方 及び 揺れの大きさ ($00–$FF)

キーオンまたはコマンド実行の xx ティック後から、約 4.5 × (yy + 1) ㎳ 毎に音量変化量の値が変化し続けます。

DSP チャネルの Volume 計算時に C4C5 コマンドの音量とこのコマンドの音量の倍率の積を計算します。その計算結果は符号なし 8 ビットに収まる値 (255 を超える場合は 255) になります。

zz の上位 2 ビットで揺れ方を、下位 6 ビットで揺れの大きさを設定します (最大で v2 は約 50% になります) 。

時間経過による揺れの大きさの倍率は 4 段階 (約 0.5, 1.0, 1.5, 2.0) ありますが、xx が 0 の場合は初回から約 2.0 倍の値で計算されます。

CC コマンド 又は zz に 0 を指定解除します。

処理回数 と 音量倍率変化量 (v1 = v2 × 0.5, v3 = v2 × 1.5, v4 = v2 × 2.0)
処理回数zz の上位 2 ビットの値
0b110b010b?00b110b010b?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$01–$FF$00

CCトレモロ解除トラック

CC

トレモロ解除します。

CDオートパン設定トラック

CD xx yy
xx : 周期 ($00–$FF)
yy : 揺れ方 及び 揺れの大きさ ($80–$7F)

初回は約 4.5 × (X / 2) ㎳ で 0 → Y 、以降は約 9 × X ㎳ 周期で Y → -Y → Y とパン移動量が変化し続けます。

この値は DSP チャネルの Volume 計算時に、処理中のパンの値に加算されます。パンの計算結果は符号なし 8 ビットに収まる値 (0 未満は 0 、255 を超える場合は 255) になります。

yy で揺れ方 (Y の符号) と揺れの大きさ (Y の絶対値) を設定します。

CE コマンド 又は yy に 0 を指定解除します。

周期
xxX
02
奇数xx + 1
偶数xx
揺れ方 と 揺れの大きさ
yyY揺れ方揺れの大きさ
$80–$FF-(~yy)左 → 右 → 左~yy
$00–$7Fyy右 → 左 → 右 yy

CE オートパン解除 トラック

CE

オートパン解除します。

CFノイズクロック設定全体

CF xx
xx : ノイズクロック ($00–$1F)

DSP に設定するノイズクロックの値を設定します (0–32kHz)。

音楽と効果音で異なる値を設定できます。

ノイズを使用した効果音が演奏状態であれば効果音の値、そうでない場合は音楽の値が自動的に DSP に設定されます。

xx の上位 3 ビットは無視されます。

D0ノイズ オントラック ノイズクロックは全体

D0

DC コマンドで設定した波形データの代わりにノイズを発声するようになります。

ループが無効である波形が設定されている 場合は、その長さの時間発声します。

D1ノイズ オフトラック ノイズクロックは全体

D1

DC コマンドで設定した波形データを使用して発声するようになります。

D2 ピッチモジュレーション オン トラック

D2

一つ前のチャネルの DSP 内部の値 (OUTX) を用いてピッチ変調をかけるようになります。

音楽トラック 1 は効果がありません。

D3 ピッチモジュレーション オフ トラック

D3

ピッチ変調をかけなくなります。

D4 エコー オン トラック

D4

エコーがかかるようになります。

D5 エコー オフ トラック

D5

エコーがかからなくなります。

D6 オクターブ設定 トラック

D6 xx
xx : オクターブ ($00–$0F)

ノート番号計算に使用するオクターブの値を、U8(xx) に設定します。

D7 オクターブ + 1 トラック

D7

ノート番号計算に使用するオクターブの値を、U8(現在値 + 1) に設定します。

D8 オクターブ - 1 トラック

D8

ノート番号計算に使用するオクターブの値を、U8(現在値 - 1) に設定します。

D9 キートランスポーズ値設定 トラック

D9 xx
xx : トランスポーズ値 ($80–$7F)

ノート番号計算に使用するトランスポーズ値を、S8(xx) に設定します。

DA キートランスポーズ値相対設定 トラック

DA xx
xx : トランスポーズ値変化 ($80–$7F)

ノート番号計算に使用するトランスポーズ値を、S8(現在値 + S8(xx)) に設定します。

DB ディチューン トラック

DB xx
xx : ピッチ調整 ($80–$7F)

キーオン時に計算されるピッチの値を微調整することができます。

PITCH ≒ ノート番号に対応したピッチ × (256 + S8(ピッチ調整値 1 + S8(xx))) ∕ 256 × (65536 + U8(ピッチ調整値 2)) ∕ 65536

xx に 0 を指定で解除します。

既定値は 0 です。

DC音色選択トラック

DC xx
xx : 音色番号 ($00–$3F)

音色を選択します。

"キーオン時に DSP チャネルに設定する Source Number・ADSR(1·2) の値 と ピッチ調整に使用する値二つ" が "トラックに" 設定されます。

Attack Rate の値は、DD コマンドで上書き可能です。

Decay Rate の値は、DE コマンドで上書き可能です。

Sustain Level の値は、DF コマンドで上書き可能です。

Sustain Rate の値は、E0 コマンドで上書き可能です。

ピッチ調整に使用する値の一つは、DB コマンドで調整可能です。

スラーレガート解除します。

DD Attack Rate 設定 トラック

DD xx
xx : Attack Rate ($00–$0F)

"キーオン時に DSP チャネルに設定する Attack Rate の値" U4(xx) を "トラックに" 設定します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

DC コマンドで音色に対応した値に初期化されます。

DE Decay Rate 設定 トラック

DE xx
xx : Decay Rate ($00–$07)

"キーオン時に DSP チャネルに設定する Decay Rate の値" U3(xx) を "トラックに" 設定します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

DC コマンドで音色に対応した値に初期化されます。

DF Sustain Level 設定 トラック

DF xx
xx : Sustain Level ($00–$07)

"キーオン時に DSP チャネルに設定する Sustain Level の値" U3(xx) を "トラックに" 設定します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

DC コマンドで音色に対応した値に初期化されます。

E0 Sustain Rate 設定 トラック

E0 xx
xx : Sustain Rate ($00–$1F)

"キーオン時に DSP チャネルに設定する Sustain Level の値" U5(xx) を "トラックに" 設定します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

DC コマンドで音色に対応した値に初期化されます。

E1 ADSR 初期化 トラック

DDDEDFE0 コマンドで設定された値を DC コマンドで自動的に設定される値に戻します。

DSP チャネルを使用中のトラックである 場合は、コマンド実行時に DSP チャネルの ADSR(1·2) の値が更新されます。

E2 ループ開始位置 トラック

E2 xx
xx : カウントダウンカウンタの初期値 ($00–$FF)

このコマンドと E3 コマンドでループ処理を行います。

最内ループのカウントダウンカウンタ値 (ループ上限回数) を X に設定します。

音楽トラックを処理する 場合は、最内ループの F6 コマンドのカウントアップカウンタ値 (コマンド処理回数) を 0 に初期化します。

ループ内で F6 コマンドを使用する 場合は、カウンタ値を調整する必要があります。

一つのトラックで同時に使用可能なループ処理の最大数は 4 です (5 以上は一番古いデータが最新のデータで上書きされます)。

カウンタ初期値 X と ループ上限回数
xxXループ上限回数
$00, $FF0無限
$01–$FEU8(xx) + 1U8(xx) + 1

E3 繰り返し・ループ終了 トラック

E3
E2 コマンドのカウントダウンカウンタ値が 0 である場合

最内ループ開始位置へジャンプします (無限ループ)。

E2 コマンドのカウントダウンカウンタ値が 1 以上である場合

カウンタ値を U8(現在値 - 1) に設定します。

カウンタ値が 1 以上である 場合は、最内ループ開始位置へジャンプします。カウンタ値が 0 である 場合は、ループを抜けます。

E4 スラー開始 トラック

E4

既にキーオンされた状態で次の処理コマンドがキーオンの場合、直前のキーオフ処理とキーオン処理を実行せずピッチ変更のみを実行します。

レガート解除します。

E5 コマンドで解除します。

DCE6 コマンド、休符解除されます。

E5 スラー終了 トラック

E5

スラー解除します。

E6 レガート開始 トラック

E6

既にキーオンされた状態で次の処理コマンドがキーオンの場合、直前のキーオフ処理を実行しなくなります。

スラー解除します。

E7 コマンドで解除します。

DCE4 コマンド、休符解除されます。

E7 レガート終了 トラック

E7

レガート解除します。

E8 音長(待機時間)設定 トラック

E8 xx
xx : 音長 ($00–$FF)

xx が 0 以外である 場合は、以降に処理するキーオンタイ休符コマンドで待機するティック数を一度だけ U8(xx) に設定します。

U8(xx) が 2 以下である 場合は、時間経過による自動キーオフ処理を実行しません。

EB演奏終了トラック

EB

演奏を終了します。

スラーレガートノイズピッチモジュレーションエコーが無効になります。

すべての効果音が無演奏状態になった場合、DSP のノイズクロックは音楽の値が設定されます。

EC–EF, FB–FF演奏終了 2トラック

EC, ED, EE, EF, FB, FC, FD, FE, FF

ノイズピッチモジュレーションエコーが無効になります

他の処理内容は EB コマンドと同じですが、これらのコマンドは次のキーオンタイ休符コマンドを探す処理で無視されます。

F0 音楽演奏速度基本値設定 全ての音楽トラック

F0 xx
xx : 演奏速度基本値 ($01–$FF)

F1 コマンドで変化中である 場合は、変化処理を中断して実行します。

音楽演奏速度の基本値を U8(xx) に設定します。

ファンクション 86 で音楽演奏速度倍率を設定します。

BPM = (1000 ∕ 4.5) × (音楽演奏速度 ∕ 256) ∕ 48 × 60 処理が間に合わないことがあるため、若干小さな値になる可能性があります

演奏速度が 0 になるとコマンド処理ができなくなります。

効果音はこのコマンドを使用できません。処理をスキップします。

F1 音楽演奏速度基本値変化 全ての音楽トラック

F1 xx yy
xx : 処理時間 ($01–$FF)
yy : 演奏速度基本値 ($01–$FF)

このコマンドで変化中である 場合は、変化処理を中断して実行します。

xx が 0 である 場合は、F0 yy を実行します。

U8(yy)U8(現在値) と等しい 場合は、処理を終了します。

音楽演奏速度の基本値が U8(現在値) から U8(yy) まで X ティックで変化します。

効果音はこのコマンドを使用できません。処理をスキップします。

処理時間
xxX
00
0 以外U8(xx) - 1

F2 エコーボリューム設定 全体

F2 xx
xx : エコーボリューム ($00–$FE)

F3 コマンドで変化中である 場合は、変化処理を中断して実行します。

DSP に設定するエコーボリュームの値を LSR8(xx, 1) に設定します。

効果音はこのコマンドを使用できません。処理をスキップします。

F3 エコーボリューム変化 全体

F3 xx yy
xx : 処理時間 ($00–$FF)
yy : エコーボリューム ($00–$FE)

このコマンドで変化中である 場合は、変化処理を中断して実行します。

xx が 0 である 場合は、F2 yy を実行します。

LSR8(yy, 1)U7(現在値) と等しい 場合は、処理を終了します。

DSP に設定するエコーボリュームの値が U7(現在値) から LSR8(yy, 1) まで X ティックで変化します。

効果音はこのコマンドを使用できません。処理をスキップします。

処理時間
xxX
00
0 以外U8(xx) - 1

F4 エコーフィードバック設定・FIR フィルタ係数テーブル選択 全体

F4 xx yy
xx : エコーフィードバック ($80–$7F)
yy : FIR フィルタ係数テーブル選択 ($00–$03)

DSP に設定するエコーフィードバックの値を S8(xx) に設定します。

DSP に設定する FIR フィルタ係数のテーブルの番号を U2(yy) に設定します。

効果音はこのコマンドを使用できません。処理をスキップします。

FIR フィルタ係数 (16進数)
U2(yy)FIR フィルタ係数
C0C1C2C3C4C5C6C7
007F00000000000000
010C212B2B13FEF3F9
0258BFDBF0FE070C0C
03343300d9E501FCEB

F5 音楽音量設定 全ての音楽トラック

F5 xx
xx : 音量 ($00–$FF)

音楽の音量計算に使用される倍率の値の一つが U8(xx) に設定されます。

既定値は 255 です。

F6ループ内条件ジャンプトラック

F6 xx yyyy
xx : 処理回数
yyyy : ジャンプ先

U8(xx) が 最内ループで F6 コマンドを処理した回数 と等しい 場合は、アドレス U16(U16(yyyy)R16($0000)) へジャンプします。

ジャンプする場合

E2 コマンドのカウンタ値が 2 である 場合は、自動的に最内ループを抜けます。

効果音は使用できません。処理をスキップします。

F7 ジャンプ トラック

F7 xxxx
xxxx : ジャンプ先

アドレス U16(U16(xxxx)R16($0000)) へジャンプします。

効果音はこのコマンドを使用できません。処理をスキップします。

FA 音楽音量設定 2 全ての音楽トラック

FA

チャネルの音量計算に使用される倍率の値の一つが、F5 コマンドの値の代わりに "2 の トラック番号 - 1 乗" に設定されます。

DC コマンドで解除されます。

効果音はこのコマンドを使用できません。処理をスキップします。