先日PC-9821Xaが2台になったのですが、キーボードは予備があったものの純正マウスの予備がなく、ジャンクパーツ保管箱からサードパーティ製のバスマウスを引っ張り出してきて使っています。
しかしこのマウスはボール式で、古いためマウスを動かしてもカーソルが動かなかったり、ボタンを押しても反応しなかったりします。
使っているとかなりストレスが溜まります。
以前から光学マウスをPC-98に繋げられないかな~、と思っていたのですが、本気で調べることにしました。
考えることはみんな同じなのか、検索したら一発で引っかかりましたが(苦笑
それがこちらのページです。
載っているのは実例ではなく改造案ですが、光学センサの信号を乗っ取る、というものでしたので、それならやってみるべ、とデッドストック状態のPS/2の光学マウスを改造してみました。
結果を先に書いておくと、改造したものがPC-98で使えました。
今回はPS/2マウスを使いましたが、HDNS-2000を使っているマウスならUSBタイプでも同じように改造できると思います。
【4/5追記】
正式に改造しました。記事はこちら。
【4/5追記終わり】
以下、実験の経緯です。
◇◇◇
〇PS/2の光学マウス
ロジテックのM-BD58です。
本来てっぺんのへこんでいるところにロジテックのロゴがある部品が付いているんですが、いつのまにやらなくなってました(苦笑
件の記事はHDNS-2000(以下、H2000)という光学センサを対象にしてますので、このマウスが使っている光学センサを確認します。
〇M-BD58の光学センサ
らっきぃ。H2000が使われてました。
件の記事ではPC-98の実機を持っておらず検証できていない、とのことなので、正論理/負論理が合っているか載っているチップのデータシートなどで検証します。
H2000のデータシートから、マウスの移動信号は正論理とわかりました。
それを受けているのが写真にあるSC84510という刻印がある石です。
SC84510はデータシートによるとPS/2のホイールマウスを実現するためのもののようです。
H2000でも3ボタンのPS/2マウスは実現できるんですが、ホイールに対応していません。
そのためH2000は光学センサとして使用してSC84510でホイールマウスとしていました。
ボタンもSC84510に接続されています。
これらの信号入力端子はデータシートによるとすべてSC84510の中でプルダウンされているので、この石も正論理で動いています。
一方PC-98のバスマウスはどうなっているのかというと。
実機を分解して、中の基板のパターンから回路図を起こしてみると、こんな風になっていました。
〇PC-98用バスマウス(実機)の内部回路
※CADのライブラリの都合で密閉型のフォトカプラの記号を使ってますが、実際は開放型です。
どの端子も負論理です。論理反転しないとダメですね。
しかも移動センサの方はオープンコレクタ接続です。
H2000はもちろんのこと、7404など能動的に電圧を出力するロジックICからも直結するのは怖いです。
ここは現物に倣ってオープンコレクタ(オープンドレイン)で接続する回路を入れることにしました。
〇論理反転&オープンコレクタ接続回路
回路図にあるSC84510の記号はこの石を外した跡地のパターンを表しています。
ボタンとH2000は基板にあるものをそのまま使い、基板からSC84510を外して、その跡地のパターンから信号を引き出して論理反転回路を経由してD-Sub9pコネクタにつなぎます。
なお、回路図の端子番号と左にあるDSUB-9pの絵にあるピン番号が対応しています。
〇論理反転回路
作成した論理反転回路です。
今回は実験なので、マウスの筐体内に収めることは考えず、手持ちの部品で必要最小限の回路を組みました。
〇SC84510とその跡地
SC84510を外した跡地です。
ここに先ほどの回路を載せます。
〇実験用基板実装後
こんなんなりました。(笑
とてもじゃありませんが、ケースを閉じることはできません。
まあこんな状態でも動作はします。
早速PC-98につないでみましたが、ボタンと左右移動は問題ありませんでした。
しかし、マウスを上下に動かすとカーソルが逆方向に動きます。
左右と上下では接続が逆になっているようです。
ケーブルコネクタの縦方向の信号の線の順番を入れ替えたら直りました。
(上記の回路図および写真は修正後のものです。最初はDsub-9pの5番ピンと4番ピンが逆になってました)
これで無事、PS/2の光学マウスをPC-98に繋げられることが確認できました。
そのうち筐体に内蔵できる論理変換基板を作って正式対応しようと思います。
【4/5追記】
正式対応しました。記事はこちら。
【4/5追記終わり】
なお、上の回路図では中ボタンの配線もしてあります。
実験基板でも配線してあったのですが、こちらは動作確認していません。
正式対応の時に中ボタンの有効/無効を切り替えられるようにして、その時に動作確認します。
◇◇◇
件の記事ではH2000のピンをPC-98のバスマウスコネクタに直接つないでいますが、これは危険かもしれません。
先に書いたとおり、PC-98用バスマウスの現物ではオープンコレクタでつないでいます。
これは信号をLowに落としたときにマウスに流れ込む電流/Highに上げたときにマウスから流れ出す電流がどのくらいになるのかわからない、ということです。
H2000のデータシートを見る限り、信号をHighにしたときに流れ出す電流は1mAに満たないようなので、H2000から信号を制御できないばかりか、下手をするとH2000の能力以上の電流が流れだして破損してしまう可能性もあります。
たまたまうまく動く本体もあるかもしれませんが、どのみち論理反転が必要なことですし実機に倣ってオープンコレクタでつなぐのが無難でしょう。