USB-HID98 usbh231a.lzh

■これは

  98 DOS で USB キーボード/マウス/ジョイスティックを使うプログラムです。

  98 標準キーボード/バスマウスの I/O ポートもエミュレートします。

  ジョイスティックはキーボードに割り当てます。

  EMM として EMM386/VEM486/LEMM のいずれかが必要です。

■最初にご注意

  USB を使用中にマシンを高速再起動するのは注意が必要です。

  このプログラムに限った話ではありません。

  usbinit.txt をご一読下さい。

■使い方

  usbio を組み込んだ後、usbscan を実行します。

	|A:\>usbio all
	|
	|usbio keyboard:notready mouse:notready joystick:notready /1 <LEMM>
	|
	|A:\>usbscan
	|

  デバイスを認識すると、notready → ready になります。

	|A:\>usbio
	|
	|usbio keyboard:ready mouse:ready joystick:ready /1 <LEMM>
	|

  デバイスを差し替えた場合は、再度、usbscan を実行して下さい。

■オプション一覧

	Keyboard	USB キーボード有効
	Mouse		USB マウス有効
	Joystick	USB ジョイスティック有効

	All		「Keybord Mouse Joystick」と同じ
	active		「 All」と同じ
	inactive	「!All」と同じ

	z+		ジョイスティック右スティック(Z軸)の縦と横を逆にする

	/1		マウスの分解能 1/1 (default)
	/2		〃             1/2
	/4		〃             1/4
	/8		〃             1/8

	JoyMouse	USB ジョイスティックでマウスをエミュレート
	JoyMouseAll	〃 (十字キー使用版)

	Dual		デュアルプロセッサ (LEMM 専用)

	UnCacheusbdata	USB データ入出力ページキャッシュ無効

	reSide		usbio 強制常駐 (!All でも常駐)
	Remove		usbio 解放

  大文字の部分だけ書いても同じオプションになります。

  頭に !を付加するか、not を書くと否定する意味になります。
   (例 !mouse)    (例 not mouse)

■キーボード割り当て

  keyboard.txt mouse.txt joystick.txt をご覧下さい。

■キーボード割り当てを変更するには

  mouse.txt joystick.txt の「usbio 設定名」で key.txt のキーを設定します。

	例: ジョイスティックの左右上下にテンキー 4682 を割り当て

	|A:\>usbio XLeft=t4 XRight=t6 YUp=t8 YDown=t2
	|

  というように設定します。

  「usbio 設定名」は頭字語にして短く書けます。(usbio v2.29a 以降)

	例: ジョイスティックの左右上下にテンキー 4682 を割り当て

	|A:\>usbio XL=t4 XR=t6 YU=t8 YD=t2
	|

  頭に !を付加するか、not を書くと無効化の意味になります。
   (例 !XLeft)    (例 not XLeft)

■使用外字コード

	usbio		762Ch 762Dh 762Eh 762Fh
	usbscan		762Fh

■当方の環境 (2024.1.12)

	本体		NEC PC-9821RvII26/N20
			NEC PC-9821Rv20/N20
			NEC PC-9821Ra266/W30R
			NEC PC-9821Xa16/R16
			NEC PC-9821V166/S5 model C2

	OS		NEC MS-DOS 6.20

	USB I/F		BUFFALO UCI2-P2 [CMD 0670B-400] (OHCI)
			BUFFALO IFC-USB2P4 [NEC μPD720100AGM] (OHCI/EHCI)
			BUFFALO IFC-PCI4U2V [VIA VT6212] (UHCI/EHCI)
			玄人志向 CHANPON3-PCI [NEC μPD720100AGM] (OHCI/EHCI)
			NEC PC-9821V166/S5 model C2 [内蔵] (OHCI)

	USB Hub		BUFFALO BSHT4UBK
			SANWA SUPPLY USB-HUB2211
			東京ニーズ NUS-HUB4AS
			EIZO FlexScan L997-R GY [内蔵]

	USB mouse	Arvel MFBUS-MT 光学 400cpi
			BUFFALO BSMBW510BK BlueLED 1000/1600dpi 無線
			SANWA SUPPLY MA-SFHBK 光学 800cpi
			Micro 2000 ボール (詳細不明)

	USB keyboard	BUFFALO BSKBU03BK
			DIATEC FILCO FKBN91MC/JB2
			ELECOM TK-FCM103BK
			ELECOM TK-FCM113SKBK
			ELECOM TK-FDP012BK 無線
			Logicool K835GPB
			Owltech OWL-KB109LBMN(B)
			SANWA SUPPLY 400-SKB057BL
			SANWA SUPPLY SKB-SL38BK
			星野金属工業 WiNDy V503

	USB joystick	BUFFALO BGCFC802RDA
			BUFFALO BGC-UCF1203/SV
			ELECOM JC-U3412SBK 無線

	EMM		EMM386 (Windows 95 OSR2 付属版)
			VEM486 1.31β13
			LEMM 5.19a

■EMM386 について

・MS-DOS 6.2 付属版以降が必要です。

・I/O ポート 41h はエミュレートされません。

  EMM386 の I/O トラップ機能 (INT-2Fh AX=4A15h) の仕様で、
  I/O ポート 00h 〜 FFh は EMM386 側で予約されトラップ出来ないためです。

■LEMM について

・デュアルプロセッサであれば USB 制御処理を 2nd CPU に分散出来ます。

  1st CPU への負荷が減ります。
 (体感出来るほどではないかも)

  2nd CPU を使うには、

	|A:\>usbio all dual
	|		~~~~
	|usbio keyboard:ready mouse:ready joystick:ready /1 <LEMM.L2> dual
	|

  というように dual を指定します。

  usbio v2.29a 以降、L2.com 対応。

■VCPI や DPMI について

  VCPI や DPMI のプロテクトモードで動く一部のマウスドライバは、
  EMM 側の I/O トラップが効かないため、usbio のエミュレーションも効きません。

  LEMM 内蔵 DPMI は CPL > IOPL で I/O トラップが効きます。
  該当するプログラムが DPMI 対応なら LEMM 内蔵 DPMI で試してみましょう。

  当方で確認したものとして、

	・Turbo C++ Ver.4 IDE (統合開発環境)
	・一太郎 Ver.5

  が該当します。