マーク5の拡張RAMでFLEX9を試す その11 (KB入力の2)

ベーシックマスタレベル3でFLEX9を動作させる作戦の続きです。

キーボードレジスタから読み込んだキーコードをASCII文字コードに変換する部分は実装できたので、
問題だったキー入力の連打対策を入れてみました。

割込みを使っても、キーボードレジスタからのデータのbit7を使ってもキーを離したことをうまく
検出できないのでカウンタで同じコードを数えてカウントアップさせる方法で実装してみました
(カウントアップで一度フラグをクリアしているので連続押下はオートリピートみたいな感じになりました^^)

なんとなくいまいちな感じですが、一応使えるようになったのでここから改良を加えて実用性を
上げていきたいと思います。

キーボードからのIRQ割込みで読込む方式です
割込みを使わずにキーボードレジスタをループで読み出す場合2段階に分けると「SHIFT」や「GRAPH」をフラグ
にセットできそうですが割込み割込みだとどうやってSHIFTやGRAPH中を検出するのかが難しそう・・・

 

INPUT部

 

INHD部

 

相変わらずこの使い方が正しいのか分かりませんが、一応使い物になっているのでメモしておきます。

CRT出力も使い物になりそうになってきたので、整理して投稿します^^

そんな、レベル3用FLEX9のキーボードドライバが少し良くなってきた記録・・・

「マーク5の拡張RAMでFLEX9を試す その11 (KB入力の2)」への2件のフィードバック

  1. キーがすべて離されるとキーコード$FFで割り込みがかかるので、これを検出に使用してみてはいかがでしょうか。

    1. 情報ありがとうございます^^
      キーコードのテストをしているときに$FFが入って邪魔だなぁと$FFをスキップする条件を入れていますが、これがキーを離したときのコードだったんですね。
      キーを離したことが検出できずに苦労していたので、早く気づけばよかったです^^;;;
      これならカウントアップでキーフラグをクリアする小細工は外せそうですね!
      ありがとうございました

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。 本文に全角文字を2文字以上含めて下さい (スパム対策)