任天堂の公式スーファミエミュをCFWで起動しよう

Hack

スーパーファミコンエミュレータ

ニンテンドースイッチオンラインに加入していると誰でも無料で遊べるのがこのスーパーファミコンエミュレータである。

任天堂の公式エミュレータなので(とはいってもソースコードは他の方が開発したものを流用しているそうだが)動作は安定しているし、セーブ機能や巻き戻し機能などもあって非常に充実していると言える。

もちろん、改造しているスイッチであればエミュレータを導入することは全く難しくないのだが、捜査がわかりにくかったり、いちいちHomebrewから起動したりでめんどくさかったりする。

チート機能やブーストモードが使えないが、それらを利用しないのであればこの公式エミュレータで何も不都合はないと言えるだろう。

CFW環境で起動させるのは容易ではない

しかし、このエミュレータはeShopからダウンロードしてくる形式である以上CFW状態でそのままインストールすることはできない。何故ならCFWでeShopにアクセスでもしようものならあっという間にBANされてしまうからだ。

エミュレータをダウンロードしよう

CFWでダウンロードできない以上、OFWないしはStockで起動してNSOと連携しているアカウントを使ってダウンロードしてくる必要がある。

しかし、OFWではそもそもNSPのダンプができないという問題がある。HACGUIを使えば非改造機からでもゲームのバックアップを取ることは可能だが、ダウンロード版だとPersonalized Keyというものが使われているためにややこしくなってくる。

というのもPersonalized KeyはNSOアカウントと紐付けされているため、証明書付きでダンプしたとしても正しくNSOアカウントを連携していないと起動時に認証を求められてしまうのだ。このためにはPersonalized Keyを別のもの(Common Key)に置き換える必要があるが、これができるのはNXDumpToolだけである。

しかし、NXDumpToolはHomebrewアプリなので非改造では動作しないという問題がある。よって、ものすごくめんどくさいが以下の手順を踏むことでエミュレータのバックアップを取ることにした。

  1. OFWでスーパーファミコンエミュレータを無料ダウンロード
  2. OFWのインターネット設定を全て削除する
  3. SysNAND(CFW)で起動する
  4. NXDumpToolでエミュレータのバックアップをとる
  5. EmuMMC(CFW)で起動する
  6. GoldleafでNSPをインストールする

NXDumpToolでのNSPのバックアップの設定については以下を参照すること。

今回はsigpatchを使いたくなかったため「Remove console specific data = YES」と「Change NPDM RSA key/sig in Program NCA = YES」と「Generate ticket-less dump = NO」と設定した。

インストールで躓いた

これでsigpatchなしでインストールできるはずだったのだが、どこかでミスがあったのかTicketでエラーが発生してBASEを正しくインストールすることができなかった。

ダウンロード版しか発売されていないゲームだとPersonalized KeyをCommon Keyに変える仕組みが上手く働かないとかそんなのかもしれない。

「インストールできませんでした」では困るので今回は渋々sigpatchを使うことにした。以下のものはHomebrewからsigpatchをインストールできるアプリなのでそれを利用した。

Release Sigpatch-Updater v0.1.3 - New Download URL · ITotalJustice/sigpatch-updater
What's new? New repo for hosting the patches. These are the same patches as before, just hosted in a way which is easier for me to manage (I don't have to par...

注意すべき点は、起動しているCFWはatmosphereなのだが「Update Sigpatches (For Hekate / Kosomo Users)」を選択すること。もちろん、DeepSeaを使用していても同じことである。

HekateやKosomos(DeepSea)を経由せずにatmosphereを起動しているユーザ以外はこれを選択しないとダメ。

sigpatchを導入したところ、問題なくエミュレータのBASEをインストールできるようになった。

最新版は1.7.0なのでそれもインストールしてアップデートしておいた。

NSOリンクチェック

インストールは無事にできたのだが、起動しようとするとNSOのリンクチェックに引っかかった。

証明書つきでダンプしていてもこれなのだからなえぽよなわけである。

起動するためにはリンクのチェックを外すしかないが、このチェックはゲーム内の実行ファイルが起動するよりも前の話なのでIPSwitchなどのパッチで外すことはできない、困った。

となればNSOリンクをするしかないが、CFWでリンクをしようとするとニンテンドーネットワークに繋がなければならず、これはやはりBANされてしまう。

じゃあ詰んだんじゃないのかって思っていたのだが、便利なツールを発見した(結果として便利じゃなかったのだが)

Kefir Updater

Releases · Povstalez/Kefir-Updater
Nintendo switch Homebrew for update Kefir. Contribute to Povstalez/Kefir-Updater development by creating an account on GitHub.

Kefir Updaterはニンテンドースイッチに連携している全てのアカウントを削除して、NSO連携済みのアカウントを強制的に追加するHomebreアプリである。

アカウントが削除されるのでセーブデータが全部失われてしまうので注意しなければいけない。

というか、このアプリの使用は推奨していない、あくまでも紹介しているだけである。

実行すると全てのアカウントが削除された上で、なんともいえないへんてこなアカウントが追加された。

アカウント全削除とセーブデータの消失を乗り越えてエミュレータの起動には成功したが、何故かゲームが何も表示されないというバグが発生した。

なんでやねんってセルフツッコミしていたのだが、現象が現象だけにググればでてくるのではないかという直感が働いた。

すると全く同じ状況に遭遇しているユーザを見つけた。やはりこういうのは英語ドキュメントが充実している。

Linkalho

rdmrocha/linkalho
Contribute to rdmrocha/linkalho development by creating an account on GitHub.

先程のスレッドのコメントを見ると「Linkalho」が便利だという書き込みを見つけた。

というわけで、早速ダウンロードして使ってみることにした。

ここの「Link all accounts」を押せばニンテンドースイッチに追加されている全てのアカウントにNSOリンクのダミーデータが追加される。

実行前だと「Link Nintendo Account」と表示されていて「さっさとリンクしろよ」という無言の圧力を感じていたのだが。

実行後は「Nintendo Account」と表示されていて見事疑似連携ができていることがわかる。

ダミーデータなので「Unable to obtain your friend code.」と表示されておりフレンドコードを確認することはできない。

無事に起動できた

NSOリンクを貼れば起動時のチェックが回避でき、無事にスーパーファミコンエミュレータを起動させることができました。

記事は以上。

コメント

タイトルとURLをコピーしました