N88-BASIC(86) ON PLAY GOSUB命令
ON PLAY GOSUB
- 機能
- PLAY割り込み処理ルーチンの開始行を定義
- 書式
- ON PLAY(チャンネル番号,残りバイト数) GOSUB 行番号
- 文例
- ON PLAY(1,1024) GOSUB *NEXT.PLAY
この命令を実行しておくと,バックグラウンド(BASICプログラムの実行と独立して演奏する形態. PLAYのMBコマンド参照)で演奏中に,〈チャンネル番号〉のサウンドバッファ内の未演奏音楽情報が〈残りバイト数〉以下になったとき,指定した〈行番号〉から始まる処理ルーチンに処理を移します.
〈チャンネル番号〉に指定する値とその意味の関係は次のとおりです.
- 0 : 全チャンネルの中で最大の残りバイト数をもつもの
- 1〜6 : 各チャンネル
- 負 : 全チャンネルの中で最小の残りバイト数をもつもの
〈残りバイト数〉は, 0〜32767の範囲です.
処理ルーチンからの復帰は, RETURNで行います.たんにRETURNとしたときには,中断した所から再開し,後ろに行番号を指定したときは,その行から再開します.
ただし,行番号つきのRETURNでは,割り込みが発生した箇所と同じスタックレベルのプログラム行にもどるように指定してください.これを無視すると,スタック領域が異常消費され,プログラムは正しく動作しません.とくに必要がない限り,使用しないでください.
注意
この命令によって割り込み処理ルーチンに分岐させるには,割り込みがあったときにPLAY ONの状態でなければなりません.
PLAYの割り込みは, BASICの他の割り込み命令と異なり,割り込み処理ルーチンに制御が移っても自動的に割り込み停止状態となりません.したがって,処理ルーチンの先頭ではPLAY OFFまたはPLAY STOPを実行し,終わりでPLAY ONを実行する必要があります.
参照:PLAY,. PLAY ON/OFF/STOP,サンプルプログラム41
出典:N88-日本語BASIC(86)(Ver6.2) リファレンスマニュアル、日本電気株式会社、1991年発行