セガマルチコントローラー用のUSB拡張ユニット
ファームウェアリリース履歴
リリースバージョン | 概要 |
---|---|
v.1.0.0 | 初版 |
v.1.1.0 | ABXYスワップ機能追加 |
v.2.0.0 | プラス版(ユニット裏面ボタン追加版)へ対応 |
Xinput版ファームウェアリリース履歴
リリースバージョン | 概要 |
---|---|
v.xin.1.0.0 | 初版 |
v.xin.1.1.0 |
- ABXYスワップ機能追加 - アナログスティックモード切替機能追加 |
v.xin.1.2.0 | アナログスティック切り替え機能を十字キー切り替え機能に変更 |
v.xin.1.3.0 | - c,zと+モードの時のL,Rの割り当てを交換 - LR CZスワップ機能追加 |
v.xin.2.0.0 | プラス版(ユニット裏面ボタン追加版)へ対応 |
v.xin.2.0.1 | ABXYスワップ機能がデフォルトでONになってしまうバグの修正 |
switch版ファームウェアリリース履歴
リリースバージョン | 概要 |
---|---|
v.switch.1.0.0 | 初版 |
v.switch.1.1.0 | LR CZ スワップ機能追加 |
v.switch.1.2.0 |
- +モード時にc, y, zにselect, capture, homeが割り当てられるように変更 - アナログスティックモード切替機能を十字キーモード切替機能に変更 |
v.switch.2.0.0 | プラス版(ユニット裏面ボタン追加版)へ対応 |
Polymega版ファームウェアリリース履歴
リリースバージョン | 概要 |
---|---|
v.poly.1.0.0 | 初版 (v.xin.2.0.1ベース) |
v.poly.1.0.B | サターン最適化版 |
- 頒布委託先
- 製品概要
- デモ
- 製品特徴
- ユニット裏面にボタン搭載 (プラス版のみ)
- 動作確認済OS / ゲーム機
- その他仕様
- 製品写真
- 動作確認
- Steamでのコントローラー設定について
- ファームウェアの書き込みについて
- ファームウェア集
- 制作日記
頒布委託先
家電のケンちゃんさん、ケーピーディーさん、BOOTHで頒布中です。
製品概要
セガサターンのマルチコントローラー(マルコン)をUSB化するための拡張ユニットです。
標準ユニットと本製品を付け替えることで、マルコンがUSBゲームパッドとして使えるようになります。
USBコネクタはType-Cを採用しています。
※ USBケーブルは製品に添付されていませんので、ご自身でご用意ください。
ファームウェアはオープンソースとして公開しているので、ユーザーが自由に編集できます。
編集したファームウェアはUSB経由で書き込むことができます。
デモ
製品特徴
ワンタッチでマルコンをUSB化
標準ユニットと本製品を付け替えることで、マルコンがUSBゲームパッドとして使えるようになります。
USBケーブルの挿入は本製品をマルコンに装着した状態で行ってください。
マルコンに装着していない状態で本製品とPCなどをUSBケーブルで接続するとファームウェア書き込みモードで起動します。
自由に書き換え可能なファームウェア
ファームウェアのソースコードはオープンソースとして公開しています。
https://github.com/takusan213/usb-ss3d-gamepad
ファームウェアの書き込みはUSB経由で行えます。
拡張ユニットをマルコンに挿していない状態で、USBをPCに挿すことで本製品はファームウェア書き込みモードとして起動します。
モード切替スイッチ対応
マルコン本体のモード切替スイッチに対応しています。
+モード/〇モードにおけるボタン割り当ては下記となります。(標準ファームウェアの場合)
マルコンボタン | +モード | 〇モード |
---|---|---|
A | 1 | 1 |
B | 2 | 2 |
C | 3 | 3 |
X | 4 | 4 |
Y | 5 | 5 |
Z | 6 | 6 |
L | 7 | Z軸 |
R | 8 | Z回転軸 |
start | 9 | 9 |
アナログスティック | 非動作 | X軸/Y軸 |
十字キー | ハットスイッチ | ハットスイッチ |
ユニット裏面スイッチ(プラス版のみ) | 12 | 12 |
ユニット裏面にボタン搭載 (プラス版のみ)
現行機種である”サターンマルチコントローラー USB拡張ユニット プラス”には、ユニット裏面にボタンを搭載しています。
このボタンは、標準のファームウェアでは"12"、Xinput版ファームウェアでは"back"、switch版ファームウェアでは"-"に割り当てられています。
この追加のボタンにより、スティック押し込み以外のボタンをカバーすることができるようになり、より多くのゲームで違和感なく遊べるようになりました。
動作確認済OS / ゲーム機
- レトロフリーク
- Windows10
- Windows11
- Raspberry PI 3
- Raspberry Pi OS
- Recalbox for RASPBERRY PI 3
- RetroPi 4.7.1 for RASPBERRY PI 2/3
- Raspberry PI 4
- Raspberry Pi OS
- Recalbox for RASPBERRY PI 4/400
- RetroPi 4.7.1 for RASPBERRY PI 4/400
- switch (本記事の最後に記載のファームウェアに書き換え必要)
動作報告いただいたゲーム機
次のゲーム機はユーザーの皆様から動作確認報告をいただいたものです。
- POLYMEGA
- Xinput版ファームウェアに書き換え必要 (ファームウェアは本記事の最後に記載)
- ゲーム中のコントローラー設定のアナログ設定をONにすることでアナログスティックが動作する
マルコンUSB拡張ユニットのポリメガ対応について、rukaさん( @ruka_riker )の調査で下記わかりました。
— たくさん 🐦 GEEKY Fab. (@takusanToIssho) September 1, 2023
- xinput版ファームウェアを使用すると認識する
- ゲーム中のコントローラー設定のアナログ設定をONにするとアナログスティックが動作する https://t.co/AZ4Q1jd7gS
その他仕様
USBコネクタ: Type-C
使用マイコン: PICマイコン(PIC16F1459)
製品写真
動作確認
動作確認の方法はSFCコントローラーUSBゲームパッド化基板と同様になります。
詳しくはこちらをご確認ください。
Steamでのコントローラー設定について
標準ファームウェアのままSteamで使用する場合は、Big Pictureモードから設定をお願いします。
こちらのページが参考になります。
Steamのコントローラー設定!ゲームパッド画面からのカスタマイズ方法 - Apple Geek LABO
Big Pictureモードでコントローラーが認識しない場合は、Steamの設定→コントローラー→一般のコントローラー設定を開き、"SS3Dゲームパッド"を選択してボタンの割り当てを行ってください。
xinput版のファームウェアを使用する場合は上記設定不要です。
ファームウェアの書き込みについて
ファームウェア書き込み用ソフトのインストール
ファームウェアの書き込みにはMicrochip社が提供するMLA(Microchip Libraries for Applications)に付属している書き込み用ソフトウェアが必要となります。
MLAのインストーラーはこちらからダウンロードできます。
MLAをインストールすると、下記フォルダに書き込み用ソフトウェアが入ります。
<インストールフォルダ>\mla\v2018_11_26\apps\usb\device\bootloaders\utilities\bin\win\HIDBootloader.exe
ファームウェアの書き込み
ファームウェアの書き換えは次の手順に従ってください。
- 書き込み用ソフトウェアを起動します。
- 拡張ユニットをマルコン本体から外した状態でUSBをPCに挿します。これにより、本製品がファームウェア書き込みモードとして起動します。
ファームウェア書き込みモードとして起動した場合、書き込み用ソフトウェアが接続状態になります。
- 左上のフォルダアイコン(Import Firmware Image)をクリックし、あらかじめビルドしておいたファームウェア(.hexファイル)を選択して読み込みます。
- 左から二番目のアイコン(Erase/Program/Verify Device)がアクティブになるので、クリックして書き込みを行います。
以上でファームウェアの書き込みは完了です。
あとはUSBケーブルを一度抜いてからマルコンに拡張ユニットを装着し、USBケーブルを挿しなおすと、書き込んだファームウェアで遊ぶことができます。
ファームウェア集
ファームウェアをgithubで公開しています。
https://github.com/takusan213/usb-ss3d-gamepad
githubからダウンロードする場合は、右上のRawをクリックして生データを表示させた後、右クリックで名前を付けて保存で拡張子を.hexで保存すればOKです。
オリジナルファームウェア
v.2.0.0
購入時に書き込まれているファームウェアです。
Direct inputのゲームパッドとして動作します。
ABXYスワップ機能
startボタンと十字キーの上を1秒以上長押しすることで、AとB、XとYのボタン割り当てをスワップできます。
Xinput版
v.xin.2.0.1.hex
Xinputに対応したバージョンです。
ボタン割り当て
マルコンボタン | +モード | 〇モード |
---|---|---|
A | A | A |
B | B | B |
C | R1 | R1 |
X | X | X |
Y | Y | Y |
Z | L1 | L1 |
L | 左スティック押込み | Lトリガー |
R | 右スティック押込み | Rトリガー |
start | start | start |
アナログスティック | 非動作 | 左スティック |
十字キー | 十字キー | 十字キー |
ユニット裏面スイッチ(プラス版のみ) | back | back |
ABXYスワップ機能
startボタンと十字キーの上を1秒以上長押しすることで、AとB、XとYのボタン割り当てをスワップできます。
LR CZスワップ機能
startボタンと十字キーの下を1秒以上長押しすることで、LとZ、RとCのボタン割り当てをスワップできます。
十字キー切替機能
startボタンと十字キーの左を1秒以上長押しすることで、十字キーの機能を「十字キー」から「右スティック」に切り替えることができます。
機能をまとめると、以下の通りです。
長押しボタン | 機能 |
---|---|
start + ↑ | AB XY スワップ |
start + ↓ | LR CZ スワップ |
start + ← | 十字キーモード変更 |
switch版
v.switch.2.0.0.hex
switchに対応したバージョンです。
ボタン割り当て
マルコンボタン | +モード | 〇モード |
---|---|---|
A | A | A |
B | B | B |
C | select | R |
X | X | X |
Y | capture | Y |
Z | home | Z |
L | ZL | ZL |
R | ZR | ZR |
start | start | start |
アナログスティック | 非動作 | 左スティック |
十字キー | 十字キー | 十字キー |
ユニット裏面スイッチ(プラス版のみ) | select | select |
ABXYスワップ機能
startボタンと十字キーの上を1秒以上長押しすることで、AとB、XとYのボタン割り当てをスワップできます。
LR CZスワップ機能
startボタンと十字キーの下を1秒以上長押しすることで、LとZ、RとCのボタン割り当てをスワップできます。
十字キー切替機能
startボタンと十字キーの左を1秒以上長押しすることで、十字キーの機能を「十字キー」から「右スティック」に切り替えることができます。
機能をまとめると、以下の通りです。
長押しボタン | 機能 |
---|---|
start + ↑ | AB XY スワップ |
start + ↓ | LR CZ スワップ |
start + ← | 十字キーモード変更 |
Polymega版
v.poly.1.0.0.hex
Xinput版をベースに、polymega用にボタン配置を最適化したバージョンです。
ボタン割り当て
マルコンボタン | +モード | 〇モード |
---|---|---|
A | A | A |
B | B | B |
C | select | C |
X | X | X |
Y | Y | Y |
Z | home | Z |
L | 左スティック押込み | Lトリガー |
R | 右スティック押込み | Rトリガー |
start | start | start |
アナログスティック | 非動作 | 左スティック |
十字キー | 十字キー | 十字キー |
ユニット裏面スイッチ(プラス版のみ) | select | select |
特殊機能
長押しボタン | 機能 |
---|---|
start + ↑ | AB XY スワップ |
start + ↓ | LR CZ スワップ |
start + ← | 十字キーモード変更 |
Polymega サターン最適化版
v.poly.1.0.B.hex
Polymegaでサターンやメガドラのゲームを遊ぶと、一部の格闘ゲームではボタン割り当てが標準の割り当てから変更されています。
本ファームウェアは+モードと〇モードに異なるボタン割り当てを登録しており、上記Polymegaの仕様に最適化しています。
ほとんどのゲームでは〇モード、一部の格闘ゲームでは+モードを使用してください。
このファームウェアはユーザーの意見から生まれました。
作ってみましたhttps://t.co/VTJFGQDeeb
— たくさん 🐦 GEEKY Fab. (@takusanToIssho) 2024年5月6日
+モードでxinput配置、〇モードでpolymega配置です
ボタン割り当て
マルコンボタン | +モード | 〇モード |
---|---|---|
A | A | A |
B | B | B |
C | C | C |
X | X | X |
Y | Y | Y |
Z | Z | Z |
L | L | L |
R | R | R |
start | start | start |
アナログスティック | 非動作 | 左スティック |
十字キー | 十字キー | 十字キー |
ユニット裏面スイッチ(プラス版のみ) | home | home |
特殊機能
長押しボタン | 機能 |
---|---|
start + ↑ | AB XY スワップ |
start + ↓ | LR CZ スワップ |
start + ← | 十字キーモード変更 |