PC-98DO で PS/2 キーボード を使う

 PC-98DO/DO+ のキーボードは専用品(専用キーボード)がありますが、他のPC-98シリーズのキーボード(98キーボード)を使用することも可能です。専用キーボードの入手はなかなか大変ですが、98キーボードは割りと入手しやすいです。(L型のプラグだと物理的に差し込みが難しいなどの問題はあるようです)
 ただ、専用キーボードではない場合 98モードで使用している分には問題ないのですが、88モードの場合に一部のキーが使用できません。
 88モードで確認した使用できないキー
  ・INSDEL(後退)  入力文字を削除するキー。
  ・PC       88モードのBIOS設定画面を開くためのキー。専用キーボードでは[GRPH]キーで代用。
           98キーボードにも[GRPH]キーはあるが機能しない。
  ・F6~F10    ファンクションキー。ただし[SHIFT]+[F1]などで代用可能。
 88モードを使用するにあたって必須と言えるキーが含まれます。

 88モードでも98キーボードが使えると言うことは、ハード的には同じでキーコードが一部異なるだけの可能性が高いと推測。残念ながらPC-98DO/DO+のキーコードの情報を見つけることはできませんでしたが、他の98のキーコードは判りました。
 そして、ありがたい事に PS/2 や USB キーボードをPC-98に接続するためのアダプターの作成方法を公開してくれいている方々がいます。
 今回、m.sawada さんが公開されている、GKA-AT98 を作成しました。
 ・まごの手本舗  http://www.tsp.ne.jp/~sawada/mago/
          (製品カタログ GKA-AT98 –> 製作用資料と開発ノード)
完成
 DSC_2072aa

 動作確認後、本題の98DO/DO+独自キーを探すために、他の98のキーコード表では空白(割り当てがない)になっているキーコードを、GKA-AT98 のソースのキーテーブルで割り当て、試していったところ、目的のキーコードが判りました。これで設定や文字削除が可能になりました。
 PC-98DO 88モード用の追加キーコード
 ・INSDEL(後退)   7Bh
 ・PC        75h
 ・カナ?      76h

GKA-AT98(gkaat98.asm) のキーテーブルを以下のように変更して使用しています。
 7Bh        ; 71 DELETE(=>BS)               <-    39h        ; 71 DELETE
 76h        ; 0E 半角/全角(106/109)      <-    35h        ; 0E 半角/全角(106/109)
 75h        ; 7E ScrollLock(=>PC)         <-    3Fh        ; 7E ScrollLock(=>HELP)
 3Fh        ; 69 END –> HELP                <-    37h        ; 69 END -> ROLL DOWN(逆)
 3Fh        ; 69 END –> HELP                <-    37h        ; 69 1(TEN)End -> ROLL DOWN(逆)

ちなみに、「クラシックPC研究会」と言うサークル からPC-98DO/DO+用のアダプターも販売されてます。
キーの割当はそれを参考にしました。

<参考>
・まごの手本舗     http://www.tsp.ne.jp/~sawada/mago/
・第三研究所      http://www.amy.hi-ho.ne.jp/nakajima-jr/
            (企画課 –> 第9回 NEC PC-98超入門)
・クラシックPC研究会  http://classicpc.org/index.html
・PICerFT       http://einstlab.web.fc2.com/PICerFT/PICerFT.html
・MPLAB X IDE     http://www.microchip.com/mplab/mplab-x-ide


コメント