思い出の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~ — スイッチサイエンス
- 頒布委託先
- 製品概要
- 製品写真
- 製品特徴
- 動作確認済OS / ハード
- その他仕様
- 組み立て方
- 動作確認
- Steamでのコントローラー設定について
- デモ集
- 製作日記みたいなもの
- ファームウェアの書き込みについて
- ファームウェア集
製品概要
スーパーファミコン(SFC)コントローラーをUSBゲームパッドに改造するための基板です。
レトロゲームはもちろん、Steam上で配信されている最新のゲームなどもプレイできます。
組み立てに必要な工具は精密ドライバー1本のみです。
ファームウェアはオープンソースで運用しているので、ユーザーが自由に編集できます。
ファームウェアを編集することでマクロや連射機能などの実装も可能です。
編集したファームウェアはUSB経由で書き込むことができます。
製品写真
製品特徴
ちょっと変わった機能
基本的なゲームパッド機能に加えて、SFCコントローラーの少ないボタン数を補うために次の二つの機能をサポートしています。
ボタン二重割り当て機能
B,X,Y,L,Rにはそれぞれ二種類のボタンが割り当てられています。
二種類のボタンの切り替えはstartボタンを3秒以上長押しすることで行えます。
※ファームウェアv1.2.0以降の場合はstart+Rを1秒以上同時に長押し
十字キーモード切替機能
十字キーをアナログジョイスティックモード、ハットスイッチモード、Z軸/Z回転モードに切り替えることができます。
モードの切り替えはselectボタンを3秒以上長押しすることで行えます。
※ファームウェアv1.2.0以降の場合はstart+Lを1秒以上同時に長押し
まとめるとこんな感じです。
自由に書き換え可能なファームウェア
製品のファームウェアはGithub上にオープンソースとして公開されており、ユーザーが自由に編集できます。
ファームウェアの書き込みは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本です。
SFCコントローラー裏面の5か所のねじをすべて外します。
カバーを開けます。
内部の基板を取り外します。
※ボタンの反応が悪い場合は、無水エタノールをしみこませたキムワイプなどで導電ゴム部分を清掃することをおすすめします。
USBゲームパッド化基板を取り付けます。
カバーを閉め、ねじをすべて留め、完成です。
動作確認
Windows10とRaspberry PIでの動作確認の方法を紹介します。
Windows10での動作確認方法
Windows10での動作確認にはWindows標準のゲームコントローラー設定機能を使用します。
- ゲームパッドをUSB接続する。
- コントロール パネル → ハードウェアとサウンド → デバイスとプリンター に移動し、SFC Gamepadが表示されていることを確認する。
- SFC Gamepadを右クリックし、 "ゲームコントローラーの設定"をクリックする。
- 設定画面が表示されるので、"プロパティ"ボタンをクリックする。
- ボタンのテスト画面が表示されるので、ここでゲームパッドの動作確認を行う。
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ゲームパッド"を選択してボタンの割り当てを行ってください。
デモ集
製作日記みたいなもの
ファームウェアの書き込みについて
ファームウェア書き込み用ソフトのインストール
ファームウェアの書き込みにはMicrochip社が提供するMLA(Microchip Libraries for Applications)に付属している書き込み用ソフトウェアが必要となります。
MLAのインストーラーはこちらからダウンロードできます。
MLAをインストールすると、下記フォルダに書き込み用ソフトウェアが入ります。
<インストールフォルダ>\mla\v2018_11_26\apps\usb\device\bootloaders\utilities\bin\win\HIDBootloader.exe
ファームウェアの書き込み
ファームウェアの書き換えは次の手順に従ってください。
- 書き込み用ソフトウェアを起動します。
- selectボタンを押しながらUSBをPCに挿します。これにより、本製品がファームウェア書き込みモードとして起動します。
ファームウェア書き込みモードとして起動した場合、書き込み用ソフトウェアが接続状態になります。
- 左上のフォルダアイコン(Import Firmware Image)をクリックし、あらかじめビルドしておいたファームウェア(.hexファイル)を選択して読み込みます。
- 左から二番目のアイコン(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)さんのファームウェア
GEEKY Fab製(たくさん さん @takusanToIssho)「SFCコントローラー USBゲームパッド化基板」のファームウェア改造してみました。完全無保証。https://t.co/05f5O7SEEI #tegaki_dt pic.twitter.com/Sl49NKZf8J
— 木下英一 (@kin_oei) February 22, 2022
ダウンロードページまで用意してくださりました!!
すごい!!
きのもの! - 作品一覧