特に機能はない2個のスレッドを作成して常駐終了します(それぞれの名前はbgthread1、bgthread2)。
どちらかのスレッドをbgkillで指定すれば、両方のスレッドを削除して常駐解除します。
DOS _CHANGE_PRに相当するベクタをフックし、常駐します。
スレッドが切り換わる際にスレッドIDと切り換え回数を画面右上に表示します。
Human68kの仕様により、スレッドが1つだけの場合は切り換えは起きません。 スレッドが複数あるがスリープしていないスレッドが1つだけの場合は、 前後で同じスレッドではありますが切り換えの処理が行われます。
コマンドライン引数で指定したファイルと引数を実行するように、DOS _SEND_PRでbgexecdスレッドに
コマンドを送ります。
事前にbgexecdを常駐しておく必要があります。
バックグラウンドでファイルを実行する機能を持つ、bgexecdという名前のスレッドを
作成して常駐終了します。
bgexecを使って指定したファイルを実行することができます。
常駐解除はbgkillを使います。
独自の環境変数を持たず親の環境をそのまま使います(手抜き)。
コマンドライン引数で指定した名前のスレッドのスレッド情報をDOS _GET_PRで取得し、
成功した場合はその内容を表示します(d0.lの値がスレッドIDです)。
引数省略時は現在のスレッドを表示します。
コマンドライン引数で指定した名前のスレッドに、DOS _SEND_PRで終了要求コマンド($fff9)を
送信します。送信先のスレッドが終了要求コマンドに対応していない場合は意味がありません。
バックグラウンドでIOCS _ONTIMEの結果を画面右上に表示する常駐ソフトウェアです。
常駐解除はbgkillを使います。
自発的なスリープを行わず、割り当てられた時間内は時間の取得と表示を繰り返すので フォアグラウンドタスクの実行速度がやや遅くなります。
DOS _SLEEP_PRで自分自身のスレッドをスリープします。
コマンドライン引数で動作モードを指定できます。
-f... タスク間通信バッファを勝手に書き換えて受信可能な状態にします。<time>... 待機時間(ミリ秒単位)を指定できます。 省略時または0指定時は永久にスリープします。
DOS _SLEEP_PRの仕様上、スレッドがタスク間通信を受信できる状態でなければスリープしません。
bgexecdとほぼ同じ(スレッド名もbgexecd)ですが、メモリの上位から256KBの
メモリブロックを確保し、DOS _S_PROCESSでサブのメモリ管理として設定します。
bgexecで実行するプロセスはそのメモリブロック内でメモリが確保されます。
bgkillで終了要求を送信すると、DOS _S_MFREEでサブのメモリ管理の解放を指定して
常駐解除します。Human68kの_S_MFREEの不具合の不具合の影響を受けるので注意してください
(サブのメモリ管理内で常駐終了しているプロセスがあるとメモリが破壊されます)。
メモリの上位から512KBのメモリを確保し、コマンドライン引数で指定した名前のスレッドに対し
DOS _S_PROCESSでサブのメモリ管理として設定します。
DOS _KEEPPRによる常駐終了ではなくDOS _EXITで通常の終了を行いますが、その影響は未検証です。
コマンドライン引数で指定した名前のスレッドを、DOS _SUSPEND_PRで強制スリープさせます。
DOS _SLEEP_PRの仕様上、自分自身のスレッドを強制スリープすることはできません。
コマンドライン引数で指定した名前のスレッドのスレッドIDを表示します。 引数省略時は現在のスレッドIDを表示します。
bggetprを使えばスレッドID以外のスレッド情報も表示できます。
コマンドライン引数で指定した名前のスレッドに、DOS _SEND_PRで強制スリープ解除コマンド
($fffb)を送信します。