システムに登録されているビープ音を、IOCS _ADPCMOUT
で再生します。
システムに登録されているビープ音を、MPCM.Xで効果音として再生します($10xx M_EFCT_OUT
)。
Warning
リターンキーによる全チャンネル再生は大きな音が出るので注意してください。
システムに登録されているビープ音を、ZMSC3.Xで効果音として再生します($13 ZM_SE_ADPCM1
)。
Warning
リターンキーによる全チャンネル再生は大きな音が出るので注意してください。
特に機能はない2個のスレッドを作成して常駐終了します(それぞれの名前はbgthread1
、bgthread2
)。
どちらかのスレッドをbgkillで指定すれば、両方のスレッドを削除して常駐解除します。
コマンドライン引数で指定したファイルと引数を実行するように、DOS _SEND_PR
でbgexecd
スレッドに
コマンドを送ります。
事前にbgexecdを常駐しておく必要があります。
バックグラウンドでファイルを実行する機能を持つ、bgexecd
という名前のスレッドを
作成して常駐終了します。
bgexecを使って指定したファイルを実行することができます。
常駐解除はbgkillを使います。
独自の環境変数を持たず親の環境をそのまま使います(手抜き)。
コマンドライン引数で指定した名前のスレッドに、DOS _SEND_PR
で終了要求コマンド($fff9
)を
送信します。送信先のスレッドが終了要求コマンドに対応していない場合は意味がありません。
スレッドを登録したプロセスが常駐終了するより前に、そのスレッドがDOS _KILL_PR
で終了すると、
Human68kが異常動作する不具合(Human68k v3.02)を検証します。
実行後は再起動してください。
Warning
実験用に用意したシステムでのみ実行してください。
※普段使っているシステムでは実行しないこと!
bgexecdとほぼ同じ(スレッド名もbgexecd
)ですが、メモリの上位から256KBの
メモリブロックを確保し、DOS _S_PROCESS
でサブのメモリ管理として設定します。
bgexecで実行するプロセスはそのメモリブロック内でメモリが確保されます。
bgkillで終了要求を送信すると、DOS _S_MFREE
でサブのメモリ管理の解放を指定して
常駐解除します。Human68kの_S_MFREE
の不具合の不具合の影響を受けるので注意してください
(サブのメモリ管理内で常駐終了しているプロセスがあるとメモリが破壊されます)。
メモリの上位から512KBのメモリを確保し、コマンドライン引数で指定した名前のスレッドに対し
DOS _S_PROCESS
でサブのメモリ管理として設定します。
DOS _KEEPPR
による常駐終了ではなくDOS _EXIT
で通常の終了を行いますが、その影響は未検証です。
コマンドライン引数で指定した名前のスレッドのスレッドIDを表示します。 引数省略時は現在のスレッドIDを表示します。
コマンドライン引数で指定した名前のスレッドに、DOS _SEND_PR
で強制スリープ解除コマンド
($fffb
)を送信します。
バックグラウンドタスクで子プロセスを実行し、終了して戻ってきた直後にDOS _KILL_PR
を実行すると
プロセスは削除されるがスレッド管理情報が削除されず、不正なスレッド実行が行われてしまう不具合
(Human68k v3.02)を検証します。
実行後は再起動してください。
Warning
実験用に用意したシステムでのみ実行してください。
※普段使っているシステムでは実行しないこと!
IOCS _BITSNS
を実行してキーの押し下げ状態を表示します。
マウスのボタンを押すと終了します。
IOCSワークに保存されているキー状態をIOCSコール経由で取得しているだけなので、
実際にキーボードから送られたスキャンコードがそのまま表示されるわけではありません。
キーボードから送信されるスキャンコードをそのまま得たい場合は、keyscanを使用してください。
IOCS _B_EKYINP
を実行しd0
とd3
レジスタの値を表示します。
ESCキーを押すと終了します。
ユーザーモードにおいて、メインメモリ末尾-2のアドレスからロングワードサイズで読み込みを行い
バスエラーを発生させます。
M68000は16ビットバスなので、メインメモリの容量が$00Y0_0000
のとき以下のような挙動になります。
- メインメモリ末尾-2(
$00Xf_fffe
)から1ワード読み込む → 成功 - メモリ未実装アドレスまたはGVRAM(
$00Y0_0000
)から1ワード読み込む → バスエラー発生
ただし拡張エリアセットやMMUによりメインメモリの末尾付近がスーパーバイザ保護されている場合は、 1.の時点でバスエラーが発生します。