PC-8801FH以降のキーボードの通信プロトコル

ピン配置

ミニDIN 5ピンコネクタを採用しています。使用している線は実質3本だけです。

通信プロトコル

一般的な調歩同期式です。信号線1本のみで、制御信号などはありません。正論理です。

通信速度20800 bps
スタートビット1
データビット12 (LSBが先)
パリティビット1 (偶数パリティ)
ストップビット1

 変化のあったキーマトリクスのRow, Dataがそのまま送られてきます。R3〜R0がRow、D7〜D0がDataです。

例) [A] のキーを押すと 0100 10111111 (2:FD) が送られ、離すと 0100 11111111 (2:FF) が送られます。

 データを1つ送った後は、次のデータを送るまでに2.4msくらいの間隔を空けるようです。
 パリティビットは、データビットとパリティビットを合わせて1の数が偶数になるように設定します。

 互換性のため、FH以降で拡張された一部のキーについては、同時に他の(従来の)キーが押されたとみなされるものがあります。下表のキーマトリクスのうち、下段に表記があるものはそのキーも押されたことになります。

Row\Data01234567
00h01234567
01h89*+=,.RETURN
02h@ABCDEFG
03hHIJKLMNO
04hPQRSTUVW
05hXYZ[\]^-
06h01234567
07h89:;,./_
08hHOMECLRINSDELGRPHカナSHIFTCTRL
09hSTOPF1F2F3F4F5SPACEESC
0AhTABHELPCOPY-/CAPS
0BhROLL UPROLL DOWN
0ChF6
SHIFT, F1
F7
SHIFT, F2
F8
SHIFT, F3
F9
SHIFT, F4
F10
SHIFT, F5
BS
INSDEL
INS
SHIFT, INSDEL
DEL
INSDEL
0Dh変換
SPACE
決定
SPACE
PC全角
0EhRETURN(main)
RETURN
RETURN(10key)
RETURN
SHIFT(左)
SHIFT
SHIFT(右)
SHIFT

0

※実機のキーボードでは、以下のような順序でデータを送っています
INS[拡張キー][従来SHIFT][従来キー] の順番でmake/breakする
F6〜F10make時 [拡張キー][従来SHIFT][従来キー] の順、break時 [拡張キー][従来キー][従来SHIFT] の順
その他[拡張キー][従来キー] の順番でmake/breakする

例) [F6] を押して離した場合、(C:FE)(8:BF)(9:FD)(C:FF)(9:FF)(8:FF) が送られます。

 88VAモードについては未調査です。

 Row 0Eh の Bit7 は常に 0 になっている???
戻る