Gnilda のページ


ブレッドクラムナビゲーション


グローバルナビゲーション


ローカルナビゲーション


ローカルナビゲーション


ページ内ナビゲーション


Romancing Sa·Ga 3 : サウンドドライバファンクション一覧


  1. ホーム
  2. SPC
  3. Romancing Sa·Ga 3
  4. サウンドドライバファンクション一覧

サウンドドライバファンクション一覧
10 xx yy zz
音楽演奏開始 1-A
11 xx yy zz
音楽演奏開始 2-A
12 xx yy zz
音楽演奏開始 1-B
13 xx yy zz
音楽演奏開始 2-B
14 xx yy zz
音楽演奏開始 1-C
15 xx yy zz
音楽演奏開始 2-C
16 xx yy zz
音楽演奏開始 1-D
17 xx yy zz
音楽演奏開始 2-D
18 xx yy
効果音 1 演奏開始
19 xx yy
効果音 2 演奏開始
1A xx yy
効果音 3 演奏開始
1B xx yy
効果音 4 演奏開始
1C xx yy
演奏コマンド EF 効果音再生 (キーオン) 設定 [パン・キーオン時エコー無効]
1D xx yy
演奏コマンド EF 効果音再生 (キーオン) 設定 [パン・キーオン時エコー有効]
80 xx yy
フェード用音量倍率 設定/変化
81 xx yy
音楽フェード用音量倍率 設定/変化
82 xx yy
効果音フェード用音量倍率 設定/変化
85 xx yy
音楽ピッチと演奏速度倍率 設定/変化
86 xx yy
音楽演奏速度倍率 設定/変化
87 xx yy
音楽ピッチ倍率 設定/変化
88 xx
演奏コマンド FA のデータ設定
8D xx
音楽演奏開始 3
8E xx
演奏コマンド FD の設定 [有効/無効]
8F xx
DSP Master Volume 自動変化の設定 [有効/無効]
F0
演奏停止
F1
音楽演奏停止
F2 xx
効果音演奏停止 (選択)
F3 xx
音声出力設定 [ステレオ/モノラル]
F4
音楽ミュート
F5 xx
演奏中断設定 [有効/無効]
F6 xx
演奏速度設定 - クイックタイム [有効/無効]
F8 xx
音楽ミュート解除 (トラック選択)
F9 xx
音楽ミュート設定 (トラック選択)
FC xx
エコーディレイ設定
FE
データ転送
APU メモリブロックコピー
FF 01 yy
演奏コマンド F7F8 の動作 [設定/変化] と APU I/O ポート へ書き込む内容 の設定
FF F0
再起動

サウンドドライバファンクション

80フェード用音量倍率 設定/変化

80 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : 音量倍率 (0x00 〜 0xFF)

81 xx yy82 xx yy を実行します。

81音楽フェード用音量倍率 設定/変化

81 xx yy

実行中の 81 コマンド (変化) は中断されます。

設定
xx : 処理時間 (0x00)
yy : 音量倍率 (0x00 〜 0xFF)

音楽のフェードイン・フェードアウトに使用する音量の倍率を yy に設定します。

変化
xx : 処理時間 (0x01 〜 0xFF)
yy : 音量倍率 (0x00 〜 0xFF)

音楽のフェードイン・フェードアウトに使用する音量の倍率が、現在の値 V から Y まで約 Xmin 〜 Xmax ㎳ で変化します。

音量倍率の整数部が前回の値と異なる場合、全ての音楽演奏中のトラックに対応した DSP チャネル の Volume 計算フラグがオンになります。

音量倍率の整数部が 0 で終了した場合、F1 コマンドを実行します。

コマンド実行時に音楽を演奏中且つ効果音を演奏中ではない DSP チャネル の Volume 計算フラグがオンになります。

処理時間 と 音量倍率(Y1 は 1 回あたりの倍率変化量)
xxyy動作XminXmaxY0Y1Y
0any設定00--yy
0 以外≤ V変化4.875 × (7 × (xx − 1) )Xmin + 4.875 × 6(yy − V) × 256Y0 / xxV + Y1 × xx / 256
> VY0 / xx

82効果音フェード用音量倍率 設定/変化

82 xx yy

実行中の 82 コマンド (変化) は中断されます。

設定
xx : 処理時間 (0x00)
yy : 音量倍率 (0x00 〜 0xFF)

効果音のフェードイン・フェードアウトに使用する音量の倍率を yy に設定します。

変化
xx : 処理時間 (0x01 〜 0xFF)
yy : 音量倍率 (0x00 〜 0xFF)

効果音のフェードイン・フェードアウトに使用する音量の倍率が、現在の値 V から Y まで約 Xmin 〜 Xmax ㎳ で変化します。

音量倍率の整数部が前回の値と異なる場合、効果音を演奏中の DSP チャネル の Volume 計算フラグがオンになります。

音量倍率の整数部が 0 で終了した場合、F2 0F 相当の処理を実行します。

コマンド実行時に効果音を演奏中の DSP チャネルの Volume 計算フラグがオンになります。

処理時間 と 音量倍率(Y1 は 1 回あたりの倍率変化量)
xxyy動作XminXmaxY0Y1Y
0any設定00--yy
0 以外≤ V変化4.875 × (7 × (xx − 1) )Xmin + 4.875 × 6(yy − V) × 256Y0 / xxV + Y1 × xx / 256
> VY0 / xx

85音楽ピッチと演奏速度倍率 設定/変化

85 xx yy
xx : 処理時間 (0x00 〜 0xFF)
yy : 倍率 (0x80 〜 0x7F)

87 xx yy86 xx yy を実行します。

86音楽演奏速度倍率 設定/変化

86 xx yy

実行中の 86 コマンド (変化) は中断されます。

設定
xx : 処理時間 (0x00)
yy : 演奏速度倍率 (0x80 〜 0x7F)

演奏コマンド F0 で設定される音楽演奏速度の倍率を yy に設定します。

変化
xx : 処理時間 (0x01 〜 0xFF)
yy : 演奏速度倍率 (0x80 〜 0x7F)

演奏コマンド F0 で設定される音楽演奏速度の倍率が、現在の値 MT から Y まで約 Xmin 〜 Xmax ㎳ で変化します。

0x80 (約 0.5 倍) - 0x00 (1.0 倍) - 0x7F (約 2.0 倍)

Y が 0 以外の値の場合は、演奏速度の計算結果 T0 が 0 以下の場合は 1 、255 を超える場合は 255 が設定されます。

処理時間 Xmin,Xmax と 演奏速度倍率 Y(Y1 は 1 回あたりの倍率変化量)
xxyy動作XminXmaxY0Y1Y
0any設定00--yy
0 以外= MT
< MT変化4.875 × (7 × (xx − 1) )Xmin + 4.875 × 6(yy − V) × 256Y0 / xxV + Y1 × xx / 256
> MTY0 / xx
演奏速度倍率 Y と 演奏速度 T(TF0 は演奏コマンド F0 で設定される値)
YT0T備考
0x80 - 0xFFTF0 × u8(Y) / 256 × 1max(001, T0)
0x00TF0T0T = 0 : 演奏コマンド処理不可
0x01 - 0x7FTF0TF0 × Y / 256 × 2min(255, T0)

87音楽ピッチ倍率 設定/変化

87 xx yy

実行中の 87 コマンド (変化) は中断されます。

設定
xx : 処理時間 (0x00)
yy : ピッチ倍率 (0x80 〜 0x7F)

音楽のピッチ計算に使用する倍率を yy に設定します。

変化
xx : 処理時間 (0x01 〜 0xFF)
yy : ピッチ倍率 (0x80 〜 0x7F)

音楽のピッチ計算に使用する倍率が、現在の値 MP から Y まで約 Xmin 〜 Xmax ㎳ で変化します。

0x80 (約 0.5 倍) - 0x00 (1.0 倍) - 0x7F (約 2.0 倍)

計算結果 P の下位 14 ビットが有効です。

処理時間 Xmin,Xmax と ピッチ倍率 Y(Y1 は 1 回あたりの倍率変化量)
xxyy動作XminXmaxY0Y1Y
0any設定00--yy
0 以外= MP
< MP変化4.875 × (7 × (xx − 1) )Xmin + 4.875 × 6(yy − V) × 256Y0 / xxV + Y1 × xx / 256
> MPY0 / xx
ピッチ倍率 Y と ピッチ P(P0 は キーオン + ピッチスライド + ビブラート の値)
YP
0x80 - 0xFFP0 × u8(Y) / 256 × 1
0x00 - 0x7FP0P0 × Y / 256 × 2

88演奏コマンド FA のデータ設定

88 xx
xx : 内部データの値 (0x00 〜 0x0F)

演奏コマンド FA で使用する内部データの値を xx に設定します。

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

8D音楽演奏開始 3

8E

全体の演奏データを初期化します (全トラックビット初期化・演奏速度)。

このコマンド以外で最後にデータ転送が実行された音楽演奏開始コマンドの設定を使用してトラックデータ先頭アドレスを設定します。

トラック毎の演奏データを初期化します (変化系中断・無効)。

演奏コマンド F4 の音量倍率が 255 に設定されます。

演奏コマンド FD が 有効に設定されます。

8E演奏コマンド FD の設定 [有効/無効]

8E xx
xx : フラグ (0x00 〜 0xFF)

xx で演奏コマンド FD の 有効/無効 を設定します。

フラグ と 機能
xxFD
0有効
0 以外無効

8FDSP Master Volume 自動変化 (と DSP Echo Volume 更新) の設定 [有効/無効]

8F xx
xx : フラグ (0x00 〜 0x01)

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

自動変化を無効に設定した場合は DSP Master Volume に 64 が設定されます。

自動変化を有効に設定した場合は内部の移動量の整数部が前回と異なる場合に、 DSP Master Volume と Echo Volume が計算・設定されます。

音声出力がモノラルの場合は無視されます。

不具合と思われる動作

xx の最下位 ビットで DSP Master Volume 自動変化の 有効/無効 を設定します。

自動変化を有効に設定した場合、初回は約 4.875 * 79 ㎳、以降は 4.875 * 160 ㎳ 周期で DSP Master Volume の移動量が変化し続けます。

xx が 1 且つ 音声出力がモノラルの場合は、演奏コマンド F2 を実行しても内部データの値が更新されるだけで、DSP Echo Volume は更新されません

フラグ と 設定
xx.0音声出力設定
0モノラル-
ステレオ無効
1モノラル-
ステレオ有効
設定 と 動作
8F 設定音声出力MVol 自動変化EVol 更新
無効モノラル無効F2
ステレオ
有効モノラル-
ステレオ有効F2
処理回数 と 移動量・Volume(n = 0, 1, ...)
処理回数移動量MVol(L)MVol(R)
80 × (4n + 0)±00−64+64
80 × (4n + 1)+63−34+94
80 × (4n + 2)±00−64+64
80 × (4n + 3)−64−96+32
機能仕様通りと思われる動作

xx の最下位 ビットで DSP Master Volume と Echo Volume 自動変化の 有効/無効 を設定します。

自動変化を有効に設定した場合、初回は約 4.875 * 79 ㎳、以降は 4.875 * 160 ㎳ 周期で DSP Master Volume と Echo Volume の移動量が変化し続けます。

フラグ と 設定
xx.0音声出力設定
0モノラル-
ステレオ無効
1モノラル-
ステレオ有効
設定 と 動作
8F 設定音声出力自動変化
無効モノラル無効
ステレオ
有効モノラル
ステレオ有効
処理回数 と Volume(n = 0, 1, ... E は 演奏コマンド F2 で設定するエコーボリュームの値)
処理回数MVol(L)MVol(R)EVol(L)EVol(R)
80 × (4n + 0)−64+64+E−E
80 × (4n + 1)−34+94E × 191 / 128E × 065 / 128
80 × (4n + 2)−64+64+E−E
80 × (4n + 3)−96+32E × 064 / 128E × 192 / 128

F0演奏停止

F0

F1F2 0F 相当の処理を実行します。

F1音楽演奏停止

F1

内部フラグを更新して演奏停止します。

演奏データを退避している曲の番号と現在演奏中の曲の番号が 0xFF に設定されます。

F2効果音演奏停止 (選択)

F2 xx
xx : 効果音 (0x01 〜 0x1E)

xx の各ビットに対応した効果音が演奏中である場合は演奏停止します。

ビット番号 と 効果音(b = 0, 1, ..., 4)
xx のビット番号効果音効果音トラック番号DSP チャネル
017, 86, 7
125, 64, 5
233, 42, 3
341, 20, 1
4--6, 7
効果音トラック演奏終了 (ビット 0 〜 3)

ビットに対応するチャネルの キーオフ を予約します。

ビットに対応するチャネルの キーオン・Volume 設定・Pitch 設定 予約をキャンセルします。

2 ティック後に演奏終了するようにトラックの内部データを更新します。

演奏コマンド EF の効果音 キーオフ (ビット 4)

チャネル 6, 7 のキーオフを予約します。

F3音声出力設定 [ステレオ/モノラル] (と DSP Echo Volume 更新) の設定 [有効/無効]

F3 xx
xx : フラグ (0x00 〜 0xFF)

xx で音声出力を設定します。

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

モノラルに設定した場合は DSP Master Volume に 64 が設定されます。

不具合と思われる動作

コマンド 8F がの設定が 有効 且つ 音声出力がモノラルの場合は、演奏コマンド F2 を実行しても内部データの値が更新されるだけで、DSP Echo Volume は更新されません

フラグ と 設定
xx8F 設定音声出力EVol 更新
0無効ステレオF2
有効F2
0 以外無効モノラルF2
有効-
機能仕様通りと思われる動作
フラグ と 設定
xx8F 設定音声出力EVol 更新
0無効ステレオF2
有効8F
0 以外無効モノラルF2
有効

F4音楽ミュート

F4

全ての音楽トラックのミュートをオンに設定します。

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

F5演奏中断設定 [有効/無効]

F5 xx
xx : フラグ (0x00 〜 0xFF)
有効

DSP 全チャネルの ADSR/GAIN モードフラグが GAIN モードに設定されます。

DSP 全チャネルの Volume の値が 0 に設定されます。

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

APU I/O ポート へ書き込む値を計算するための内部データが全て 0 に上書きされます。

中断が解除されるまで演奏制御 (DSP 設定・トラック内部データの計算など) が実行されなくなります。

中断が解除されるまで効果音演奏コマンド (18・19・1A・1B) を実行しても無視されます。

無効

DSP 全チャネルの ADSR/GAIN モードフラグが ADSR モードに設定されます。

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

演奏制御 (DSP 設定・トラック内部データの計算など) が実行されるようになります。

効果音演奏コマンド (18・19・1A・1B) を実行可能になります。

フラグ と 設定
xx演奏中断備考
0無効中断有効後に無効で演奏再開
0 以外有効

F6演奏速度設定 - クイックタイム [有効/無効]

F6 xx
xx : フラグ (0x00 〜 0xFF)

xx で音楽演奏速度と演奏に使用する DSP タイマーを設定します。

クイックタイム有効時は演奏速度が負荷により無効時よりも大きく変化する可能性があります。

フラグ と 演奏速度・タイマー の設定
xxクイックタイム音楽演奏速度タイマー設定タイマー上位 4 ビットカウントアップ
0無効演奏コマンド F0 の T4.875 ㎳SPC700 サイクル数 4992
0 以外有効2560.125 ㎲SPC700 サイクル数 0128

F8音楽ミュート解除 (トラック選択)

F8 xx
xx : トラック (0x01 〜 0xFF)

xx の各ビットに対応した音楽トラックのミュートをオフに設定します。

ミュートを解除した音楽トラックに対応する DSP チャネルの Volume 計算フラグがオンになります。

ビット番号 と トラック番号(b = 0, 1, ..., 7)
xx のビット番号音楽トラック番号
bb + 1

F9音楽ミュート設定 (トラック選択)

F9 xx
xx : トラック (0x01 〜 0xFF)

xx の各ビットに対応した音楽トラックのミュートをオンに設定します。

ミュートを設定した音楽トラックに対応する DSP チャネルの Volume 計算フラグがオンになります。

ビット番号 と トラック番号(b = 0, 1, ..., 7)
xx のビット番号音楽トラック番号
bb + 1

FCエコーディレイ設定

FC xx
xx : エコーディレイ (0x00 〜 0x0F)
DSP Echo Delay の値が xx と同じ場合

何もせず終了します。

DSP Echo Delay の値が xx と異なる場合

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

DSP による APU メモリ書き換えを禁止します。

DSP 全チャネルのエコーを解除します。

DSP Echo Feed-Back と Echo Volume の値が 0 に設定されます。

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

DSP Echo Start Address の値が 0xF1 - (xx * 8) [先頭アドレス : 0xF100 - (xx * 0x0800)] に設定されます。

約 T0 ㎳ 待機します。待機中にサウンドドライバのコマンドを実行します。

DSP による APU メモリ書き換えを許可します。

約 T1 ㎳ 待機します。待機中にサウンドドライバのコマンドを実行します。

待機時間(xx0 は更新前のエコーディレイの値)
xxT0T1
= xx0--
< xx0xx0 × 160
> xx0(xx - xx0) × 16

演奏コマンド F7F8 の動作 [設定/変化] と APU I/O ポート へ書き込む内容 の設定

FF 01 yy
yy : フラグ (0x00 〜 0xFF)

xx で演奏コマンド F7F8 の 動作 と APU I/O ポート へ書き込む内容 を設定します。

フラグ と 動作
yyF7・F8書き込む内容
0変化トラックの演奏フラグ・F9・FA
0 以外設定DSP 4 チャネルの音量に関する値

再起動

FF F0

IPL ROM にジャンプします。



- Rental Orbit Space -