サターンマルチコントローラー USB拡張ユニット

このエントリーをはてなブックマークに追加

セガマルチコントローラー用のUSB拡張ユニット

ファームウェアリリース履歴

リリースバージョン概要
v.1.0.0初版
v.1.1.0ABXYスワップ機能追加
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.1ABXYスワップ機能がデフォルトでONになってしまうバグの修正

switch版ファームウェアリリース履歴

リリースバージョン概要
v.switch.1.0.0初版
v.switch.1.1.0LR 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サターン最適化版
目次

頒布委託先

家電のケンちゃんさん、ケーピーディーさん、BOOTHで頒布中です。

製品概要

セガサターンのマルチコントローラー(マルコン)をUSB化するための拡張ユニットです。
標準ユニットと本製品を付け替えることで、マルコンがUSBゲームパッドとして使えるようになります。

USBコネクタはType-Cを採用しています。
※ USBケーブルは製品に添付されていませんので、ご自身でご用意ください。

ファームウェアはオープンソースとして公開しているので、ユーザーが自由に編集できます。
編集したファームウェアはUSB経由で書き込むことができます。

デモ

製品特徴

ワンタッチでマルコンをUSB化

標準ユニットと本製品を付け替えることで、マルコンがUSBゲームパッドとして使えるようになります。

USBケーブルの挿入は本製品をマルコンに装着した状態で行ってください。
マルコンに装着していない状態で本製品とPCなどをUSBケーブルで接続するとファームウェア書き込みモードで起動します。

自由に書き換え可能なファームウェア

ファームウェアのソースコードはオープンソースとして公開しています。
https://github.com/takusan213/usb-ss3d-gamepad

ファームウェアの書き込みはUSB経由で行えます。
拡張ユニットをマルコンに挿していない状態で、USBをPCに挿すことで本製品はファームウェア書き込みモードとして起動します。

モード切替スイッチ対応

マルコン本体のモード切替スイッチに対応しています。
+モード/〇モードにおけるボタン割り当ては下記となります。(標準ファームウェアの場合)

マルコンボタン+モード〇モード
A11
B22
C33
X44
Y55
Z66
L7Z軸
R8Z回転軸
start99
アナログスティック非動作X軸/Y軸
十字キーハットスイッチハットスイッチ
ユニット裏面スイッチ(プラス版のみ)1212

ユニット裏面にボタン搭載 (プラス版のみ)

現行機種である”サターンマルチコントローラー 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コネクタ: 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

ファームウェアの書き込み

ファームウェアの書き換えは次の手順に従ってください。

  1. 書き込み用ソフトウェアを起動します。
  2. 拡張ユニットをマルコン本体から外した状態でUSBをPCに挿します。これにより、本製品がファームウェア書き込みモードとして起動します。
    ファームウェア書き込みモードとして起動した場合、書き込み用ソフトウェアが接続状態になります。
  3. 左上のフォルダアイコン(Import Firmware Image)をクリックし、あらかじめビルドしておいたファームウェア(.hexファイル)を選択して読み込みます。
  4. 左から二番目のアイコン(Erase/Program/Verify Device)がアクティブになるので、クリックして書き込みを行います。

以上でファームウェアの書き込みは完了です。

あとはUSBケーブルを一度抜いてからマルコンに拡張ユニットを装着し、USBケーブルを挿しなおすと、書き込んだファームウェアで遊ぶことができます。

ファームウェア集

ファームウェアをgithubで公開しています。

GitHub
GitHub - takusan213/usb-ss3d-gamepad: This project remakes your SEGA Multi Controller (aka 3D Contro... This project remakes your SEGA Multi Controller (aka 3D Control Pad in US) into a usb gamepad. - 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に対応したバージョンです。

ボタン割り当て

マルコンボタン+モード〇モード
AAA
BBB
CR1R1
XXX
YYY
ZL1L1
L左スティック押込みLトリガー
R右スティック押込みRトリガー
startstartstart
アナログスティック非動作左スティック
十字キー十字キー十字キー
ユニット裏面スイッチ(プラス版のみ)backback

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に対応したバージョンです。

ボタン割り当て

マルコンボタン+モード〇モード
AAA
BBB
CselectR
XXX
YcaptureY
ZhomeZ
LZLZL
RZRZR
startstartstart
アナログスティック非動作左スティック
十字キー十字キー十字キー
ユニット裏面スイッチ(プラス版のみ)selectselect

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用にボタン配置を最適化したバージョンです。

ボタン割り当て

マルコンボタン+モード〇モード
AAA
BBB
CselectC
XXX
YYY
ZhomeZ
L左スティック押込みLトリガー
R右スティック押込みRトリガー
startstartstart
アナログスティック非動作左スティック
十字キー十字キー十字キー
ユニット裏面スイッチ(プラス版のみ)selectselect

特殊機能

長押しボタン機能
start + ↑AB XY スワップ
start + ↓LR CZ スワップ
start + ←十字キーモード変更

Polymega サターン最適化版

v.poly.1.0.B.hex
Polymegaでサターンやメガドラのゲームを遊ぶと、一部の格闘ゲームではボタン割り当てが標準の割り当てから変更されています。
本ファームウェアは+モードと〇モードに異なるボタン割り当てを登録しており、上記Polymegaの仕様に最適化しています。

ほとんどのゲームでは〇モード、一部の格闘ゲームでは+モードを使用してください。

このファームウェアはユーザーの意見から生まれました。

ボタン割り当て

マルコンボタン+モード〇モード
AAA
BBB
CCC
XXX
YYY
ZZZ
LLL
RRR
startstartstart
アナログスティック非動作左スティック
十字キー十字キー十字キー
ユニット裏面スイッチ(プラス版のみ)homehome

特殊機能

長押しボタン機能
start + ↑AB XY スワップ
start + ↓LR CZ スワップ
start + ←十字キーモード変更

制作日記

目次