MENU

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

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

セガマルチコントローラー用の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 サターン最適化版


頒布委託先

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

www.kadenken.com

www.kuropanda.org

geekyfab.booth.pm

製品概要

セガサターンのマルチコントローラー(マルコン)を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コネクタ: Type-C
使用マイコン: PICマイコン(PIC16F1459)

製品写真

動作確認

動作確認の方法はSFCコントローラーUSBゲームパッド化基板と同様になります。
詳しくはこちらをご確認ください。

geekyfab.com

Steamでのコントローラー設定について

標準ファームウェアのままSteamで使用する場合は、Big Pictureモードから設定をお願いします。
こちらのページが参考になります。
Steamのコントローラー設定!ゲームパッド画面からのカスタマイズ方法 - Apple Geek LABO

Big Pictureモードでコントローラーが認識しない場合は、Steamの設定→コントローラー→一般のコントローラー設定を開き、"SS3Dゲームパッド"を選択してボタンの割り当てを行ってください。

xinput版のファームウェアを使用する場合は上記設定不要です。

ファームウェアの書き込みについて

ファームウェア書き込み用ソフトのインストール

ファームウェアの書き込みにはMicrochip社が提供するMLA(Microchip Libraries for Applications)に付属している書き込み用ソフトウェアが必要となります。
MLAのインストーラーはこちらからダウンロードできます。

https://www.microchip.com/en-us/tools-resources/develop/libraries/microchip-libraries-for-applications

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で公開しています。

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の仕様に最適化しています。

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

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

ボタン割り当て
マルコンボタン +モード 〇モード
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 + ← 十字キーモード変更

制作日記

セガサターンのマルコンをUSB化する拡張ユニットを作りました - GEEKY Fab