2018年8月18日土曜日

retro-bit GENERATIONSのUSBコントローラ

表題の件、少し調べたので文章でもまとめておきます。

細かい認証やVID/PIDなんかでも制限はない模様。基本的には必要な内容を含むレポートを出してくれれば動作する。

  • desktop page - X(アナログ入力、レンジはたぶん問わない)
  • desktop page - Y(アナログ入力、レンジはたぶん問わない)
  • button page - 0x01〜0x0a

至って普通の組み合わせだとは思うんだけど、方向キーは使えるけどボタンが反応しないコントローラが多いみたい。

ボタンの割当については

  • 0x01 - Y
  • 0x02 - B
  • 0x03 - A
  • 0x04 - X
  • 0x05 - Z
  • 0x06 - C
  • 0x07 - 未使用
  • 0x08 - 未使用
  • 0x09 - mode
  • 0x0a - start

みたいです。未使用の0x07と0x08については存在してなくても大丈夫みたいです。あとVID/PIDが公式と一致する場合に限り、AとB、XとYがスワップされる謎仕様。GENERATIONS IVでしか確認してないので、もしかしたら過去のコントローラの割り当てが何パタンかあって、その差異を吸収するための手当かも。

自分のアケコン内蔵のLinux向けのドライバはこちら。レポートが最小サイズ(2バイト)になるよう、フォーマットを最適化してます。このドライバを動かすと自作アケコンをUSBでretro-bit GENERATIONSに繋げられるようになる。

1 件のコメント:

たろう さんのコメント...

初代レトロビットジェネレーションのみ、
シリーズの他とコントローラの互換性がないようで、
これも気になるところです。