サイバースティックをLED Gameに接続


シャープのサイバースティックをLED Game for AVRに接続しました。
LED Game側のサンプルプログラムです。
http://nicotak.com/avr/develop/cyberstick.zip
(フリーソフト、動作無保証)

Dsub9pinのコネクタ(オス)を入手して、配線してください。サイバースティックの設定はAnalogモードにしてください。Vccは5Vです。

サンプルを実行すると
ボタンの情報、Xの位置、Yの位置、スロットルの位置が16進数8桁(2桁x4)で表示されます。
ただデバイスから情報が取れるだけ。今はとりあえず動きますというレベルです。
これをEZ-USBに組み込めばWindowsゲームコントローラ(HID)として使えます。
通信方法

LHとACKのエッジを見て、4bitずつ受信します。REQを下げると通信開始の合図のようです。
ドライバのソースを見た感じでは、REQを戻すタイミングで1サイクルあたりの時間を4段階に調節できるようです(50〜200us)。1サイクルってACK2回ぶんに相当するんですかね? ドキュメントに書いてある「6回くりかえすサイクル」の意味とかがよく分かってません。
なお、
通信方法については、retropc.netで公開しているサイバースティック用ドライバのドキュメントとソースを参考にしました。
http://retropc.net/x68000/software/hardware/analog/index.htm
X68000関連のソフトは今では無償で公開されているのですが、まさかドライバのソースまで公開してるとは。