Gnilda のページ


サウンドドライバファンクション一覧 — FINAL FANTASY IV


  1. ホーム
  2. スーパーファミコンのサウンドドライバ
  3. FINAL FANTASY IV
  4. サウンドドライバファンクション一覧

サウンドドライバファンクション一覧
00
無効
01
音楽演奏開始 1-A
イベントコマンド FA
02 xx yy
効果音 演奏開始・停止
イベントコマンド FB ?
03
音楽演奏開始 1-B
乗り物に乗る
04
音楽演奏開始 2
イベントコマンド EA
10–1F
メニュー効果音 演奏開始
80 xx
効果音パン設定
???
85
音楽音量変化 → $00 (−112/256)
イベントコマンド D8 / 戦闘終了 / 乗り物に乗る / ギサールの笛 / 戦闘終了
86
音楽音量変化 → $00 (−512/256)
マップ切り替え / 乗り物から降りる
87
音楽音量変化 → $80 (−56/256)
イベントコマンド FD 33 (サイトロ・小人のパン), FD 3D
88
音楽音量設定 ⇒ $FF
戦闘 : 一時停止解除
89
音楽音量変化 → $FF (56/256)
イベントコマンド FD 33 (サイトロ・小人のパン), FD 3E
8A
音楽音量設定 ⇒ $40
戦闘 : 一時停止
8B
音楽音量変化 → $00 (−186/256)
戦闘終了
90 xx
音声出力設定 [ステレオ/モノラル]
コンフィグ
FF
再起動
イベントコマンド FD 3C

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

01 音楽演奏開始 1-A 処理順序などが実際と異なります 圧縮波形データ転送制御は $00 のみ動作未確認です

i0 ?? i2
i0 : ファンクション番号
i2 : 音楽データ (先頭)

DSP 全てのチャネルのキーオフを実行します。

音楽トラック 6・7 の DSP チャネル使用不可能フラグを解除します。

音楽 (ヘッダ・音楽シーケンス) データ
i0 ?? i2
i0 : 転送制御 (同期)
i2 : 音楽データ
i0 が 0 以外である場合

音楽データを 1 バイトずつ転送します。

o0 に i0 の値を書き込み、i0 の値が変化するまで待機します。

i0 が 0 である場合

音楽データ転送を終了します。

i1 の値で圧縮波形データの転送を指定します。

圧縮波形データ
i0 : 転送制御 (同期)
i1 : 転送制御 (前々回以前の管理は未確認)
i3i2 : アドレス・バイト数
一部の圧縮波形データを転送する (データ移動あり)
00
コピー元 コピー先 バイト数 [コピー元 コピー先 バイト数 …] 転送先 圧縮波形データ [圧縮波形データ …]

演奏に使用する圧縮波形データの一部が前回の演奏で使用されていた 場合に使用します。

演奏に使用する転送済みの圧縮波形データをバッファの先頭に移動します。

i1 が 0 以外である 場合は、移動を終了します。

未転送の圧縮波形データを 3 バイトずつ転送します (i1, i2, i3)。

o0 に i0 の値を書き込み、i0 の値が変化するまで待機します。

i0 が 0 である 場合は、転送を終了します。

すべての圧縮波形データを転送する
11
圧縮波形データ [圧縮波形データ …]

演奏に使用する圧縮波形データを転送します。

転送開始アドレスは圧縮波形データ用バッファの先頭です。

圧縮波形データを 3 バイトずつ転送します (i1, i2, i3)。

o0 に i0 の値を書き込み、i0 の値が変化するまで待機します。

i0 が 0 である 場合は、転送を終了します。

一部の圧縮波形データを転送する (データ移動なし)
22
転送先 圧縮波形データ [圧縮波形データ …]

演奏に使用する圧縮波形データの一部が前回の演奏で使用されていた 場合に使用します。

未転送の圧縮波形データを 3 バイトずつ転送します (i1, i2, i3)。

o0 に i0 の値を書き込み、i0 の値が変化するまで待機します。

i0 が 0 である 場合は、転送を終了します。

圧縮波形データを転送しない
FF

圧縮波形データ転送処理をスキップします。

演奏に使用する圧縮波形データが前回の演奏で全て転送済みである 場合に使用します。

圧縮波形テーブルデータを転送します。

ピッチ調整値を転送します。

演奏に使用するトラックのデータを初期化します。

主にフェードイン・フェードアウトで使用する音楽音量変化を無効にし、倍率を $FFFF/256 に設定します。

エコーディレイが 80㎳ に設定されます。

演奏速度を 1 に設定し、演奏を開始します。

02 効果音 演奏開始・停止

02 i1 i2

DSP チャネル 6・7 のキーオフを実行します。

効果音トラック 2・3 の演奏を停止します。

演奏停止
i1 : 効果音番号 ($00, $4F?)

音楽トラック 6・7 の DSP チャネル使用不可能フラグを解除します。

演奏開始
i1 : 効果音番号 ($01–$4E, $50–$7F)
i2 : パン ($00–$FF)

効果音シーケンスデータが未設定ではない 場合はトラックデータ等を初期化し、効果音 i1 を演奏します。

音楽トラック 7 の DSP チャネル使用不可能フラグを設定します。

効果音トラック 3 を使用 [する/しない] 場合は、音楽トラック 8 の DSP チャネル使用不可能フラグを [設定/解除] します。

DSP チャネル と トラック
チャネル音楽効果音
561
672
783

03 音楽演奏開始 1-B

音楽演奏開始 1-A と同じ動作です。

04 音楽演奏開始 2

音楽演奏開始 1-A とほぼ同じ動作ですが、主にフェードイン・フェードアウトで使用する音楽音量の倍率と変化量をそれぞれ 0 と 112/256 に設定します (フェードイン)。

10–1F メニュー効果音 演奏開始

10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F
メニュー効果音を演奏中である場合

現在使用中の効果音トラックの演奏を中断し、使用します。

ファンクション番号に対応する効果音が未設定である 場合は、効果音トラックに対応する音楽トラックの DSP チャネル使用不可能フラグが解除されません

メニュー効果音を演奏中ではない場合

効果音トラック 3 → 2 → 1 の順で空きのトラックを検索し、使用します。

ファンクション番号に対応する効果音が未設定である 場合は処理を終了し、メインループに戻ります。

使用する効果音トラックに対応する DSP チャネルのキーオフを実行します。

使用する効果音トラックの次回のキーオンフラグを解除します。

使用する効果音トラックに対応する音楽トラックの DSP チャネル使用不可能フラグを設定します。

トラックデータ等を初期化し、ファンクション番号に対応した効果音を演奏します。

コマンド と 効果音
コマンド効果音
$10???
$11カーソル
$12エラー
$13カーソル
$14カーソル
$18戦闘コマンド表示 (コントローラ 1)
$19戦闘コマンド表示 (コントローラ 2)
DSP チャネル と トラック
チャネル音楽効果音
561
672
783

80 効果音パン設定

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

効果音トラック 2・3 のパンの値が xx に設定されます。

85 音楽音量変化 → $00 (−112/256)

85

主にフェードイン・フェードアウトで使用する音楽音量の倍率が、現在値から $00 まで変化します (フェードアウト)。

約 4.5 ㎳ 毎に 112/256 減少します。最大値の $FFFF/256 から $00EF/256 ($01 未満) まで、約 2623.5 ㎳ で変化します。

変化後の値の整数部が変化前と異なる 場合は、音楽トラックの Volume 計算フラグを設定します

86 音楽音量変化 → $00 (−512/256)

86

主にフェードイン・フェードアウトで使用する音楽音量の倍率が、現在値から $00 まで変化します (フェードアウト)。

約 4.5 ㎳ 毎に 512/256 減少します。最大値の $FFFF/256 から $0000/256 まで、約 576 ㎳ で変化します。

変化後の値の整数部が変化前と異なる 場合は、音楽トラックの Volume 計算フラグを設定します

87 音楽音量変化 → $80 (−56/256)

87
変化

主にフェードイン・フェードアウトで使用する音楽音量の倍率が、現在値から $80 まで変化します。

約 4.5 ㎳ 毎に 56/256 減少します。最大値の $FFFF/256 から $80E7/256 ($81 未満) まで、約 2614.5 ㎳ で変化します。

変化後の値の整数部が変化前と異なる 場合は、音楽トラックの Volume 計算フラグを設定します

設定

現在値が $80 未満である 場合は、$80 が設定されます。

音楽トラックの Volume 計算フラグを設定します。

88 音楽音量設定 ⇒ $FF

88

主にフェードイン・フェードアウトで使用する音楽音量の倍率 が 変化中である 場合は、変化を中断します。

音楽音量倍率を、$FFFF/256 に設定します。

音楽トラックの Volume 計算フラグを設定します。

8A 音楽音量設定 ⇒ $40

8A

主にフェードイン・フェードアウトで使用する音楽音量の倍率 が 変化中である 場合は、変化を中断します。

音楽音量倍率を、$4000/256 に設定します。

音楽トラックの Volume 計算フラグを設定します。

90 音声出力設定 [ステレオ/モノラル]

90 xx
xx : フラグ ($00–$FF)

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

音楽トラックの Volume 計算フラグを設定します。

フラグ と 設定
xx音声出力
0ステレオ
0 以外モノラル

FF 再起動

FF

DSP 全てのチャネルのキーオフを実行します。

サウンドドライバなどのデータ上書きを行わずに、演奏を停止しフラグ等を初期化します。

エコーディレイが 16㎳ に設定されます。

メインループに戻り、最大で約 276.5㎳ 動作を一時停止します。