2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

FMシリーズを語るスレ Part 15

351 :ナイコンさん :2018/11/13(火) 23:37:19.37 ID:k3flGelK0.net
>>346
キーボードの変換アダプタの件ですが、実は案外面倒なものがあります。

かくいう私も最近キーボード無しPC-8801SRを落札したのでアダプタを作ろうと色々考えた
のですが、88SRのキーボードもマトリクス「だけ」がケーブルの先にあるというタイプなのです。
それのどこが面倒かというと、88SRではI/Oの00H〜0BHにマトリクスが丸見えになっています。
これを IN A,(07H) などという感じで00H〜OBHまでソフトウェアでスキャンするわけです。
問題はスキャンするラインの番号がIN命令の中でI/Oアドレスとして与えられるため、マトリクス
にスキャンラインが伝えられて、センスラインが読まれるまで4MzのZ80だと750ns位しか時間が
無いのです。
そのため、スキャンラインの値を監視して、それが変化したら指定されたスキャンラインのデータを
センスラインに乗せるという単純なことでも、安いマイコンでは追いつかないと思われるのです。
そりゃ、100MHzクラスのマイコンならPS/2キーボードとI/Fしつつ、どうにかイケる気もしますが…

FM-77(やFM-7)のキースキャンマイコンでこの辺のタイミング関係がどうなっているのか、それは
想像するしかありませんが、程度問題はあれ、4MHzのZ80でも厳しいのではないかと想像します。

ではどう解決するか?
一つはキーマトリクスを本当に再現して、キーSWの代わりにアナログSWでも配置してPC本体に
スキャンさせる方法がありますが、基板上に手配線とか考えると滅入るばかりです。
もう一つはスキャンコードをアドレス、センスラインをデータと見立てたメモリを作り、PC本体には
それをアクセスしてもらうという方法があります。ただし、PC本体側からのアクセスと、アダプタ
内マイコンからのアクセスが同時に可能なデュアルポート構成である必要があります。

私は後者のデュアルポートメモリ構成で行くことにしました。こう書くと大げさに聞こえますが、
88SRなら 12x8bit で済むのでFPGAの中に作り込めばそれまでです。手持ちに20年物の
FLEX10Kなどが転がっていますので、死蔵コレクションの解消にもってこいです。
なんぼ遅いと言ってもアクセスタイム 750nsという要求には応えられるはずですから。

総レス数 1002
426 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200