オートキー入力がうまくいかない。

ローマ字変換をするときの、オートキー入力がうまくいかない。
kya(きゃ)を出したい場合、 g shift-down 7 shift-up という、並びになる。


本来の動きのとき

  • g shift-down 7 shift-upを 順番に押したことにしていく。。
  • SUB CPUが走査する、キーはgキー、Key割り込みのREQUESTを送る
  • CPU が、割り込みに気づいて、キー割り込みを発生。
  • キー割り込みルーチン中で、SUB CPUからキーデータを受け取る
  • そのデータを、P6の内部バッファに書き込む
  • 上から2つめに戻る。


おかしいときの動き、

  • g shift-down 7 shift-upを 順番に押したことにしていく。。
  • SUB CPUが走査する、キーは、g、Key割り込みのREQUESTを送る
  • さらにSUB CPUが走査する、キーはShift-down、Key割り込みのREQUESTを送る
  • この時点で、キーデータが、gから、ShiftDownに置き換わってしまう。
  • CPU が、割り込みに気づいて、キー割り込みを発生。
  • キー割り込みルーチン中で、SUB CPUからキーデータを受け取る

というわけで、気の早いSUB CPUが、CPUよりも先に動いてしまう時があり、
それで、最初の「g」がなかったことになるのが原因らしい。。(汗)


この辺、なるべくわかるように、もう一度書き直しましたが、完全には説明できてないかも。。orz