Gnilda のページ


Romancing Sa·Ga 3 : シーケンスコマンド一覧


  1. ホーム
  2. スーパーファミコンのサウンドドライバ
  3. Romancing Sa·Ga 3
  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 xx
効果音演奏 2
EB
演奏終了
トラック ノイズクロックは全体
EC–EE, FE–FF
演奏終了 2
トラック ノイズクロックは全体
EF
効果音再生 (キーオン)
F0 xx
音楽演奏速度基本値設定
全ての音楽トラック
F1 xx yy
音楽演奏速度基本値変化
全ての音楽トラック
F2 xx
エコーボリューム設定
全体
F3 xx yy
何もしない
F4 xx
音楽音量設定
全ての音楽トラック
F5 xx yy_zz
ループ内条件ジャンプ
音楽トラック
F6 xx_yy
ジャンプ
トラック
F7 xx
エコーフィードバック 変化/設定
全体
F8 xx
FIR フィルタ係数 変化/設定 (テーブル選択)
全体
FA xx yy_zz
条件ジャンプ
トラック
FB
ドラムセットオン
音楽トラック
FC
ドラムセットオフ
音楽トラック
FD xx
効果音演奏 3
トラック

シーケンスコマンド

00–A7 キーオン トラック

ドラムセット オフ

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

ドラムセット オン

半音の値 (C–B) に対応した内部データの値で波形設定・音量設定を実行し、内部データの音程の値と D9DA コマンドのトランスポーズ値、DBDC コマンドで設定される微調整値でピッチを計算し、キーオンします。

C5 コマンドで音量変化中である場合は、音量設定は実行されません。

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

EB コマンドで演奏終了、または次に処理する 00-C3 コマンドがタイ以外の場合は、コマンドに対応した数値 - 2 ティック後にキーオフします。

DSP チャネル の Volume・Pitch 計算フラグがオンになります。

DSP チャネル の Source Number・ADSR の値が設定されます。

キーオン (音長は 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 タイ トラック

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

EB コマンドで演奏終了、または次に処理する 00-C3 コマンドがタイ以外の場合は、コマンドに対応した数値 - 2 ティック後にキーオフします。

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

B6–C3 休符 トラック

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

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

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

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

C4 xx
xx : 音量 ($00–$7F)

トラック音量の値が xx に設定されます。

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

DSP チャネル の Volume 計算フラグがオンになります。

実行中の C5 コマンドは中断されます。

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

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

トラック音量が現在の値から yy まで X ティックで変化します。

yy の最上位 ビットは無視されます。

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

C6 パン設定 トラック

C6 xx
xx : パン ($00–$7F)

パンの値が xx * 2 に設定されます。

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

0x00 (左) - 0x80 (中央・モノラル) - 0xFF (右)

DSP チャネル の Volume 計算フラグがオンになります。

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

C7 パン変化 トラック

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

パンが現在の値から yy * 2 まで X ティックで変化します。

yy の最上位 ビットは無視されます。

0x00 (左) - 0x80 (中央・モノラル) - 0xFF (右)

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

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

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

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

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

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

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

音楽
C9 xx yy zz
xx : ディレイ ($00–$FF)
yy : 周期 ($00–$FF)
zz : 揺れ方と揺れの大きさ ($00–$FF)
効果音
C9 mm yy zz
mm : 揺れの倍率 ($00–$0B)
yy : 周期 ($00–$FF)
zz : 揺れ方と揺れの大きさ ($00–$FF)

ディレイ (xx) は 0 に設定されます。

mm を 12 で除した余りで揺れの大きさの倍率を設定します。0 で音楽と同じ値になります。

キーオンまたはコマンド実行の X ティック後から、約 4.875 * Y ㎳ 毎に音程が変化し続けます。

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

時間経過による揺れの大きさの倍率は 4 段階ありますが、xx が 0 の場合は最初から最大値で計算されます。

CA コマンド (または zz に 0 を指定) で解除されます。

ディレイ
xxX
00
0 以外xx - 1
周期 ∕ 2
yyY
0256
0 以外yy
処理回数とピッチ変化 (p2 ≒ p1 * 2, p3 ≒ p1 * 3, p4 ≒ p1 * 4)
処理回数zz の上位 2 ビットの値
0b110b0?0b100b110b0?0b10
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)

キーオンまたはコマンド実行の X ティック後から、音量の倍率は約 4.875 ㎳ 毎に、音量の倍率計算に使用する値は約 4.875 * Y ㎳ 毎に変化し続けます。

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

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

時間経過による揺れの深さの倍率は 4 段階ありますが、xx が 0 の場合は最初から最大値で計算されます。

CC コマンド (または zz に 0 を指定) で解除されます。

ディレイ
xxX
00
0 以外xx - 1
周期 ∕ 2
yyY
0256
0 以外yy
処理回数と音量倍率変化量 (v2 ≒ v1 * 2, v3 ≒ v1 * 3, v4 ≒ v1 * 4)
処理回数zz の上位 2 ビットの値
0b110b0?0b100b110b0?0b10
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.875 * (X / 2) ㎳ で 0 → Y 、以降は約 9.75 * 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)。

相対設定
CF xx
xx : ノイズクロックとフラグ ($20–$FF)

既に設定されているノイズクロックの値と xx の下位 5 ビットの値を加算し、結果の下位 5 ビットの値を設定します。

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

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

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

D0

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

ループしない波形が設定されている場合はその長さの時間だけ発声します。

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

D1

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

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

D2

ひとつ前の DSP チャネル OUTX の値 でピッチ変調をかけるようになります。

トラック 1 (DSP チャネル 0) には変調がかかりません。

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

D3

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

D4 エコー オン トラック

D4

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

D5 エコー オフ トラック

D5

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

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

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

ノート番号計算に使用される値が、xx * 12 に設定されます。計算結果の下位 8 ビットの値が設定されます。

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

D7

ノート番号計算に使用される値が、現在の値 + 12 に設定されます。計算結果の下位 8 ビットの値が設定されます。

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

D8

ノート番号計算に使用される値が、現在の値 - 12 に設定されます。計算結果の下位 8 ビットの値が設定されます。

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

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

キーオン時のピッチ計算に使用される音程の値を xx (Semitone) 変化させます。

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

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

トランスポーズ値が、現在の値 + xx に設定されます。計算結果の下位 8 ビットの値が設定されます。

DBディチューントラック

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

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

この値は DC コマンドのピッチ微調整に使用する値の一つに加算され、結果の下位 8 ビットが使用されます。

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

このコマンドの値のみがピッチ計算に使用される (DC コマンドの値でピッチ微調整を行わない) 場合、ピッチの値はこのコマンドを利用しない場合の値の約 0.5–1.5 倍になります。

DC音色選択トラック

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

波形を選択します。

内部で DSP に設定する ADSR の値と、ピッチ微調整に使用する値二つが設定されます。

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

DDAttack Rate 設定トラック

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

DSP に設定する Attack Rate の値が設定されます。

上位 4 ビットは無視されます。

DEDecay Rate 設定トラック

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

DSP に設定する Decay Rate の値が設定されます。

上位 5 ビットは無視されます。

DFSustain Level 設定トラック

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

DSP に設定する Sustain Level の値が設定されます。

上位 5 ビットは無視されます。

E0Sustain Rate 設定トラック

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

DSP に設定する Sustain Rate の値が設定されます。

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

E1ADSR 初期化トラック

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

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

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

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

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

再内ループの F5 コマンドのカウントアップカウンタの値を 1 に初期化します。

カウントダウンカウンタ
xx初期値ループ回数
$00, $FF0無限
$01–$FExx + 1最大で xx + 1 回

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

E3

最内ループの F5 コマンドのカウントアップカウンタの値を 1 増やします。

E2 コマンドのカウンタ値が 0 の場合、そのまま最内ループ開始位置までジャンプします (無限ループ)。

カウンタ値が 1 以上の場合は 1 減らされます。結果が 1 以上の場合は、最内ループ開始位置までジャンプします。結果が 0 になる場合は、最内ループを抜けます。

E4スラー開始トラック

E4

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

レガートを解除します。

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

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

E5スラー終了トラック

E5

スラーを解除します。

E6レガート開始トラック

E6

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

スラーを解除します。

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

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

E7レガート終了トラック

E7

レガートを解除します。

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

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

xx が $00 以外の値の場合、次に実行するキーオンタイ休符コマンドの(更に次のコマンドを実行するまでの)待機時間が、コマンド対応した値ではなく xx ティックに設定されます。

xx が 2 以下であればキーオフせず、3 以上は通常のキーオンタイ休符コマンドと同じ設定になります。

EB演奏終了トラック ノイズクロックは全体

EB

演奏を終了します。

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

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

EC–EE, FE–FF演奏終了 2トラック ノイズクロックは全体

EC, ED, EE, FE, FF

演奏を終了します。

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

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

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

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

音楽の演奏速度の基本値が xx に設定されます。

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

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

bpm = (1000 / 4.875) * (T / 256) / 48 * 60 (処理が間に合わないことがあるため若干小さな値になります)

演奏速度倍率 M と 演奏速度 T
MT0T備考
$80–$FFxx × U8(M) / 256 × 1MAX(001, T0)
$00xxT0T = 0 : 演奏コマンド処理不可
$01–$7Fxx + xx × M / 256 × 2MIN(255, T0)

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

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

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

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

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

bpm = (1000 / 4.875) * (T / 256) / 48 * 60 (処理が間に合わないことがあるため若干小さな値になります)

処理時間 と 演奏速度基本値(Y1 は 1 回あたりの演奏速度変化量)
xxyyXY0Y1Y
0any0--yy
0 以外= T
< Txx - 1(yy - T) × 256Y0 / xxT + Y1 × xx / 256
> TY0 / xx
演奏速度倍率 M と 演奏速度 T
MT0T備考
$80–$FFY × U8(M) / 256 × 1MAX(001, T0)
$00YT0T = 0 : 演奏コマンド処理不可
$01–$7FY + Y × M / 256 × 2MIN(255, T0)

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

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

DSP Echo Volume の値が xx に設定されます。

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

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

F4 xx
xx : 音量 ($00–$7F)

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

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

コマンドを実行したトラックに対応する DSP チャネル の Volume 計算フラグがオンになります。

初期値はコマンドで設定不可能な 255 です。

効果音も設定可能ですが、効果はありません。

F5ループ内条件ジャンプ音楽トラック

F5 xx yy zz
xx : カウントアップカウンタの値
zzyy : ジャンプ先

最内ループの F5 コマンドのカウントアップカウンタの値が xx の場合、zzyy に アドレス $0000 の 16 ビットの値を加算した結果の下位 16 ビットのアドレスへジャンプします。

ジャンプする場合 E2 コマンドのカウンタ値が 1 であれば最内ループを抜けるので、E3 コマンドは不要です。

効果音は使用できません。

F6ジャンプトラック

F6 xx yy
yyxx : ジャンプ先

yyxx に アドレス $0000 の 16 ビットの値を加算した結果の下位 16 ビットのアドレスへジャンプします。

F7エコーフィードバック [変化]/設定全体

F7 xx
xx : エコーフィードバック ($80–$7F)
変化

DSP Echo Feedback の値が現在の値 F から X まで約 48 ティックで変化します。

エコーフィードバック(X1 は 1 回あたりのエコーフィードバック変化量)
xxX0X1X
≤ F(xx - F) × 256X0 / 48F + X1 × 48 / 256
> FX0 / 48
設定

DSP Echo Feedback の値を xx に設定します。

このコマンドはファンクション FF 01変化/設定 を変更可能です。

F8FIR フィルタ係数 [変化]/設定 (テーブル選択)全体

F8 xx
xx : FIR フィルタ係数テーブル選択 ($00–$03)
変化

DSP FIR フィルタ係数の値が現在の値 Fn から Xn まで約 48 ティックで変化します(n = 0, 1, …, 7)

FIR フィルタ係数(Cn は 選択された値 Xn1 は 1 回あたりのフィルタ係数変化量)
CnXn0Xn1Xn
≤ Fn(Cn - Fn) × 256Xn0 / 48FnXn1 × 48 / 256
> FnXn0 / 48
設定

DSP FIR フィルタ係数を選択された値に設定します。

xx で DSP に設定する FIR フィルタ係数のテーブルを選択します。

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

このコマンドはファンクション FF 01変化/設定 を変更可能です。

FIR フィルタ係数 (16進数)
xxエコーフィルタ
C0C1C2C3C4C5C6C7
007F00000000000000
010C212B2B13FEF3F9
0258BFDBF0FE070C0C
03343300D9E501FCEB

FA条件ジャンプトラック

FA xx yy zz
xx : 比較する値 ($00–$0F)
zzyy : ジャンプ先

ファンクション 88 で設定される内部データの値と xx の値を比較し xx が内部データの値以下の場合、yyxx に アドレス $0000 の 16 ビットの値を加算した結果の下位 16 ビットのアドレスへジャンプします。

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

FBドラムセットオン音楽トラック

FB

キーオン時に半音の値 (C–B) に対応した内部データの値で音色設定・音量設定を実行するようになります。

効果音トラックで使用すると、同じ DSP チャネルを使用する音楽トラックの設定が変化します。

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

FCドラムセットオフ音楽トラック

FC

ドラムセット解除します。

効果音トラックで使用すると、同じ DSP チャネルを使用する音楽トラックの設定が変化します。

FD効果音演奏 3トラック

FD xx
xx : 効果音番号 ($00–$FF)

使用したトラックに対応した効果音トラック (最大 2) で効果音を演奏します。DSP のチャネルは C1 (と C2) を使用します。

音量の初期値は 70 、オクターブの初期値は 6 です。

パンに関する設定 (C6C7 で変化中を含む) はコマンドを実行したトラックの値を使用します。

このコマンドはファンクション 8E何もしないコマンド に変化します。

トラック と チャネル
トラックC1C2
1, 201
3, 423
5, 645
7, 867