記事執筆現在、SwitchでHomebrewを起動するには、CFW状態でSwitchを起動してシステムアプレット(例えばアルバム)から
hbmenuを起動してhbmenu上でHomebrewを選択して起動する、という事をやっています。
NSPとしてHomebrewが公開されていれば、それをインストールしてホーム画面からアプリとしてHomebrewを起動可能です。
結論から書きます。アプレットからHomebrewを起動した場合、そのHomebrewが使用出来るRAMは442MBまでです。
対してアプリとして起動出来れば、そのHomebrewが使用出来るRAMは3.2GBになります。
私としてはこれを気にする必要がありそうな人間は現状RetroArchユーザーくらいだと思ったために、記事のタイトル
にはRetroArchという名を入れました。ただこれでRetroArchのパフォーマンスが大幅に向上するとは言い切れません。
使用出来るRAMが増えてパフォーマンスが向上するというのは、RAMがボトルネックになっている場合のみです。
エミュ(RetroArchのコア)の完成度やSwitchのCPU或いはGPUの性能が原因の低速動作は、改善されません。
この記事は書くかどうか悩んだんですが、GBAtempでnatinusala氏が立てたスレを見て、書く事にしました。
Use Atmosphère to access FULL RAM with homebrews WITHOUT NSP
NSPでhbmenuやHomebrewをインストール出来ればそれはアプリとして起動するので使用可能なRAMは3.2GBになりますが、
NSPをインストールしたくない人もいるために、そうした人向けのチュートリアルが書かれたスレです。
この記事を書こうと思った理由は3つで、1つ目が最初に書いたように、こういう事実があると伝えたいためです。
2つ目が、natinusala氏はデジタル(eショップ)で購入してインストールしたゲームが必要と書かれていますがそれは誤りで、
カートリッジのゲームでも出来るからです。3つ目が、natinusala氏が「マリオ64を20FPSで出来ない人がいる」という事を
書いているためです。遅いやん、と思いますが、使用出来るRAMが442MBだともっと遅いんでしょう。多分。
使えるRAMが増える事で動作が改善されるゲームがある事を知らなかったので、そう考えるとこの記事を書くことにした
一番の理由は3つ目です。
で、この記事で手順も書くわけですが、HomebrewのNSPをインストールしても良い方はそうしてください。
それが一番手っ取り早いです。そうすればHomebrewはアプリとして起動し、使用出来るRAMは3.2GBです。
hbmenuのNSPをインストールすれば、そのhbmenuから起動したHomebrewで使用出来るRAMは3.2GBです。
https://gbatemp.net/threads/homebrew-menu-loader-legal-nsp.518433/
RetroArchは記事執筆時点では、stableはnspでnightlyはnroとして公開されているようです。
https://buildbot.libretro.com/stable/1.7.5/nintendo/switch/libnx/
https://buildbot.libretro.com/nightly/nintendo/switch/libnx/
この記事で書く手順はNSPをインストールしたくない人向けの、Atmosphereでの手順です。
記事執筆時点ではReiNXやSX OSでは出来ないっぽいです。
よって、NSPをインストールしてもいいReiNXユーザーやSX OSユーザーはそうしてください。
手順の前に、使用可能なRAMの量はどこで確認出来るのかを書いておきます。
RetroArchの「Information → System Information → Memory in byte/mega/giga」で確認可能です。
その項目はシステム全体のメモリ使用量を表示する項目で、通常は「使用量/全体」の形で表示されます。
Switchの場合、使用量の部分はアプリ(この場合はRetroArch)が確保している分(=使用可能な分)が表示されます。
アプレットとしての起動だと442MBまでのサイズが表示され、アプリとしての起動だと3.2GBと表示されます。
全体の部分はバグなのか仕様なのか私には分からないんですが、SwitchのRAMは4GBのはずなのに6GBと表示されます。
アプレットとして起動した場合は全体の部分には844MBと表示されます

●用意するもの
・Atmosphere 0.7~ (SDFilesSwitch v10以降)
・カートリッジのゲーム or DL版 (体験版も可)
CFWの起動方法は分かっているものとして手順を書きます。
事前に、用意したゲームのタイトルIDを把握しておいてください。
把握していない場合は、多分Checkpoint上で確認するのが一番手っ取り早いと思います。
https://github.com/FlagBrew/Checkpoint/releases
●手順
1、SDFilesSwitchをDL,解凍してmicroSDカードにコピー
2、"sd:/atmosphere/loader.ini" をテキストエディタで開く
3、loader.iniのhbl_tid行を、用意したゲームのタイトルIDで書き換える
4、loader.iniのoverride_keyを好きに変更する
この項目はhbmenuやLayeredFSを有効/無効状態でゲームを起動するためのトグルボタンの設定です。
! を付けると、そのボタンを押した状態でゲームを起動するとhbmenuやLayeredFSが無効になります。
! を付けなければ、そのボタンを押した状態でゲームを起動するとhbmenuやLayeredFSが有効になります。
一般的には !R が使われます。私が好きなのは !A です。トグル判定はゲーム起動時の暗転の際に行われるため、
その際にA押下がキープされていればhbmenuやLayeredFSが無効になります。
Aは決定ボタンですから、!Aにすると指一本でゲームの起動とhbmenu/LayeredFSの有効/無効が出来るわけです。
5-1、(任意) "sd:/atmosphere/titles/" に010000000000100Dフォルダを作成
5-2、(任意) そこにhbl.nspをコピーし、そのhbl.nspをexefs.nspにリネーム
これを行う事でこれまでと同じようにアルバムからhbmenuが起動可能になります。
loader.iniでゲームを指定してしまうとアルバムからhbmenuが起動出来なくなるので、困惑する人もいるでしょう。
これをやるかどうかは人によって変わると思うので任意としています。
6、hekate v4.2以降或いはfusee-primary.binでAtmosphere(hekate上では"CFW")を起動
7、loader.iniで指定したゲームからhbmenuが起動するかどうかを確認
8、(任意) そのhbmenuからRetroArch(nro版)を起動して以下の項目で3.2GBとなっているのを確認する
( Information → System Information → Memory in byte/mega/giga)
