2012年11月25日

マウス変換コネクタ

  P6系で使えるマウスはMSX用などですが、多分現在ではほとんど入手が困難だと思います。

  なので、PS/2 のマウスをMSX用(というかP6用?)に変換するコネクタを作りました。


  FM-TOWNS用で同様のものがあるようですが、今回の製作のコンセプトは、「出来るだけ簡単に作る」です。


注)使用する際は、使用者個人責任で行ってください。実行した結果によって、いかなる結果になっても、作者は一切責任を負いませんので、ご了承下さい。
  (今更ですが)



  回路図がこれになります。

マウス変換回路図


  AVR の中で、安価でI/O数があるATtine2313 を使いました(240円)。
  AVR 内の POWER ON リセットを使用しているので、リセット回路はありません。
  データの焼きこみを他で行うのなら、ISPコネクタも不要です。

  パスコンの値は適当です。


  PS/2 が挿さるコネクタは、mini-DIN の6ピンです。

  P6に挿すコネクタは Dsub 9ピンですが、普通のではそのまま挿せないため、金属ケースを取り除いて中身だけを使います。

Dsub-9pinコネクタ


  こんな感じです。左右の出ている金属部分をペンチで何度か曲げていると、ねじ切ることができます。

  Dsub 9ピンのピンの間に、ユニバーサル基板を挟むような感じで組み上げます。


  実際に組み立てたものがこれです。ちょっと安っぽいです...

マウス変換表


  裏面はこんな感じです。あまりキレイではありません。

マウス変換裏



  AVR のプログラムですが、C+アセンブラになります。

MOUSECONV.zip

  FUSE ビットは、デフォルトのまま使用しています。



  使い方ですが、必ずマウスを変換コネクタに挿してから、P6 に変換コネクタを挿して下さい。
  途中でマウスを抜き差しすると、誤動作する可能性があります。

  P6 の電源を入れている時に変換コネクタを抜き差しした場合、論理動作は正常に動くと思うんですが、物理的にやられる可能性がありますので、注意して下さい。


  PS/2 のマウスは中トリガがあるものがありますが、これを押すと移動量を変化させるようにしました。押すたびに、1/1 、1/2 、1/4 、1/1 、・・・、となります。



  mk2、P6F では当然使えたんですが、MSX や FM-TOWNS で使用できるかどうかは、試していません(使えるはずですが)。


posted by えすび at 10:56| Comment(9) | HW:その他 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
こんにちは、この変換コネクタを作ってみようと思うの
ですが、ATTINY2313-20PUとAT90S2313-10PCでは
どちらが良いのでしょうか。
Posted by お尋ねします at 2014年11月29日 12:56

ブログの記事をそのまま実践するのであれば、同じ品種(ATTINY2313 20PU)を使った方がラクです。
プログラムデータも、コンパイル後のデータも置いているので、そのまま使えます。

AT90S2313は、ATTINY2313の後継機種のようですが、ヒューズビットなどの設定が若干違うようです。
(デフォルトのヒューズビットで設定される、内蔵OSCの周波数が違うらしい)

自力でこの辺りの問題を解決できるのならば、AT90S2313でもいいかと思います。


「at90s2313 attiny2313 違い」で検索するといろいろ出てきます。

このページが参考になるかと。
http://homepage3.nifty.com/ARTWEB/avr1.htm

先頭からだいぶ下の「AT90S2313/ATTINY2313(20ピンAVR)を使ってみる
」が参考になります。

ATTINY2313のヒューズビットのデフォルト値は、内蔵OSCの8MHz選択なので、同様の設定が必要になります。

手持ちにAT90S2313 がないので、試せませんが。
Posted by えすび at 2014年11月29日 13:37
お答えいただき有り難うございます。
ATTINY2313-20PUとAT90S2313-10PC、というのは
秋月電子で部品を探していたら、この2つが
出て来たので迷っていたところでした。
助かりました。
Posted by 質問者です at 2014年12月03日 20:08
こんにちは。
このコネクタ、作成してみました。
MSX(A1ST)にて問題なく動作しています。
MSXで光学マウスが利用できる日が来るとは!
Posted by ゆうくん at 2015年08月30日 20:38
MSXでも動作しましたか。MSXの規格で設計しているので当たり前と言えば当たり前ですが(^^;)

報告、ありがとうございます。


Posted by えすび at 2015年08月30日 21:55
僕もPC-88やMSXで使える変換器を作ろうと思って
PICやコネクタ類を揃えていたんですが、
PS/2コネクタを間違えてピン数違いのものを
買ってきちゃったりしてやる気が無くなりかけて
いたところ。完成したんですね。
EPLDなら直ぐに書けると思うんですが、PICでアセンブラで、
となると面倒だ、というのもありました。
早速AVRを買いに行こうかな。

ところでソースはまだ読んでいませんが、マウスは
ストリームモードですか?リモートモードで使っていますか?
タイミングが間に合えばリモートモードの方がコードが
簡単になるのかな?と考えていましたが応答時間を考えると
タイミングが合わなかったように記憶しています。
僕のFPGA版X68000はタイミングに十分な余裕があったので
リモートモードで使いました。
Posted by プー at 2015年09月10日 14:08
 もう3年も前ので、すっかり忘れていました(^^;)...

 PS/2のマウスのモードは、(多分)ストリームモードで使用しています。
 マウスに対してデータを送信するのが、何となく面倒だったので、ストリームモードにしています。

 リセット後はストリームモードになるので、マウスから送られてくるデータを受信、蓄積、変換してP6側に送信するだけなので、作りが簡単になるためです。

 まあ、そのためにPS/2からのデータを確実に受信するために一部アセンブラの表記が必要になったのですが。


Posted by えすび at 2015年09月11日 14:49
お邪魔します。
たまたま入手したROLAND S-330にマウスを
繋ぎたくて、ここにたどり着きました。
楽器に繋がるのか不安でしたが、製作して
あっさり動作したので嬉しく思っています。
この様な記事&プログラムの公開に感謝しつつ、
ありがたく使わせていただきます(^^)
Posted by てんち at 2018年02月04日 19:01
5年以上前のですが役立ってよかったです。

PS/2マウスの種類によっては動かない場合もあるので、注意が必要です。

USB版を作ろうかとも思っているのですが、面倒なのでちょっと止まっています。

既に販売している人もいるようです。
https://twitter.com/w341ig


Posted by えすび at 2018年02月04日 20:26
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。