MENU

SFCコントローラー USBゲームパッド化基板

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

思い出のSFCコントローラーで遊びましょう。

ファームウェア更新履歴
2022/9/26 v.1.2.0リリース link
2022/9/25 POLYMEGA対応版リリース
2022/8/21 XInput対応版リリース
2022/8/20 CBOX USB対応版リリース
2022/5/4 v1.1.0リリース (ボタン割り当て変更) link

頒布委託先

BOOTHさんと家電のケンちゃんさんにて完成品を頒布中です。
SFCコントローラーUSBゲームパッド化基板 - GEEKY Fab. BOOTH支店 - BOOTH

SFCコントローラー USBゲームパッド化基板 | 同人ハード(キット),Geeky Fab. | | 家電のケンちゃん(@kadenken)

スイッチサイエンスさんにてキットを頒布中です。
SFCコントローラー USBゲームパッド化基板 ~USB SFC Gamepad~ — スイッチサイエンス

製品概要

スーパーファミコン(SFC)コントローラーをUSBゲームパッドに改造するための基板です。
レトロゲームはもちろん、Steam上で配信されている最新のゲームなどもプレイできます。

組み立てに必要な工具は精密ドライバー1本のみです。

ファームウェアはオープンソースで運用しているので、ユーザーが自由に編集できます。
ファームウェアを編集することでマクロや連射機能などの実装も可能です。
編集したファームウェアはUSB経由で書き込むことができます。

製品写真

製品特徴

ちょっと変わった機能

基本的なゲームパッド機能に加えて、SFCコントローラーの少ないボタン数を補うために次の二つの機能をサポートしています。

  1. ボタン二重割り当て機能
    B,X,Y,L,Rにはそれぞれ二種類のボタンが割り当てられています。
    二種類のボタンの切り替えはstartボタンを3秒以上長押しすることで行えます。
    ※ファームウェアv1.2.0以降の場合はstart+Rを1秒以上同時に長押し

  2. 十字キーモード切替機能
    十字キーをアナログジョイスティックモード、ハットスイッチモード、Z軸/Z回転モードに切り替えることができます。
    モードの切り替えはselectボタンを3秒以上長押しすることで行えます。
    ※ファームウェアv1.2.0以降の場合はstart+Lを1秒以上同時に長押し

まとめるとこんな感じです。

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

製品のファームウェアはGithub上にオープンソースとして公開されており、ユーザーが自由に編集できます。

github.com

ファームウェアの書き込みはUSB経由で行えます。
selectボタンを押しながらUSBをPCに挿すことで本製品はファームウェア書き込みモードとして起動します。
ファームウェアの書き込み詳細については、本記事の最後で説明しています。

※ 本製品のUSB VID, PIDはMicrochip社とのサブライセンス契約に基づき取得したものを使用しています。そのため、本製品のプログラム内に含まれているVID, PIDを第三者が商用利用することは禁じられています。

動作確認済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
動作報告いただいたゲーム機

次のゲーム機は皆様から動作確認報告をいただいたものです。

  • Polymega

    • Polymega用ファームウェアに書き換え必要 (本記事の最後に記載)
  • CBOX USB V3.0

    • ボタン配置を最適化したファームウェアを公開しています。(本記事の最後に記載)

関連記事
geekyfab.com

その他仕様

USBケーブル長さ: 約1.5m
使用マイコン: PICマイコン(PIC16F1459)

組み立て方

中身の基板を本製品と入れ替えるだけです。
必要なものは精密ドライバー1本です。

  1. SFCコントローラー裏面の5か所のねじをすべて外します。

  2. カバーを開けます。

  3. 内部の基板を取り外します。

    ※ボタンの反応が悪い場合は、無水エタノールをしみこませたキムワイプなどで導電ゴム部分を清掃することをおすすめします。

  4. USBゲームパッド化基板を取り付けます。

  5. カバーを閉め、ねじをすべて留め、完成です。

動作確認

Windows10とRaspberry PIでの動作確認の方法を紹介します。

Windows10での動作確認方法

Windows10での動作確認にはWindows標準のゲームコントローラー設定機能を使用します。

  1. ゲームパッドをUSB接続する。
  2. コントロール パネル → ハードウェアとサウンド → デバイスとプリンター に移動し、SFC Gamepadが表示されていることを確認する。
  3. SFC Gamepadを右クリックし、 "ゲームコントローラーの設定"をクリックする。
  4. 設定画面が表示されるので、"プロパティ"ボタンをクリックする。
  5. ボタンのテスト画面が表示されるので、ここでゲームパッドの動作確認を行う。
Raspberry PI (Raspberry PI OS)での動作確認方法

ラズパイでUSBゲームパッドを動作させるにはjoystickをインストールします。
terminalで次のコマンドを実行してください。

sudo apt install joystick

動作確認にはjstest-gtkが便利です。
terminalで次のコマンドを実行してください。

sudo apt install jstest-gtk

jstset-gtkはスタートメニュー→システムツール→jstest-gtkから起動できます。
USBゲームパッドをラズパイに挿入して動作確認を行ってください。

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

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

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

デモ集

製作日記みたいなもの

geekyfab.com

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

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

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

以上でファームウェアの書き込みは完了です。
あとはUSBを一度抜いてから挿しなおすと、書き込んだファームウェアで遊ぶことができます。

ファームウェア集

リリースされているファームウェアやユーザーの皆さんが作ってくれたファームウェアを掲載します。

githubからダウンロードする場合は、右上のRawをクリックして生データを表示させた後、右クリックで名前を付けて保存で拡張子を.hexで保存すればOKです。

オリジナルファームウェア

次のリンクよりダウンロードをお願いします。
最新バージョン: v1.2.0 (2022/9/26更新)
usb-sfc-pad/software/binary/v1.2.0.hex at master · takusan213/usb-sfc-pad · GitHub

Switch版

Switch用です。

https://github.com/takusan213/usb-sfc-pad/blob/master/software/binary/v.switch.1.0.0.hex

ボタン割り当ては下記になります。

SFCコントローラーボタン デフォルト start+R長押し後
A A A
B B home
X X 右スティック押し込み
Y Y 左スティック押し込み
L L Lトリガー
R R Rトリガー
start start start
select select capture
CBOX USB V3.0版

CBOX USB V3.0用にボタン配置を最適化したバージョンです。
usb-sfc-pad/software/binary/v.CBOX.1.0.0.hex at master · takusan213/usb-sfc-pad · GitHub

Xinput版

Xinputに対応したバージョンです。
usb-sfc-pad/software/binary/v.Xin.1.0.0.hex at master · takusan213/usb-sfc-pad · GitHub

selectを1秒以上長押しで、十字キーのモードが切り替わります。
startを1秒以上長押しで、R,L,B,X,Yのボタンの割り当てが替わります。

POLYMEGA版

Xinput対応版をベースに、POLYMEGAにボタン配置を最適化したバージョンです。
usb-sfc-pad/software/binary/v.POLY.1.0.0.hex at master · takusan213/usb-sfc-pad · GitHub
start+Lを1秒以上長押しで、十字キーのモードが切り替わります。(デフォルトがハットスイッチモード)
start+Rを1秒以上長押しで、R,L,B,X,Yのボタンの割り当てが替わります。
start+R長押しでボタン割り当てを変更した後のXボタンがPOLYMEGAのメニューボタンに対応しています。

木下英一(@kin_oei)さんのファームウェア

ダウンロードページまで用意してくださりました!!
すごい!!
きのもの! - 作品一覧