昨日書いた、マウスのボール問題ですが、結局P6みたいにマウスコンバータを作る事にしました。
P6でのマウスコンバータの設計資産をそのまま使ったので、かなり簡単に出来ました(設計からデバッグまで1.5日)。
既に他の人が作っているのがあるのは知っていますが、わざわざ買うのも...というわけです。
P6と同様に、PS/2マウス→X68000マウスへの変換です。
ソースとHEXファイルです→MOUSEX68.zip
AVRも全く同じの ATtiny2313 で設計しています。ATtiny2313A でも同じHEXファイルで動作します。
P6のものと同じように、真ん中ボタンを押すとマウス移動速度が遅くなります(x1、x1/2、x1/4、x1、…)。
またPS/2のマウスによっては動作しないものがあるので注意して下さい。
X68000に接続する時は、PS/2マウスをコンバータに接続してから、X68000に接続して下さい。
X68000のマウスは、いわゆるシリアルマウスです。仕様を調べた結果、以下の通りのようです。
・転送速度:4800bps(1ビット当たり208us)
・スタート1ビット、ストップ2ビット
・データ8ビット、パリティなし
・X68000→マウス:出力要求信号(MSCTRL)
・マウス→X68000:データ出力(MSDATA)
・MSCTRLが、"H"の間は、MSDATA は Hi-Z
・MSCTRLが、"H"→"L"になって、400us程度経ってからデータを出力する(LSB先送り)。
・データ出力は3バイト。
1バイト目:bit0:左ボタンの状態(押下中"H")
1バイト目:bit1:右ボタンの状態(押下中"H")
1バイト目:bit2-7:"L"
2バイト目:bit0-7:左右移動量(符号付:右移動時が正)
3バイト目:bit0-7:上下移動量(符号付:下移動時が正)
製作で一番問題なのは、X68000に挿し込むための、mini DIN5ピンのプラグが入手困難なことです。
私自身はたまたま持っていたんですが、もったいないので(^^;) miniDIN6ピンを加工してmini DIN5ピンにしました。
miniDIN6ピンは、PS/2マウスで使われているプラグなので、入手性はいいと思います。
↑見づらいですが、プラグの種類によっては、真ん中の棒の太さが若干ちがいます。細いほうが加工がしやすいです。
↑これまた見づらいですが、矢印で指している部分を加工します。
右下のピンを一つ根元から切り、真ん中の棒の上半分くらいを切断します。
そのままでは加工ができないので、外側のプラスティックの部分から出す必要があります。
また、miniDIN6ピンの新品のプラグが入手できれば、それから加工するのがテだと思います。
共立電子→https://eleshop.jp/shop/g/g61F14A/
完成したものも載せておきます。

