SORD M23のキーボードの仕組みについて調べました。
M23のキーボードはI/Oポートe0~efに割り当てられています。何かキーを押すと、このポートのどれかに04h、08h、10h、20h、40hが入ります。
I/Oポートe0~efとこの値はキーの物理的に位置によって決まります。もちろん特殊キーは下の画像の関係には従いません。
M23用のワードプロセッサのキー入力周辺のコードではかなり複雑な計算をして、画面に表示する文字を決めています。これは、QWERTY配列があったりAZERTY配列があったりと国ごとにキー配列が異なるのでそれに対応するため、また、一対一対応でコードを書くとメモリを食いすぎるためだと思われます。
今回は、とにかく動くか確かめたかったので、計算のコードを解析するのは後回しにして、このキーはこの文字という一対一対応のコードを書いて、前回の画面に文字を出すコードと組み合わせることで、「キーを押すとその文字が画面に出る」プログラムを書きました。リターンキー(現代のPCではENTERキー)の処理もしてあります。