-<□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□>- キーボードでもインタラプト KEYINPT.x ver 0.44 Copyright 1995 1996 TNB製作所 -<□■□ これは □■□>- 私の環境は CONFIG.SYS に PROCESS を入れているのでインタラプトスイッチが ききません。それを改善し、更に本体まで手を伸ばすのも面倒なので、キーボード でもインタラプト出来るようにしました。 また、GORRY 氏の XDBL.SYS(ROM デバッガ)を考慮し、シフトによってただの インタラプト、デバッガの使い分けが出来るようにしました。 更に、バスエラーなどの時、アボートか ROM デバッガかの選択も出来る様にし てみました。 -<□■□ 実行 □■□>- [使用法] KEYINPUT.x [switch] 使用法:KEYINPT.x [switch]',$0d,$0a /T[n] ・ トリガーキー設定。[n]はキーボードスキャンコードで 指定してください(def.$62 = [COPY])。 /S[n] ・ インタラプト用のシフトキー設定(def.32 = [SHIFT])。 /D[n] ・ ROM デバッガ起動用のシフトキー設定(def.64 = [CTRL])。 [XF1]=1 : [XF1]=2 : [XF3]=4 : [XF4]=8 : [XF5]=16 [SHIFT]=32 : [CTRL]=64 : [OPT1]=128 : [OPT2]=256 数をたしていった数値を[n]に設定します。例えば[XF4] +[CTRL]なら 8+64=72を設定します。 0ならシフトキーは無しになります(つまりトリガーキー を押したら割り込む)。 *注意)キーボードによっては組み合わせの悪い物もあり ます。例えば[XF4]+[XF5]+[1]押すと'10'となったり しますので、こういうのはお避けください。 /R ・・・・・・・・ 常駐解除します。 キーボードでINTERRUPT割り込みを発生出来ます。 INTERRUPT SWITCHを有効にします。 スイッチ無しで常駐します。 ★CONFIG.SYSでDEVICE登録も出来ますが、その場合キーは変えられません。 デフォルトのままです。 ★KEYINPT 登録時、ROM デバッガ(TRAP #8 を見てます)があれば、 ' ROM DEBUGGER を管理します。' と言うメッセージがでて、以下の「デバッガ」の項が有効になります。 -<□■□ デバッガ □■□>- ROM デバッガは非常に便利なものです。しかしバスエラーなど出た場合、すぐ に ROM デバッガが起動してしまうのも問題ある場合があります。例えば、画面を 使っている場合、バスエラーが出ても白帯のようにエラーったことを教えてくれ ないのです。 そこで、KEYINPT.x では、バスエラーベクタなどをフックし、エラーが出た時 は、まず、白帯を出します。この時、バスエラーであっても、「中止」と「再実 行」が出ているはずです。「中止」を指定すれば、従来通りアボートします。 「再実行」すれば、ROM デバッガが起動します。 また、ここぞ、と言う時に ROM デバッガを使いたい場合、/T /D で指定したキ ー(デフォでは[CTRL]+[COPY]キー)を押すと ROM デバッガが起動してくれます。 -<□■□ キーボードスキャンコード □■□>- ┌─┬─┐ ┌─┬─┬─┬─┬─┐ ┌─┬─┬─┬─┬─┐ ┌─┬─┬─┐┌─┬─┬─┬─┐ │BK│CP│ │F1│F2│F3│F4│F5│ │F6│F7│F8│F9│F0│ │カナ│ロマ│コー││CP│記│登│HP│ └─┴─┘ └─┴─┴─┴─┴─┘ └─┴─┴─┴─┴─┘ └━┴━┴━┘└━┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐┌─┬─┬─┐┌─┬─┬─┬─┐ │ES│1!│2"│3#│4$│5%│6&│7'│8(│9)│0 │-=│^~│\|│BS││HM│IN│DL││CL│/│*│-│ ├─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┤├─┼━┼─┤├─┼─┼─┼─┤ │TAB │Q│W│E│R│T│Y│U│I│O│P│@`│[{│ RET││UP│DN│UN││7│8│9│+│ ├──┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐ │├─┼─┼─┤├─┼─┼─┼─┤ │ CTRL │A│S│D│F│G│H│J│K│L│;+│:*│]}│ ││ │↑│ ││4│5│6│=│ ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┤│←├─┤→│├─┼─┼─┼─┤ │ SHIFT │Z│X│C│V│B│N│M│,<│.>│/?│_ │SHIF││ │↓│ ││1│2│3│ │ └───┬┴┬┴┬┴┬┴─┴─┴─┴─┴┬┴┬┴┬┴┬┴┬─┘├─┴┬┴─┤├─┼─┼─┤EN│ │ヒラ│X1│X2│ │X3│X4│X5│全│ │OPT1│OPT2││0│,│.│ │ └━┴─┴─┴─────────┴─┴─┴─┴━┘ └──┴──┘└─┴─┴─┴─┘ ┌─┬─┐ ┌─┬─┬─┬─┬─┐ ┌─┬─┬─┬─┬─┐ ┌─┬─┬─┐┌─┬─┬─┬─┐ │61│62│ │63│64│65│66│67│ │68│69│6A│6B│6C│ │5A│5B│5C││5D│52│53│54│ └─┴─┘ └─┴─┴─┴─┴─┘ └─┴─┴─┴─┴─┘ └━┴━┴━┘└━┴─┴─┴─┘ ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐┌─┬─┬─┐┌─┬─┬─┬─┐ │01│02│03│04│05│06│07│08│09│0A│0B│0C│0D│0E│0F││36│5E│37││3F│40│41│42│ ├─┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┤├─┼━┼─┤├─┼─┼─┼─┤ │ 10 │11│12│13│14│15│16│17│18│19│1A│1B│1C│ 1D ││38│39│3A││43│44│45│46│ ├──┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┐ │├─┼─┼─┤├─┼─┼─┼─┤ │ 71 │1E│1F│20│21│22│23│24│25│26│27│28│29│ ││3B│3C│3D││47│48│49│4A│ ├───┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴┬┴─┤│ ├─┤ │├─┼─┼─┼─┤ │ 70 │2A│2B│2C│2D│2E│2F│30│31│32│33│34│ 70 ││ │3E│ ││4B│4C│4D│4E│ └───┬┴┬┴┬┴┬┴─┴─┴─┴─┴┬┴┬┴┬┴┬┴┬─┘├─┴┬┴─┤├─┼─┼─┤ │ │5F│55│56│ 35 │57│58│59│60│ │ 72 │ 73 ││4F│50│51│ │ └━┴─┴─┴─────────┴─┴─┴─┴━┘ └──┴──┘└─┴─┴─┴─┘ -<□■□ 注意 □■□>- 現在、デフォルトを[SHIFT]+[COPY]にしてます。[COPY]キー本来の機能を殺す COPYKILL.xも同梱しましたので、[COPY]キーをトリガーにする場合併用した方が いいと思います。 TNB製作所は KEYINPT.x の著作権を保持しますが、フリーウェアで転載は自由で す。ただし同梱ファイルの変更はしないで下さい。 TNB製作所は この KEYINPT.x によるトラブルは一切責任を負わないものとします。 個人の責任において使用して下さい。 バグ、トラブルの御報告はぜひお願いします。出来る限り対処、対応していきま す。 -<□■□ 使用ツール □■□>- * SUPERED.X ver 1.18 T.Nishikawa氏作 * has.x ver 3.08 YuNK氏作 * hlk.x ver 3.01 SALT氏作 文責:田圃(TNB製作所) ========================================================================== '95 5/ 5(金):バックグラウンドマネージャが入っているとインタラプトがき かないのできくようにしようと思って、ついでにキーボードでも 出来るようにした。 スレッドが0でなければ、0になったときにインタラプトがか かるようにした。 BGDRV.xで裏でファイルを実行終了したらインタラプトベクタ がいじられてしまうのでそれを強引に直すようにした。 ver 0.00 5/ 8(月):スレッド0以外の場合、メッセージを変えた。 ver 0.01 5/11(木):対デバッガ対策。キーボードでもデバッガ出来るようにした。 ver 0.10 5/12(金):BGDRV.xで裏でファイルを実行終了したらインタラプトベクタ がいじられてしまうのでそれを強引に直すようにした。のところ にミスがあった。TIME-D を借りるのではなく、TIMER-Cを借りる ようした。 COPYKEYを殺すものも別で製作。内蔵してもいいけど、なんとなく 別にした(COPYKILL.x)。 ver 0.11 6/ 6(火):T14DRVにも対応。気になっていた、SCSI-IOCS中のトラップを 一応制御。効果はいかほどか・・・。キーの変更も出来るように した。 ver 0.20 6/11(日):MFPレジスタを管理(!)。 ver 0.21 8/13(日):暫定的にDEVICE登録可能にした。SCSI-IOCS中のトラップ制御 がいまいちのようだ。完全にはSCSI-IOCSのベクタもフックせね ば無理か。 ver 0.30 '96 10/30(水):GORRY さんの XDBL.SYS に対応。シフトキーにより、ただのイ ンタラプトとデバッガの起動わけが可能に! ver 0.40 10/31(木):あ、バスエラーの時、己も言わさず、ROM DEBUGGER に入って しまう。んー、なんとか、白帯で選択出来ないか、詮索してみる。 ver 0.41 11/ 1(金):なんとか、使い分けが出来る感じになった。でも、表示してい るアドレスはさっぱり変 ^^; 。おっかしいなぁ。 ver 0.42 11/ 5(火):あう。バスエラーとかの時、SR,PC のスタックしている位置が 違うのね~。そういえば、030 はスタックの積み方が違うって聞 いたような気もする。。とりあえず、MC68000 なら大丈夫のよう だ。Xellent30s でもオッケーって感じ。後は X68030 での実験 だねぇ。 ver 0.43 11/14(木):裏スレッドで止まった時、インタラプトが効かないと困るので、 [_] をおしながら [SHIFT]+[COPY]で強引に止められる様にした。 ver 0.44 ==========================================================================