見出し画像

64でBluetoothコントローラーを使える変換器「BlueRetro」を組み立てた話

最近状態の良い64用コントローラーが無くなってきて困っていませんか?
そんな悩みを解決する変換器が公開されていたので、実際に制作してみました。

私は持っていないので試せていませんが、この変換器を使用すればSwitch用の64コントローラーを実機に繋げることも出来るようです。

(この記事の内容は2022/1/30時点の情報です。アップデートで変更される可能性があります)


BlueRetroとは

「BlueRetro」はレトロゲーム機にBluetoothコントローラーを繋げるための変換器です。
オープンソースのプロジェクトで、必要な機材さえ用意すれば誰でも自由に組み立てることが出来ます。

対応しているゲーム機は以下のとおりです。

Parallel 1P (NeoGeo, Supergun, JAMMA, etc), Parallel 2P (Atari 2600/7800, Master System, etc), NES, PCE / TG16, Mega Drive / Genesis, SNES, CD-i, 3DO, Jaguar, Saturn, PSX, PC-FX, JVS (Arcade), N64, Dreamcast, PS2 & GameCube are supported with simultaneous 4+ players using a single adapter.

ゲーム機には最大4つまでのコントローラーを同時に繋げることが可能です。

今回は64用のBlueRetroを組み立てます。


実際に使ってみた


必要なもの(N64用)

・コントローラー延長ケーブル
・PC (Windows/Mac/Linux)
・ESP32-DEVKITC-32E

画像5

↑これ

「64・GC・DC・PS1/2」以外の機種の場合、機種ごとに必要な部品が少し増えます。
詳しくは公式ドキュメントを確認してください。

組み立てる前に

64は対応機種の中で一番組み立てるのが簡単です。
「64・GC・DC・PS1/2」のいずれかの機種であれば組み立て難易度は大きく変わりません。必要な配線が数本増える程度です。

それ以外の機種の場合は追加で必要なパーツがあります。

実際に組み立ててみた(N64)

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

※使用するPCはWindows前提で書きます。MacやLinuxを使っている方は公式ドキュメントを確認してください。

まずは基板にBlueRetroのファームウェアを書き込みます。

私の環境では「ESP32-DEVKITC-32E」を繋いだだけでは認識せず、ドライバをインストールする必要がありました。

ここからドライバをダウンロードしてインストールをする事で認識されるようになりました。

画像4


※ドライバのインストールで参考にさせていただいたページ


次にファームウェアを書き込みます。

まずは最新版のBlueRetroのファームウェアをGithubからダウンロードします。

ファームウェアの書き込みにはFlash Download Toolsが必要です。

これらがダウンロード出来たら、ESP32-DEVKITC-32EをPCに繋いだ状態で「flash_download_tool_x.x.x.exe」を起動しましょう。

画像2

起動したらこんな画面が出るはずです。
「chipType」を「ESP32」
「workMode」を「develop」
に設定してOKを押しましょう。

画像3

OKを押したらこんな画面が出るはずです。

上から順に以下のファイルを読み込んでください。

「bootloader.bin」
「partition-table.bin」
「BlueRetro_n64_spiffs.bin」

右のオフセットを上から順に以下のように設定してください。

「0x1000」
「0x8000」
「0x10000」

DoNotChgBinのチェックを外し、右下のCOMから「ESP32-DEVKITC-32E」が繋がっているCOMポートを指定してください。

ここまで設定ができたらStartを押してファームウェアを書き込みましょう。
左下にFINISHと表示されたらファームウェアの書き込みは完了です。

 配線

まず64コントローラーの延長ケーブルのオス側をちょうど良い長さに切りましょう。メス側は今回は使用しません。

次に、テスター等を使い配線を調べます。

画像5

画像元: https://www.raphnet-tech.com/products/gc_to_n64_circuit/index.php

調べた配線を元に延長ケーブルを以下の場所に配線をします

GND→GND
3.3V→3V3
DATA→19

画像6

2つ以上のコントローラーを繋げる場合、GNDと3.3vは同じ場所に配線します。
2P以降のDataの配線場所は以下の通りです。

2P→5
3P→26
4P→27

64以外の機種で作る場合は公式ドキュメントを参照して配線場所を調べてください。

以上で完成です。


使い方

N64に繋いでゲーム機の電源を入れましょう。
USB側は繋がなくて問題ありません。

問題がなければゲーム側がコントローラーを認識しているはずです。

電源が入ると自動的にコントローラーのペアリング待ちになるので、コントローラーをペアリングモードにすれば自動的に繋がります。


設定

電源が入っている状態でコントローラーが繋がっていない時のみ設定の変更が可能です。

Bluetooth対応デバイスでこのWebサイトにアクセスすることで設定にアクセスできます。
なお、Androidの場合はChrome、iOSの場合はBluefyというブラウザを使う必要があるようです。

無題

アクセスするとこのような画面が出ます。
試しに操作設定を変えてみましょう。

Advanced configに進み、Connect BlueRetroを選び、デバイスを選択します。

画像8

エラーが発生した場合、一度ページを更新してから再接続してみてください。

接続されたら設定画面が現れます。

画像9

下にあるMapping Configが操作設定です。

今回はPS4コントローラーを繋いだ場合の設定を少し変えてみます。

無題

まずSrc labelをPS4/PS5に、Dst labelをN64にします。
試しに○ボタンをCの下からCの右に変えてみます。

無題

無題

設定が完了したら下まで行き、Saveを押せば保存されます。


まとめ

無事動きました。

スティックの状態が良い64コントローラーが少なくなってきてしまっている今、このような変換器は有用なのではないかと思います。
PS用に制作すれば、PS1/2でPS4コントローラーを使うというようなことも可能なので、64に限らず様々なハードで活躍することでしょう。

コントローラーに困っている方や、Switch用64コントローラーを手に入れた方は作ってみてはいかがでしょうか?

また、コントローラーパックや振動パックも基板上で再現されているので、大抵のゲームは問題なくプレイすることが可能だと思われます。

最後までお読み頂きありがとうございました。