セガマウス
- 公開日: 2020/07/25
- 更新日: 2020/07/25
メガドライブ用のマウス。たぶんマスターシステムでも使用可能。日本(セガマウス)、欧州(Sega Mouse)、北米(Mega Mouse)の三種類がある。日本と欧州版はボタンの色違いのみ[1]だが、北米版は大きく異なる[2]。
サイト「FUTURE DRIVER」に記載のソースコードやSpritesMind.Netの掲示板に記載のソースコードを見る限り、ピンアウト及び読み取りの仕組みは以下の通りであると思われる。
pin # |
Function |
---|---|
1 |
DATA BIT 0 |
2 |
DATA BIT 1 |
3 |
DATA BIT 2 |
4 |
DATA BIT 3 |
5 |
VCC |
6 |
NC |
7 |
Read Start/End (Output) |
8 |
GND |
9 |
STROBE (Output) |
読み取り手順は以下の通り
ピン7、ピン9を共にHレベルにする
ピン1〜4を読み出す
ピン7をL、ピン9をHレベルにする
ピン1〜4を読み出す
ピン7、ピン9を共にLレベルにする
ピン1〜4を読み出す
ピン7をL、ピン9をHレベルにする
ピン1〜4を読み出す
2.、4.、6.、8.で読み出したデータが$0BFFでなければマウスがつながっていないので異常終了
ピン7、ピン9を共にLレベルにする
ピン1〜4を読み出す
ピン7をL、ピン9をHレベルにする
ピン1〜4を読み出す
10.〜13.をさらに2回繰り返して計24ビットのデータを得る
読み取ったデータの各ビットは以下の通り(先に読み込んだデータが上位ビット)。
Read Order |
1 |
2 |
3 |
4 |
5 |
6 |
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
pin# |
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
4 |
3 |
2 |
1 |
Function |
YO |
XO |
YS |
XS |
S |
M |
R |
L |
X7 |
X6 |
X5 |
X4 |
X3 |
X2 |
X1 |
X0 |
Y7 |
Y6 |
Y5 |
Y4 |
Y3 |
Y2 |
Y1 |
Y0 |
機能の意味は以下の通り
XO, YO: それぞれX軸、Y軸のオーバーフローフラグ。Hレベルならオーバーフローあり
XS, YS: 正負フラグ。Lレベルなら正(左又は下)、Hレベルなら負(右又は上)
S, M, R, L: それぞれStart、中ボタン、右ボタン、左ボタンの状態(Startと中ボタンは北米版のみ)。たぶんLでクリックだと思うけど。
Xn, Yn: それぞれX軸、Y軸の移動量。国内、欧州版のマウスはY軸のデータがビット反転されているとのこと。