最終更新:ID:SQ85TdEKDQ 2015年01月15日(木) 21:01:16履歴
アドレス | データビット | R/W | |||||||
---|---|---|---|---|---|---|---|---|---|
FFE0 | BM | SS | 0 | 0 | UE | SL | HR | KN | W |
BM | モード |
---|---|
0 | KBNMI禁止 |
1 | KBNMI可能 |
BASICではこのビットを"0"に設定しており、BASIC時はBREAKキーによるNMI割込みは発生しません。
このビットを"1"に設定するとBREAKキーによるNMI割込みが発生しますが、このモード使用時はBREAKキーによるNMI割込みのための処理プログラムが必要となります。
したがって、BREAKキーを押されたことの判定はKBNMIレジスタ($FFC8)のビット7により行います。
SS | モード |
---|---|
0 | KBIRQ禁止 |
1 | KBIRQ可能 |
BASIC時は通常このビットは"1"に設定されているため、キーを押すたびにIRQ割込みが発生し、キー・スキャン・コードをキャラクターコードに変換し、キー入力バッファに格納します。(BREAKキーを押してもIRQ割込みは発生しません)
このビットを"0"に設定するとキー入力を行ってもIRQ割込みが発生しないため、キー入力が必要なときにはKBレジスタを読み出すことによりキー入力を行う必要があります。
BASICではこの方式は使用しておりません。
コメントをかく