[8561]  旧98のマウスポートの処理速度について
投稿者:総額7600円 さん   2000-08-23 18:12:02
いつもお世話になっております.改造ネタではないのですが,ある意味マニアックな事柄
ですので,こちらで質問させていただきます.

PC-9801VXのマウスコネクタに接続したコード(マウスのオスコネクタ単品にコードをはん
だづけ)から,外部クロックを読み込もうとしているのですが,どうもカウント(追従)
できるる周波数が500Hz未満(333.3Hzまで確認,500Hzでは不可)のようなのです.
もちろんプログラムは機械語で,マウスポートである7FD9Hの第5ビット(右クリック信
号)を直接読んでいます.マウスポートのインターフェースLSIは8255Aということなの
ですが,このLSI自体はもっと速い入出力が可能なはずです(これを搭載したCバススロ
ット用のパラレルI/Fでは数十kHzくらい余裕でカウントできています).もちろんこのポ
ートはマウス専用ですので,仕様ということなのでしょうが(486クラスのマシンでも同様
でした),もしマウスポートの入出力速度をアップできる方法がありましたら,ご紹介い
ただけますと幸いです.

あまりにも変な質問で恐縮ですが,どうかよろしくお願いいたします m(_ _)m
  1. A・M さん   2000-08-23 19:02:47
    始めて書き込みします。普段は読んでいるだけのA・Mという者です。

    >どうもカウント(追従)できるる周波数が500Hz未満(333.3Hzまで確認,500Hzでは不可)
    との事ですが、マウスポートのボタンの信号線にはチャタリング防止の為にC、Rの積分回路が
    組まれているはずです。(これが無いとクリックするたび何度もボタンが押されたことになる)
    #マウス側に組み込まれていることの方が多いかも
    また、内部のIC等の静電気破壊防止の為にダイオード等の保護回路
    があるはずです(直接外部に出る為これは仕方が無いことです)

    おそらくこれらの回路が存在する為に認識できる周波数が頭打ちになったのではないかと思います
    #そもそも人間の手で毎秒500回もクリックできるわけないし(笑)

    解決方法ですが、
    1、メインボードに鏝入れしてC、R等を取り除く
    #計測専用にするならこれでもいいかもしれない(壊さないように注意)
    2、他の入力ポート(プリンタポートのbusyを利用して取り込む)
    #マウスポートを使う方法よりbusyを使った制作例が多いと思います
    3、専用のインターフェースを使う
    #これが使えれば特に問題無いのですが....(結構な値段しますね)

    長くなりましたがこんな所ではないでしょうか。もっと詳しい人からレスがつくかもしれません
    それでは失礼します。
  2. ☆ー。 さん   2000-08-23 23:31:09
    500Hz…1パルス2msですか…
    A・M氏のいうようにパラレルポートの方が無難な気がしますね。
    で、簡単なバッファ回路でも作って取り込むのがベストかと。

    と、ファーム屋的にはこんな感じかと。
    精度があまり要らず回路を組めるのなら外部にカウンタ持つのが楽でいいな。>ソフトが。(笑
  3. 総額7600円 さん   2000-08-24 07:39:45
    A・Mさん,☆ー。さん,ご教示ありがとうございます.なるほど積分回路ですか,考え
    てみれば当然ですよね……
    手持ちのパラレル入出力ボードをすべて使い切ってしまったので,マウスポートが使えれ
    ばと思ったのですが,どうも難しいようですね(プリンタポートは既に使用).
    手元に正体不明のCバスボードが何枚かありますので,これのカードエッジを利用してパラ
    レルI/Oボードが作れないか試してみます(8255は手持ちの物があります).

    どうももありがとうございました m(_ _)m
  4. ☆ー。 さん   2000-08-24 14:22:34
    …ふと思ったが、マウスの軸カウンタじゃダメなのかな?
    まぁ、98のハードだと、カウンタの「数」が出てくるので、使用方法が限られますけど。

    でも、ボード組めるのなら、組んでしまえば 後々なんにでも使えそうなので、
    そっちのほうがかなり有効かな。(^^;

    しかし、パラレルポートが埋まっているというのはー…
    ほんとに計測マシンと化していそうですね。(^^;
  5. 総額7600円 さん   2000-08-24 15:02:14
    とりあえずパラレルI/Oボードを自作しましたので,今回はこれでいきます.手間を惜しん
    ではいけませんね(^^;) 皆様どうもお騒がせしました m(_ _)m

    >しかし、パラレルポートが埋まっているというのはー…
    あ〜 VXの汎用スロットが埋まっているわけではないです.別な98も使っていますので,
    手持ちのパラレルボードは皆そっちに行ってしまっていたのでした.
  6. A・M さん   2000-08-24 16:20:19
    もう解決されてしまった後で申し訳無いのですが。今後参考になるかもしれませんから。
    ☆ー。さん発言の
    >…ふと思ったが、マウスの軸カウンタじゃダメなのかな?
    の件ですが、以前実験記事を見たことがあるので調べてみました。
    CQ出版 トランジスタ技術 1994年 2月号 P348〜350
    Weekend Projects PC98のマウス端子を使ったカウンタ回路の実験

    ☆ー。さんがおっしゃっているようにカウントした数が出てくるので
    使いにくいかもしれませんがマウスのボタンより早いクロックでもOKのようです

    #いろいろ説明するより実際に記事を見てもらったほうがいいと思うので
    #近くに持っている人に頼んで見せてもらった方がいいと思います。
  7. 総額7600円 さん   2000-08-25 17:50:03
    再びご教示ありがとうございます.ご紹介いただいたトラ技の記事を見てみました.
    はぁ,うまいことを考える人がいるものですね〜
    入力信号の周波数の上限も1MHz程度,またBASICのプログラムリストもついているので,
    INポートだけ欲しいという場合には結構便利かもしれません.