キーボード制御コマンドコードをキーボードに送信します。
コードはコマンドライン引数で16進数2桁で指定します(省略時は$47
= Compactキーボード判別)。
上位メモリに常駐するだけのプログラムで、常駐プロセスの常駐検査を行うコードの動作テスト用です。
Human68kの非公開機能を使って上位メモリにロードさせます。
そのためのフラグをHLKXの-g2
オプションで設定するので、
リンカとしてHLKXを使う必要があります。
メインメモリ実装量を11MB以下にし、RAMDISKなど上位メモリを使用するドライバは組み込まずに起動し、
keepceilを常駐してから常駐検査コードを実行します。
常駐プロセスのメモリブロック範囲外を参照する検査コードの場合、未実装メモリを参照してバスエラーが発生します
(ただしkeepceilの本体が16バイトあるので、その範囲内しか見ない検査コードであれば問題を検出できません)。
上位メモリからメモリブロックを確保して常駐するだけのプログラムで、常駐プロセスの常駐検査を行う コードの動作テスト用です。
既定ではプロセス本体とメモリブロックは最低サイズ(0バイト)ですが、 なにかコマンドライン引数を指定するとそれぞれ16バイトとします。
SHIFTキーが押し下げられるまで待機し、キー入力をフラッシュしてから終了します。
コマンドライン引数でキーフラッシュの方法を指定できます(無指定時はi
)。
i
...IOCS _KEYSNS
/_KEYINP
を使用します。c
...DOS _KEYCTRL
を使用します。f
...DOS _KFLUSH
を使用します。
c
は、FEPを組み込んでいると完全に消去できない場合があります。
f
は「標準入力に対するフラッシュ」なので、keyflush f < nul
とすると(NUL デバイスに対してフラッシュを行うため)キーボード入力は消去されません。
キーボードから受信したスキャンコードを表示します。
マウスの左ボタンを押すと終了します。
マウスの右ボタンを押すとキーボード判別コマンド($47
)を送信します(動作未確認)。
MFP USART受信バッファフル割り込みを差し替えているので、動作中にIOCSレベルのキー入力は行われません。
実行後はX680x0本体のリセットボタンによる再起動を推奨します。