MSX2のキーボードはMSX1と同じ構造をしていますが、カナの入力時にローマ字カナ変換方式が使えるようになり、機能的にはたいへん便利になりました。本章ではMSX2のキーボードインターフェイスについて説明します。
なお、キーの配列などについては日本仕様のキーボードをもとに説明しますが、海外仕様のMSXではデータが少し異なる部分もあります。
MSXのキーボードの配列は、英数字はJIS標準配列を採用しており、カナはJIS標準配列と五十音順配列をジャンパ線により切り換えています。ただし、このジャンパ線による設定はシステム起動時にどちらの配列を選ぶか決めているだけであり、ワークエリアKANAMDの値で任意に変更可能です。
【KANAMD (FCADH, 1)】 キー配列 (0=五十音配列、0以外=JIS配列)
MSXは図6.15のようなキーマトリクスを持っています。このキーマトリクスを調べることによって、キーの押されている状況をリアルタイムに得ることが可能であり、ゲームなどの入力に使用できます。
キーマトリクスのスキャンは、次のBIOSルーチンを用いて行います。
- SNSMAT (0141H,MAIN)
キーマトリクスの指定行を読み出します。
A | 指定したキーマトリクスの行の状態(押されているキーのビットが0になる) |
AF、C
図6.15のキーマトリクスの1行を指定し、その状態をAレジスタに返します。このとき、押されているキーに対応するビットが「0」、押されていないキーに対応するビットは「1」になります。
サンプルプログラム「KEYSCAN.MAC」を参照して下さい。