INT 16h (AH=1xh) 系

スキャンコードの変遷を調べてみて、なんとなく、納得。
INT 16h (AH=00h, 01h, 02h) では、基本的に、オリジナルの83/84キーボードが前提っぽい。
その後、101拡張キーボードで、右Ctrlや右Altキー他、キーが大幅に追加されたらしく、
それに対応した物が、INT 16h (AH=10h, 11h, 12h) になるらしい。
付け足しの連続で、なんだか、凄い事になっている...
Intelの命令コード体系も、結構、無理矢理な感じがあるけど、
それと同じ感じがする... (^^;;;


でも、スキャンコードの解釈については、
大部分が、INT 9h (キーボード割り込み) 内で処理されているようで、
INT 16h では、解釈済みのデータをバッファから取り出しているだけのような感じ。
まぁ、Bochs BIOS は、そういう処理をしているだけで、
それぞれの BIOS で、処理の仕方が少しずつ違うのかもしれないけれど、
少なくとも、先の方法であれば、INT 16h (AH=0xh) 系と (AH=1xh) 系と、大きな違いはなさそう。
実際、ソースを眺めてみても、E0コードがあれば、ちょいと細工をしているくらいで、
それ以外の流れは一緒みたいだ。
まぁ、とりあえず、(AH=1xh) 系を使っていれば、問題ないのかな?
良くも悪くも、歴史を感じさせられますなぁ...