キーボードBIOS
JKEYB.SYS
DOS/Vモードで日本語キーボードを使うためには、CONFIG.SYSにてJKEYB.SYSを組み込む必要があります。
DEVICE=JKEYB.SYS [オプション]
オプション
/101 英語101キー
/106 日本語106キー
/AX AXキーボード
/J31LT J3100ラップトップ(84キー)
/J31DT J3100デスクトップ(日本語101キー)
/J31NB J3100ノートタイプ(つまりダイナブック)
オプションを指定しない時や、セーフモードを指定した時は、組み込み時に[漢字]の刻印のあるキーを押すように促されます。東芝製DOS/V以外では、J31DT、J31LT、J31NBのオプションは指定できないかもしれません。
DEVICE=JKEYB.SYS [オプション]
オプション
/101 英語101キー
/106 日本語106キー
/AX AXキーボード
/J31LT J3100ラップトップ(84キー)
/J31DT J3100デスクトップ(日本語101キー)
/J31NB J3100ノートタイプ(つまりダイナブック)
オプションを指定しない時や、セーフモードを指定した時は、組み込み時に[漢字]の刻印のあるキーを押すように促されます。東芝製DOS/V以外では、J31DT、J31LT、J31NBのオプションは指定できないかもしれません。
J31LT (84キー)
初期のラップトップタイプ(J-3100GTなど)に搭載されたキーボードです。
スペースを少しでも稼ぐため、右シフトがカナモードでは「ろ」になります。 テンキーはなく、NumLockをする事でフルキーの一部(JKLUIOなど)をテンキーとして使います。ただし、このNumLockの機能を使う事はめったになく、事務用途ではもっぱら別売りのシリアル接続のテンキーを外付けしていました。また、誤ってNumLockを押してしまい「キーボードが壊れた」という問い合わせも多く、ユーザーサポート泣かせでもありました。記号(*や;や:など)の配置は英語キーボードに近いです。
初期のラップトップタイプ(J-3100GTなど)に搭載されたキーボードです。
スペースを少しでも稼ぐため、右シフトがカナモードでは「ろ」になります。 テンキーはなく、NumLockをする事でフルキーの一部(JKLUIOなど)をテンキーとして使います。ただし、このNumLockの機能を使う事はめったになく、事務用途ではもっぱら別売りのシリアル接続のテンキーを外付けしていました。また、誤ってNumLockを押してしまい「キーボードが壊れた」という問い合わせも多く、ユーザーサポート泣かせでもありました。記号(*や;や:など)の配置は英語キーボードに近いです。
J31DT(日本語101キー)
デスクトップタイプのJ-3300から、J-3100ZS/ZX/ZD、J-3100PVのJモデルで採用されたキーボードです。
右のシフトが「ろ」にはならず、「ろ」のキーは別途設置されています。 記号(*や;や:など)の配置は84キーと同様英語キーボードに近いです。このキーボードに慣れていると、DOS/Vでキーボードドライバーを組み込まれてない状態でも記号(*や;や:など)を間違えずに打てるようになります。 テンキーは独立し、NumLockでフルキーがテンキーになる機能はなくなり、 NumLockを解除するとテンキーがHomeやEndやカーソルキーになります。
[ESC]キーが、FM7やPC9801と同じ位置にあるため、8ビット~16ビット機の頃からPCを使っている人にはやりやすいです。そのかわり、左上にあるFM7でBreak、PC9801でSTOPの位置にあるキーに何の役割もなく、キートップに何も刻印されてません。
デスクトップタイプのJ-3300から、J-3100ZS/ZX/ZD、J-3100PVのJモデルで採用されたキーボードです。
右のシフトが「ろ」にはならず、「ろ」のキーは別途設置されています。 記号(*や;や:など)の配置は84キーと同様英語キーボードに近いです。このキーボードに慣れていると、DOS/Vでキーボードドライバーを組み込まれてない状態でも記号(*や;や:など)を間違えずに打てるようになります。 テンキーは独立し、NumLockでフルキーがテンキーになる機能はなくなり、 NumLockを解除するとテンキーがHomeやEndやカーソルキーになります。
[ESC]キーが、FM7やPC9801と同じ位置にあるため、8ビット~16ビット機の頃からPCを使っている人にはやりやすいです。そのかわり、左上にあるFM7でBreak、PC9801でSTOPの位置にあるキーに何の役割もなく、キートップに何も刻印されてません。
日本語106キー
このキーボードは、東芝機では東芝DOS6.2/V以降のOS(つまり東芝DOS6.2/V、東芝Windows3.1、Windows95)でサポートされました。日英DOS5.0では残念ながらサポートされませんでした。
記号(*や;や:など)、[ESC][CapsLock]などの配置が現在主に使われている109キーと同じになりました。 101キーで[ESC]だったキーは[半角/全角] となり、左上にあるキーは、[ESC]キーになりました。101キーで[CapsLock][カナ]だったキーは左右の[Ctrl]になり、[Ctrl]だったキーが[CapsLock/英数] になりました。(シフトを押さなければ英数、シフトを押せばCapsLockという風に) MS-DOSの頃はCapsLockして常時大文字で入力する人が多かったのですが、このキーが主流になり始めた頃はらCapsLockしない人が一般的になった気もします。
J-3100PV2というDOS/V専用機が出てすぐに、東芝のサービス会社にJ-3100PV2の修理を依頼したところ、 サービスマンがやたら:(コロン)の記号を打ち間違えていたのが印象的でした。 なかなか理屈でわかっていても指が覚えてしまったものは変えられませんで 私もいまだに[ESC]キーを押そうとして[半角/全角]キーを押してしまい、viエディターのInsモードから抜ける場合にいつも苦労します。
このキーボードは、東芝機では東芝DOS6.2/V以降のOS(つまり東芝DOS6.2/V、東芝Windows3.1、Windows95)でサポートされました。日英DOS5.0では残念ながらサポートされませんでした。
記号(*や;や:など)、[ESC][CapsLock]などの配置が現在主に使われている109キーと同じになりました。 101キーで[ESC]だったキーは
J-3100PV2というDOS/V専用機が出てすぐに、東芝のサービス会社にJ-3100PV2の修理を依頼したところ、 サービスマンがやたら:(コロン)の記号を打ち間違えていたのが印象的でした。 なかなか理屈でわかっていても指が覚えてしまったものは変えられませんで 私もいまだに[ESC]キーを押そうとして[半角/全角]キーを押してしまい、viエディターのInsモードから抜ける場合にいつも苦労します。
カナロックについて
J-3100ではしばらくの間「カナ」ロックLEDが搭載されていました。これにより、国産8ビット機のFM-7や、16ビット機のPC-9801と同様に、カナキーをロックする事によって半角カナを直接入力する事ができました。
キーボードが標準で106キーが搭載されるようになってから、カナロックLEDはなくなりました。これは、ハード的に日本語機能を追加しているJ-3100シリーズとは異なり、他社のDOS/V機は基本的にキーボード以外の追加ハードなしで日本語入力をさせるようにできているため、別途カナロック回路みたいなものを追加する事ができなかったためです。
そこで、$IAS.SYS、 KKCFUNC.SYS、 ATOK8KC.SYS のいずれかのドライバーを組み込む事により、コンソールの最下段を英数モード、カナモードの表示に使い、カナロックの代わりにする事ができます。
カナロックのオン、オフは、$IAS.SYS、KKCFUNC.SYS、ATOK8KC.SYSいずれも同じ割り込みが使えたと思います。
キーボードが標準で106キーが搭載されるようになってから、カナロックLEDはなくなりました。これは、ハード的に日本語機能を追加しているJ-3100シリーズとは異なり、他社のDOS/V機は基本的にキーボード以外の追加ハードなしで日本語入力をさせるようにできているため、別途カナロック回路みたいなものを追加する事ができなかったためです。
そこで、$IAS.SYS、 KKCFUNC.SYS、 ATOK8KC.SYS のいずれかのドライバーを組み込む事により、コンソールの最下段を英数モード、カナモードの表示に使い、カナロックの代わりにする事ができます。
カナロックのオン、オフは、$IAS.SYS、KKCFUNC.SYS、ATOK8KC.SYSいずれも同じ割り込みが使えたと思います。
キーボード割り込み INT 16H
キーボード関連のBIOSを呼ぶためには、AHレジスタに機能をセットして、INT 16Hを呼びます。
J-3100(DCGA)モードでは、通常のPC/AT機の機能に加えて、カナロックなどJ-3100独自に拡張された機能が使えます。J-3100独自の機能には、その都度注釈を入れています。
J-3100(DCGA)モードでは、通常のPC/AT機の機能に加えて、カナロックなどJ-3100独自に拡張された機能が使えます。J-3100独自の機能には、その都度注釈を入れています。
AH 00H キーバッファから1文字読む
キーバッファから1文字取り出し キーバッファが空なら入力があるまで待ちます。
キーバッファから1文字取り出し キーバッファが空なら入力があるまで待ちます。
入力 | 出力 |
---|---|
AH 00H | AL 文字コード AH 走査コード |
AH 01H キーバッファの調査
入力 | 出力 |
---|---|
AH 01H | F Zフラグが立っていたらキーバッファ空 Zフラグが立ってなければキーバッファにキー入力あり |
AH 02H キーボードのシフト状況の調査
キーボードのシフト状態を取得します。VEMモードの時はScrollLOCKのところはカナロックになります。
キーボードのシフト状態を取得します。VEMモードの時はScrollLOCKのところはカナロックになります。
入力 | 出力 |
---|---|
AH 02H | AL ビット7 INS ビット6 CapsLock ビット5 NumLock ビット4 VGAモード:ScrollLock DCGAモード:カナロック ビット3 Alt ビット2 Ctrl ビット1 左Shift ビット0 右Shift |
AH 03H オートリピートの設定
入力 | 出力 |
---|---|
AH 03H AL 05H BL 1秒当たりにリピートされる数(00H~1FH) BH オートリピートするまでの待ち時間(msec) |
なし |
AH 05H キーバッファーへの書き込み
入力 | 出力 |
---|---|
AH 05H CL 文字コード CH 走査コード |
00H 機能は正常に終了 01H バッファーが一杯 |
AH 10H キーバッファから1文字読む
キーバッファから1文字取り出し キーバッファが空なら入力があるまで待ちます。AH 00Hとの違いは、101キー以降で拡張されたキーも読めることです。
キーバッファから1文字取り出し キーバッファが空なら入力があるまで待ちます。AH 00Hとの違いは、101キー以降で拡張されたキーも読めることです。
入力 | 出力 |
---|---|
AH 10H | AL 文字コード AH 走査コード |
AH 12H キーボードのシフト状況の調査
キーボードのシフト状態を取得します。AH02Hとの違いは、101キーから拡張されたキー(SysReq)も読むことができる他、CtrlキーとAltキーの左右別々の状態を取得する事もできます。VEMモードの時はScrollLOCKのところはカナロックになります。
キーボードのシフト状態を取得します。AH02Hとの違いは、101キーから拡張されたキー(SysReq)も読むことができる他、CtrlキーとAltキーの左右別々の状態を取得する事もできます。VEMモードの時はScrollLOCKのところはカナロックになります。
入力 | 出力 |
---|---|
AH 12H |
AH ステータス1 ビット7 SysReq ビット6 CapsLock ビット5 NumLock ビット4 ScrollLock ビット3 右Alt ビット2 右Ctrl ビット1 左Alt ビット0 左Ctrl AL ステータス2 ビット7 INS ビット6 CapsLock ビット5 NumLock ビット4 VGAモード:ScrollLock DCGAモード:カナロック ビット3 Alt ビット2 Ctrl ビット1 左Shift ビット0 右Shift |
AH 13H 2バイト文字セットの状況モードの設定と読み取り (VGA専用)
$IAS.SYSを組み込んでいる時にシフト状態を設定/変更する事ができます。値を変更する時は、ビット345を保存するためにAX1301Hで今までの状態を読み取ってからOR命令やAND命令で変更したいビットを変更し、AX1300Hを呼びます。
$IAS.SYSではなく、KKCFUNC.SYSやATOK8KC.SYSでも英数シフト/カナシフトの切り替えは有効です。
$IAS.SYSを組み込んでいる時にシフト状態を設定/変更する事ができます。値を変更する時は、ビット345を保存するためにAX1301Hで今までの状態を読み取ってからOR命令やAND命令で変更したいビットを変更し、AX1300Hを呼びます。
$IAS.SYSではなく、KKCFUNC.SYSやATOK8KC.SYSでも英数シフト/カナシフトの切り替えは有効です。
入力 | 出力 |
---|---|
AH 13H AL 00H 設定 01H 読み取り |
DL ビット7 0 非漢字モード 1漢字モード ビット6 0 ローマ字オフ 1 ローマ字オン ビット2、1 00 英数シフト 01 カタカナ・シフト 10 ひらがなシフト ビット0 0 半角 1 全角 |
この機能はVEMを除くVGAモード専用です。
;---------$IASをカナモードにする MOV AX,1301H INT 16H OR DL,00000010B MOV AX,1300H INT 16H
$IAS.SYSの最下段の表示の取得/制御(VGA専用)
入力 | 出力 |
---|---|
AH 14H AL 状態 00H 表示させる 01H 消す 02H 現在の状態の取得 |
AL 状態 00H 表示してる 01H 表示してない |
この機能はVEMを除くVGAモード専用です。
BEEPを鳴らす(DCGA専用)
入力 | 出力 |
---|---|
AH F0H BL 鳴らす長さ (x55msec |
なし |
この機能はDCGAモード専用です。
キーシフト制御(DCGA専用)
入力 | 出力 |
---|---|
AH F1H AL ビット6 CapsLock ビット5 NumLock ビット4 カナロック |
なし |
まずはAH=02でキーシフト状況を読み取ってから、ALレジスタの目的のビットをANDやORで操作した後、この機能を呼んでください。
例)CapsLockをオンにする
例)CapsLockをオンにする
MOV AH,02H INT 16H OR AL,40H MOV AH,F1H INT 16H
この機能はDCGAモード専用です。 VGAモード(VEM除く)では、直接0000:0417H番地にキーシフトのビットを立てることで代用できます。
例)VGAモードでCapsLockをオンにする
例)VGAモードでCapsLockをオンにする
MOV AX,0 MOV ES,AX OR ES:[0417H],BYTE PTR 01000000B
キークリック音の制御(DCGA専用)
入力 | 出力 |
---|---|
AH F2H AL 00Hオフ 01Hオン |
この機能はDCGAモード専用です。
キーデーターのセット(DCGA専用)
入力 | 出力 |
---|---|
AH F5H AL 00Hオフ 01Hオン BH 走査コード BL 文字コード |
AX キーバッファにたまってる数 FFFFHでキーバッファフルによる失敗 |
この機能はDCGAモード専用です。
キーバッファのチェック(DCGA専用)
入力 | 出力 |
---|---|
AH F6H | AX キーバッファにたまってる数 FFFFHでキーバッファフル BX システムコード(下表参照) |
システムコード | 機種名 |
---|---|
3130H 3131H FC27H FC2DH FC2BH FC2AH FC26H FC3FH FC25H FC22H FC4EH FC44H FC36H FC5EH FC89H FC86H FC43H FC87H FC88H FC8DH FC9FH FC93H FC94H FCAFH |
J-3100GT/GTA J-3100SS/SL/SX DynaBookSS J-3100SGT J-3100GX J-3100GL J-3100GS J-3100SGX J-3100GXS J-3300/30 J-3100ZS J-3300/50 J-3100ZX J-3100GT-XD/XS J-3100SX-VW J-3100SL-VW J-3100S/VX J-3100PV J-3100XS DynaBookEZ486 DynaBookEZ486P DynaBookV486C/E DynaBookV486A DynaBookSS425/433 DynaBookV486F DynaBookEZ425/EZVision |
この機能はDCGAモード専用です。
参考文献
『J-3100解析ハンドブック』 1989年 土屋勝著 ナツメ社
『DOS/Vテクニカル・リファレンス・マニュアル』 1993年 芦達剛著 ソフトバンク
『J-3100シリーズ・テクニカルマニュアル』 1994年 南部武彦著 ソフトバンク
『ATOK読本』 1994年 山田祥平 ジャストシステム
『東芝パソコンハンドブック94年版』 平成6年3月1日
このページの先頭へ
『J-3100解析ハンドブック』 1989年 土屋勝著 ナツメ社
『DOS/Vテクニカル・リファレンス・マニュアル』 1993年 芦達剛著 ソフトバンク
『J-3100シリーズ・テクニカルマニュアル』 1994年 南部武彦著 ソフトバンク
『ATOK読本』 1994年 山田祥平 ジャストシステム
『東芝パソコンハンドブック94年版』 平成6年3月1日
広告