KBC

KBC について少し調べてみました。昨日、キーボードからの 2 回目以降の割り込みが入らなかったのは、単に KBC の出力バッファを読んでなかったからだと思われます。
KBC への入出力は 0x60 と 0x64 番地に対して行うのですが、わかりづらい点がいくつかありました。まず、0x64 に書くときと読むときで別々のレジスタにアクセスしている点。もう一つは、0x64 にコマンドを書いた後で 0x60 にデータを書くと KBC に対する命令になり、はじめから 0x60 にコマンドを書くと キーボードに対する命令になる点。同じ 0x60 に対する出力でも、違う意味になるんです。
調べている途中、ちょっと感動したことがありました。PS/2 マウスを意味する「AUX」って用語は、「AUXiliary」を意味していたんですね。今まで知りませんでした。昔はマウスって贅沢品だったのかー。
それにしても、昨日の 0x61 ってのは何だったんだろう…。