PC-9801用バスマウス変換器 2018.2.2
2018.6.1(修正)

     本変換器は現在ヤフーオークションにて販売中です。(2021.6.1現在)

     こちらのマイコン電子工作のページで紹介しましたUSBマウス・バスマウス変換器を基板化しました。

     製作記事では、PIC24FJ64GB002(ROM-64KB,RAM-8KB)を使っていましたが、基板化するにあたり、PIC32MX210F016B(ROM-16KB,RAM-4KB)に変更しました。 理由は、メモリは16KBもあれば十分なことと、PIC32MXの方が価格が安かったからです。

     基板の片端にDSUB9ピンオスコネクタを、もう一方にUSB-Aコネクタを設けています。DSUBコネクタを直接PC-9801のバスマウスコネクタに差し込んで使います。

     PC-9821の丸形コネクタの機種については、DSUB9ピン−miniDIN9ピン変換ケーブルを使って接続します。

    変換ケーブルも若干数ですが製作しています。

    基板にDSUBコネクタとUSBコネクタを取り付けています。 絶縁とケースを兼ねて熱収縮チューブを被せています。 PC-9801のマウスコネクタに差し込みます。 DSUB−miniDIN変換ケーブルを使用

     USBマウスの接続は、PC-9801に接続する前でも後でも構いません。また、PC-9801の電源を入れてから接続しても問題ありません。USBマウスを認識すると緑色のLEDが点灯します。

     回路図は、次のとおりです。

     
    動作確認したマウス

    有線マウス:
    DELL(MO56UOA)
    NEC(M-UV55A)
    NO_BLAND(M-U0026)

    無線マウス:
    Logicool(M235)
    ELECOM(M-IR07DR)
    Logicool(M212)
    BUFFALO(BSMRW050)
    バスマウス変換器 回路図
    プログラム見直しにより、有線マウスx3、無線マウスx4、全て使えるようになりました。

     基板完成品では、UARTとPICKit3接続用のヘッダピン、ならびにC4(0.1uF)の取り付けを省略しています。

     製作のページでも記述していますが、製作当初では、HIDのレポートディスクリプタを読まずに手元にあった一般的なマウスのデータパケットを元にハードコーディングしていました。 そのため、接続しても動かなかったり、正常に動作しないマウスがありました。特に無線マウスはほとんどが使えませんでした。

     今回プログラムの見直しを行い、BOOT PROTOCOLを使うようにしましたので、ほとんどのマウスが動くようになりました。しかしながら、BOOT PROTOCOLのインプリメントを誤っている物もあるようで、それらのマウスはうまく動きません。 うまく動かない時は、マウスを変えて試してみてください。

     プログラムの見直しのついでに、新たな機能を盛り込みました。ハイカウントのマウスを使った時、DOSの640x400ドットのゲーム画面では、カーソルの移動が早すぎることがあります。そのような場合にはカーソルの移動速度を遅くすることが出来ると便利です。

     ホィールボタンを1秒程度長押しすると、点灯していたLEDが点滅します。この状態で、LEFTボタンを1回クリックする毎に段階的にカーソルの移動速度が減速します。RIGHTボタンを押すと逆に増速します。適当なところで、再度ホィールボタンを長押しするとLEDが点滅から点灯に戻り通常の操作状態となります。

     カーソルの移動速度の変更内容は、変換器内部のフラッシュメモリに記憶しますので電源を切っても残っており、次回からは変更操作なしで使用出来ます。

     PICマイコンに書き込んでいるファームウエア(HEXファイル)、ソースコードは次のとおりです。