コマンド 0x1F: エコー・ディレイ設定
エコー・ディレイを設定し、エコー・バッファを確保します。
構文
0x1F, byte delay
パラメータ
| パラメータ | 型 | 内容 |
|---|---|---|
| delay | byte | エコー・ディレイの設定値。DSPのEDLにはこの値の1/2が設定される |
解説
DSPのFLGレジスタを $20(エコー書込禁止)にした後、EDLに delay ÷ 2 を、ESAに $FF − delay × 4 を設定し、エコー・バッファ(ESA×$100 ~ $FEFF)をゼロクリアします。ESAの値は $04B7 にも保存されます。
エコー・バッファは $FEFF で終わるように配置され、delay を大きくするほどAPU RAMの上位から多くの領域を使用します(delay × 1KB)。
エコーを鳴らすには、このコマンドの後にコマンド 0x15 を実行してエコー書き込みを許可する必要があります。
このコマンドの処理に時間はかからず、同じティックのうちに続くイベントが読み込まれます。
注意
- エコー・バッファのゼロクリアが終わるまでドライバの処理は停止します。
- FLGレジスタに $20 を書き込むため、ノイズ・クロックは0になります。
- エコー・バッファが波形データ領域と重ならないように delay を選ぶ必要があります。
- delay に奇数を指定すると、エコーで使用する量より1KB多く確保されます。