−<□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□>−


			キーボードでもインタラプト

			     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



==========================================================================