-<□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□>-
キーボードでもインタラプト
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
==========================================================================