【検証】サターンエミュ SSFでUSBサターンパッド/マルコンが使えるか

「Windows11上のサターンエミュレータ(SSF)で GEEKY Fab. のUSB化基板は使えますか?」というお問い合わせをいただきました。

せっかくなので、サターンパッドUSB化基板マルコンUSB拡張ユニットのSSFでの動作確認をしてみた結果をまとめておきます。 
同じようにサタパ/マルコンを使ってSSFでサターンを遊びたい方の参考になればうれしいです。

先に結論だけ書いておくと、サターンパッドUSB化基板はOKマルコンUSB拡張ユニットはXinput版ならOKでした。

目次

検証環境

テスト対象

今回は以下の2製品を対象にしました。

それぞれについて、

  • 標準ファームウェア(DirectInput)
  • XInput版ファームウェア

の2パターンで動作を確認しています。

各ファームウェアは下記ページからダウンロードできます。

ファームウェアをダウンロード

ファームウェアの書き換えはwebアプリで簡単に行えます。 (ダウンロード不要です。)

ファームウェアアップデートツールを使ってみる

テスト環境

  • OS:Windows 11 Home
  • エミュレータ:SSF R37

サターンエミュレーター (SSF)のダウンロードはこちらから行いました。

GitHub
Release PreviewVer · shimazzz/SEGASaturnEmulator-SSF Contribute to shimazzz/SEGASaturnEmulator-SSF development by creating an account on GitHub.

SSFでの設定手順

今回テストしたときの、SSF側の設定手順も書いておきます。

STEP
使用するファームウェアに合わせてUse XInputチェックを設定

SSF の設定画面で 「Program1」タブ を開き以下のように設定します。

  • 標準ファームウェア(DirectInput)で使う場合
    Use XInput のチェックを 外す
  • XInput版ファームウェアで使う場合
    Use XInput のチェックを 入れる
STEP
コントローラーの種別を選択

「Controller」タブ を開き、以下のように設定します。

  • サターンパッドUSB化基板を使う場合
    → コントローラ種別:DirectPad
  • マルコンUSB拡張ユニットを使う場合
    → コントローラ種別:MultiController
STEP
ボタンの割り当て

Redefine ボタンを押して、実際のボタン入力を割り当てていきます。

ウィンドウに順にボタン名が表示されるので、割り当てたいボタンを順に押していきます。

Rapid~ となっている項目は「連射ボタン」です。 連射機能を使わない場合は、キーボードの適当なキーを連打するなどしてスキップします。

以上で設定は完了です。

結果まとめ

まずは先に今回の検証結果を書いておきます。

製品名ファームウェアSSF での動作
サターンパッドUSB化基板標準FW
(DirectInput)
サターンパッドUSB化基板XInput版FW
マルコンUSB拡張ユニット標準FW
(DirectInput)
×
ボタン割り当てで固まる
マルコンUSB拡張ユニットXInput版FW

表のとおり、マルコンUSB拡張ユニット + 標準FWはうまく動かずそれ以外は問題なく動作するという結果になりました。

ここからは、それぞれの結果についてもう少し詳しく解説します。

サターンパッドUSB化基板の動作

標準ファームウェア(DirectInput)

まずは標準ファームウェアの状態で接続し、次の通り設定しました。

  • コントローラ種別を DirectPad に設定
  • Redefine をクリック
  • 各ボタンを順番に割り当て

問題なく設定は完了し、その後ゲーム中でも期待通りに動作しました。

XInput版ファームウェア

XInput版ファームウェアに書き換えた状態でも、同様にSSF上で問題なく動作しました。

  • Program1 タブで Use XInput にチェックを入れる
  • Controller タブで DirectPad を選択
  • Redefine からボタン割り当て

という手順で設定し、ゲーム中の操作も問題なしです。

ということで、サターンパッドUSB化基板はいずれのFWでもSSFで問題なく使えるという結果でした。

マルコンUSB拡張ユニットの動作

標準ファームウェア(DirectInput)

一方、マルコンUSB拡張ユニットを標準ファームウェア(DirectInput)で接続した場合は、状況が少し違いました。

  • Program1 タブで Use XInput のチェックを外す
  • Controller タブでコントローラ種別を MultiController に設定
  • Redefine をクリックすると、小さなウィンドウが開くが…

この状態から先に進まず、ボタン割り当てができずに固まってしまいました。

これは残念。

WindowsのゲームパッドテスターやSteam等の他のアプリケーションでは動作しているので、SSFとの相性問題っぽいです。

XInput版ファームウェア

同じマルコンUSB拡張ユニットでも、XInput版ファームウェアだと問題なく動作しました。

  • Program1 タブで Use XInput にチェックを入れる
  • Controller タブで MultiController を選択
  • Redefine でボタン割り当て → 正常に完了
  • ゲーム中の操作も正常

ひとまずよかった…!

ということで、SSFでマルコンUSB拡張ユニットを使う場合は、XInput版ファームウェアを使ってください

マルコンUSB拡張ユニットが標準FWで動かなかった理由の推測

SSFはソースコードが公開されていないので、ここから先は推測のお話になります。

SSF公式ドキュメントの記述

SSFの公式ドキュメントには、コントローラー設定について次のような注意書きがあります。

Q. コントローラのRedefineで固まる

A. リキャリブレートしてみてください。
Windows7ならコントロールパネル -> デバイスとプリンター -> コントローラを選択して右クリック -> ゲームコントローラの設定 -> プロパティ -> 設定タブの調整

アナログ入力がニュートラル状態で片方に振り切っている場合はRedefineで固まります。
どうしても固まるようならXInputを使用してみてください。

つまり、

  • 「アナログ入力が、ニュートラル状態で片側に振り切っているデバイス」だとRedefineが固まる
  • その場合は「キャリブレーション」や「XInputを使う」ことで回避してね

ということですね。

マルコンUSB拡張ユニットの標準ファームウェアでは、L/R トリガーはポジションに応じて 0〜0xFF の値をPCに送っています。
ニュートラルが0なので、「アナログ入力が、ニュートラル状態で片側に振り切っている」状態です。これがSSF的にはNGなのかもしれません。

ちょっと実験

ということで、FWを書き換えて試してみました。

具体的には、

  • L/Rトリガーのニュートラルポジションを 0x000x80 に変更する
  • 押し込みに応じて0x80~ 0xFF に変化させる

といった変更をやってみました。

…が、それでも SSF の Redefine は固まったままという結果になりました。残念。

他にもいくつか修正を試してみましたが結局うまく動かず、ちょっとこれ以上は無理と判断しました。
ということで、ひとまずはXInput版で不自由なくプレイできそうなので、そちらをお使いください。

FW の書き換えも Web 上で簡単に行えるようになってますので、お試しください。

ファームウェアアップデートツールを使ってみる

まとめ

今回の検証結果をもう一度まとめると、以下のようになりました。

製品名ファームウェアSSF での動作
サターンパッドUSB化基板標準FW
(DirectInput)
サターンパッドUSB化基板XInput版FW
マルコンUSB拡張ユニット標準FW
(DirectInput)
×
ボタン割り当てで固まる
マルコンUSB拡張ユニットXInput版FW

サターンパッド / マルコンをSSFで使ってみたい方は、上記の結果を参考にしていただければと思います。

今回はこれで終わります。
読んでくれてありがとうございました。

GEEKY Fab.のアイテムを見る
シェアして応援お願いします
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次