Skip to content

Latest commit

 

History

History
117 lines (76 loc) · 5.42 KB

b.md

File metadata and controls

117 lines (76 loc) · 5.42 KB

B

beep_adpcmout

システムに登録されているビープ音を、IOCS _ADPCMOUTで再生します。

beep_mpcm

システムに登録されているビープ音を、MPCM.Xで効果音として再生します($10xx M_EFCT_OUT)。

Warning

リターンキーによる全チャンネル再生は大きな音が出るので注意してください。

beep_zmsc3

システムに登録されているビープ音を、ZMSC3.Xで効果音として再生します($13 ZM_SE_ADPCM1)。

Warning

リターンキーによる全チャンネル再生は大きな音が出るので注意してください。

bg1pr2th

特に機能はない2個のスレッドを作成して常駐終了します(それぞれの名前はbgthread1bgthread2)。 どちらかのスレッドをbgkillで指定すれば、両方のスレッドを削除して常駐解除します。

bgexec

コマンドライン引数で指定したファイルと引数を実行するように、DOS _SEND_PRbgexecdスレッドに コマンドを送ります。 事前にbgexecdを常駐しておく必要があります。

bgexecd

バックグラウンドでファイルを実行する機能を持つ、bgexecdという名前のスレッドを 作成して常駐終了します。 bgexecを使って指定したファイルを実行することができます。 常駐解除はbgkillを使います。

独自の環境変数を持たず親の環境をそのまま使います(手抜き)。

bgkill

コマンドライン引数で指定した名前のスレッドに、DOS _SEND_PRで終了要求コマンド($fff9)を 送信します。送信先のスレッドが終了要求コマンドに対応していない場合は意味がありません。

bglivingdead

スレッドを登録したプロセスが常駐終了するより前に、そのスレッドがDOS _KILL_PRで終了すると、 Human68kが異常動作する不具合(Human68k v3.02)を検証します。

実行後は再起動してください。

Warning

実験用に用意したシステムでのみ実行してください。
※普段使っているシステムでは実行しないこと!

bgsprocd

bgexecdとほぼ同じ(スレッド名もbgexecd)ですが、メモリの上位から256KBの メモリブロックを確保し、DOS _S_PROCESSでサブのメモリ管理として設定します。 bgexecで実行するプロセスはそのメモリブロック内でメモリが確保されます。

bgkillで終了要求を送信すると、DOS _S_MFREEでサブのメモリ管理の解放を指定して 常駐解除します。Human68kの_S_MFREEの不具合の不具合の影響を受けるので注意してください (サブのメモリ管理内で常駐終了しているプロセスがあるとメモリが破壊されます)。

bgsprocess

メモリの上位から512KBのメモリを確保し、コマンドライン引数で指定した名前のスレッドに対し DOS _S_PROCESSでサブのメモリ管理として設定します。 DOS _KEEPPRによる常駐終了ではなくDOS _EXITで通常の終了を行いますが、その影響は未検証です。

bgthreadid

コマンドライン引数で指定した名前のスレッドのスレッドIDを表示します。 引数省略時は現在のスレッドIDを表示します。

bgwakeup

コマンドライン引数で指定した名前のスレッドに、DOS _SEND_PRで強制スリープ解除コマンド ($fffb)を送信します。

bgzombie

バックグラウンドタスクで子プロセスを実行し、終了して戻ってきた直後にDOS _KILL_PRを実行すると プロセスは削除されるがスレッド管理情報が削除されず、不正なスレッド実行が行われてしまう不具合 (Human68k v3.02)を検証します。

実行後は再起動してください。

Warning

実験用に用意したシステムでのみ実行してください。
※普段使っているシステムでは実行しないこと!

bitsns

IOCS _BITSNSを実行してキーの押し下げ状態を表示します。
マウスのボタンを押すと終了します。

IOCSワークに保存されているキー状態をIOCSコール経由で取得しているだけなので、 実際にキーボードから送られたスキャンコードがそのまま表示されるわけではありません。
キーボードから送信されるスキャンコードをそのまま得たい場合は、keyscanを使用してください。

bkeyinpd3

IOCS _B_EKYINPを実行しd0d3レジスタの値を表示します。
ESCキーを押すと終了します。

buserr_2w

ユーザーモードにおいて、メインメモリ末尾-2のアドレスからロングワードサイズで読み込みを行い バスエラーを発生させます。
M68000は16ビットバスなので、メインメモリの容量が$00Y0_0000のとき以下のような挙動になります。

  1. メインメモリ末尾-2($00Xf_fffe)から1ワード読み込む → 成功
  2. メモリ未実装アドレスまたはGVRAM($00Y0_0000)から1ワード読み込む → バスエラー発生

ただし拡張エリアセットやMMUによりメインメモリの末尾付近がスーパーバイザ保護されている場合は、 1.の時点でバスエラーが発生します。