※検索でたどり着いた方へ※
このページには技術的情報がまとめてあります。
市販のゲームコントローラをメガドライブミニで使用するには
こちらのコンバータを使用するのが最もかんたんで確実です。
あと数時間でメガドラミニが到着するはずですが、その前に昨日セガから公開されたOSSソースコードをもとにハックの準備をしていきます。
https://sega.jp/mdmini/doc/mdmini-oss/
前情報で、どうやら付属の純正パッド以外のコントローラが認識しないという話が聞こえていました。また、マルチタップ代わりのUSBハブも専用品番でないと使えない、とのことです。
https://game.watch.impress.co.jp/docs/news/1185012.html
おそらく動作保証とかいろいろ理由はあるのでしょうが、既存のハードウェアリソースが使えないのはちょっともったいないですよね。
では、公開されたLinuxのソースコードをあさっていきます。
USBドライバ周りのはずですので drivers/usbあたりを探してみます。
すると、hub/core.cに不思議な文字列を発見しました。
また、関連するKConfigには
config USB_SPECIAL_DEVICE bool
"Only Support special devices" depends on USB
default n help if you say Y here,then only support special device!!!
という項目と、hub.cに以下のような定義がありました。
どうやらここに指定していないUSBデバイスは
認識時に振り落とされるようです。
では、ここで指定されているVID/PIDが何の製品なのか確認してみましょう。
VID | Vendor Name | PID | Product Name |
14CD | Super Top | 8601 | 4-Port hub |
0CA3 | Sega Corp. | 0024 | 同梱Pad ? |
0C3A | Sega Corp. | 0025 | 同梱Pad ? |
0BDA | Realtek Semiconductor Corp. | 5411 | おそらくUSBHUB |
05E3 | Genesys Logic, Inc | 0608 | USB HUB |
2109 | VIA Labs, Inc. | 2817 | おそらくUSBHUB |
1A40 | Terminus Technology Inc. | 0101 | USB HUB |
1DD8 | BUFFALO | 000f | BSGP1204 |
1DD8 | BUFFALO | 000b | BSGP1601 |
0079 | DragonRise Inc | 0011 | GamePad |
drivers/hid/inputあたりを確認すると、なぜか0C3A:0024や0025の製品が、このDragonRiseというゲームパッドのドライバ内でハンドルされています。