diff --git a/.markdownlint.json b/.markdownlint.json
new file mode 100644
index 000000000..47cc2050d
--- /dev/null
+++ b/.markdownlint.json
@@ -0,0 +1,20 @@
+{
+ "MD003": { "style": "atx" },
+ "MD004": { "style": "asterisk"},
+ "MD007": { "indent": 4 },
+ "MD013": false,
+ "MD024": false,
+ "MD026": { "punctuation": ".,;:。,;:"},
+ "MD029": { "style": "one" },
+ "MD033": { "allowed_elements": ["br", "u", "span"], "table_allowed_elements": ["hr", "br", "ul", "li", "u", "span"]},
+ "MD035": { "style": "---" },
+ "MD036": false,
+ "MD040": false,
+ "MD045": false,
+ "MD046": { "style": "fenced" },
+ "MD048": { "style": "backtick" },
+ "MD049": { "style": "asterisk" },
+ "MD050": { "style": "asterisk" },
+ "MD055": { "style": "leading_and_trailing" },
+ "MD060": { "style": "aligned" }
+}
diff --git a/LICENSE.md b/LICENSE.md
index 4d9ca974e..e79b12c03 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,4 +1,4 @@
-Copyright (c) 2024, Nintendo Homebrew
+Copyright (c) 2024-2026 Nintendo Homebrew
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@ PERFORMANCE OF THIS SOFTWARE.
Additionally, files in `docs/.vitepress` is licensed under the following:
-Copyright (c) 2024, Nintendo Homebrew
+Copyright (c) 2024 Nintendo Homebrew
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index ca875181c..222695867 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,11 @@
-# Switch Guide
+# Switch Hacks Guide
-[The guide can be found here!](https://switch.hacks.guide)
+A collaboration from Nintendo Homebrew's Discord community, getting you from a stock Switch to Atmosphère.
-Nintendo Switch homebrew guide written by staff members of the Nintendo Homebrew Discord server.
+[](https://switch.hacks.guide/)
+[](https://discord.gg/C29hYvh)
+[](https://github.com/nh-server/switch-guide/commits/master/)
+[](https://github.com/nh-server/switch-guide/blob/master/LICENSE.md)
## Running the site locally
@@ -12,16 +15,19 @@ This requires the following installed on your system:
To test the website locally, clone the source code:
-```bash
+```shell
git clone https://github.com/nh-server/switch-guide.git --recurse-submodules
cd switch-guide
```
Then simply run the following commands:
-```bash
+```shell
npm ci
npm run docs:dev
```
-The website should now be running on http://127.0.0.1:5173/ (or a port shown on the terminal). Any edits you make should appear live!
+> [!TIP]
+> If you choose to run multiple web servers at once, they will begin running at the next highest usable port (e.g. :5174, :5175, and so on).
+
+The website should now be running on (or whatever port is shown on the terminal).
diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs
index 144dd6ac4..976a95eb1 100644
--- a/docs/.vitepress/config.mjs
+++ b/docs/.vitepress/config.mjs
@@ -18,6 +18,9 @@ export default defineConfig({
},
head: [['link', { rel: 'icon', href: '/img/favicon.ico' }]],
themeConfig: {
+ outline: {
+ level: 'deep'
+ },
docFooter: {
prev: false,
next: false
@@ -30,15 +33,10 @@ export default defineConfig({
locales: {
root: i18n.en_US
},
+ cleanUrls: true,
vite: {
resolve: {
alias: [
- {
- find: /^.*\/VPDocOutlineItem\.vue$/,
- replacement: fileURLToPath(
- new URL('./theme/components/VPDocOutlineItem.vue', import.meta.url)
- )
- },
{
find: /^.*\/VPFooter\.vue$/,
replacement: fileURLToPath(
diff --git a/docs/.vitepress/i18n/en_US.js b/docs/.vitepress/i18n/en_US.js
index c3a2f9482..25e028af0 100644
--- a/docs/.vitepress/i18n/en_US.js
+++ b/docs/.vitepress/i18n/en_US.js
@@ -213,7 +213,7 @@ const themeConfig = {
],
},
footer: {
- copyright: 'Copyright © 2025 Nintendo Homebrew',
+ copyright: 'Copyright © 2026 Nintendo Homebrew',
items: [
{ text: localeData.pages["about"], link: `/about` }
]
diff --git a/docs/about.md b/docs/about.md
index 4d8d2a4e2..85538b552 100644
--- a/docs/about.md
+++ b/docs/about.md
@@ -5,47 +5,48 @@ This guide was written by community members of the [Nintendo Homebrew Discord Se
[You can find this guide on GitHub](https://github.com/nh-server/switch-guide), It is licensed under the [ISC license](https://github.com/nh-server/switch-guide/blob/master/LICENSE.md).
## Guide Writers / Maintainers
-- [SuchMemeManySkill](https://github.com/suchmememanyskill)
-- [DefenderOfHyrule](https://github.com/DefenderOfHyrule)
-- [ha1vorsen](https://github.com/ha1vorsen)
-- [Dardel](https://codeberg.org/Dardel)
-- [MarigoldZephyrNio](https://github.com/MarigoldZephyrNio)
-- [Sanras](https://github.com/Sanrax)
-- [JeffVi](https://github.com/JeffVi)
-- [eip618](https://github.com/eip618)
-- [Flump](https://github.com/Flumpster)
-- [oreo639](https://github.com/oreo639)
-- [thedax](https://github.com/thedax)
-- [dorkeline](https://github.com/dorkeline)
-- [ihaveahax](https://github.com/ihaveamac)
-- [PhazonicRidley](https://github.com/PhazonicRidley)
-- [emmo](https://github.com/el-emmo)
-- [xGhostBoyx](https://github.com/xGhostBoyx)
-- jerbear64
-- Phoenix
-- the Nintendo Homebrew community
+
+* [SuchMemeManySkill](https://github.com/suchmememanyskill)
+* [DefenderOfHyrule](https://github.com/DefenderOfHyrule)
+* [ha1vorsen](https://github.com/ha1vorsen)
+* [Dardel](https://codeberg.org/Dardel)
+* [MarigoldZephyrNio](https://github.com/MarigoldZephyrNio)
+* [Sanras](https://github.com/Sanrax)
+* [JeffVi](https://github.com/JeffVi)
+* [eip618](https://github.com/eip618)
+* [Flump](https://github.com/Flumpster)
+* [oreo639](https://github.com/oreo639)
+* [thedax](https://github.com/thedax)
+* [dorkeline](https://github.com/dorkeline)
+* [ihaveahax](https://github.com/ihaveamac)
+* [PhazonicRidley](https://github.com/PhazonicRidley)
+* [emmo](https://github.com/el-emmo)
+* [xGhostBoyx](https://github.com/xGhostBoyx)
+* jerbear64
+* Phoenix
+* the Nintendo Homebrew community
Thank you to [everyone else](https://github.com/nh-server/switch-guide/graphs/contributors) that contributed to the guide on GitHub, but special thanks to **noirscape**.
## Developers
-- [**Atmosphère-NX**](https://github.com/Atmosphere-NX) for [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere).
-- [**switchbrew**](https://github.com/switchbrew) for [nx-hbloader](https://github.com/switchbrew/nx-hbloader) and [nx-hbmenu](https://github.com/switchbrew/nx-hbmenu).
-- [**nwert**](https://github.com/nwert) and [**CTCaer**](https://github.com/CTCaer) for [hekate](https://github.com/CTCaer/hekate).
-- [**WerWolv**](https://github.com/WerWolv) for [EdiZon](https://github.com/WerWolv/EdiZon).
-- [**J-D-K**](https://github.com/J-D-K) for [JKSV](https://github.com/J-D-K/JKSV).
-- [**Flagbrew**](https://github.com/FlagBrew) for [Checkpoint](https://github.com/FlagBrew/Checkpoint).
-- [**mtheall**](https://github.com/mtheall) for [FTPD](https://github.com/mtheall/ftpd/).
-- [**joel16**](https://github.com/joel16/) for [NX-Shell](https://github.com/joel16/NX-Shell).
-- [**Cease & DeSwitch**](https://github.com/Cease-and-DeSwitch) for [fusee-gelee](https://github.com/Qyriad/fusee-launcher).
-- [**MenosGrante**](https://github.com/MenosGrante) for [Rekado](https://github.com/MenosGrante/Rekado).
-- [**eliboa**](https://github.com/eliboa) for [TegraRcmGUI](https://github.com/eliboa/TegraRcmGUI).
-- [**vgmoose**](https://github.com/vgmoose), [**pwsincd**](https://github.com/pwsincd), [**rw-r-r_0644**](https://github.com/rw-r-r-0644) and [**crc32**](https://github.com/crc-32) for [hb-appstore](https://github.com/vgmoose/hb-appstore).
-- [**Essometer**](https://gbatemp.net/members/essometer.265523/) for collecting patched Switch serials.
-- [**Ave**](https://gitlab.com/a) for [90DNS](https://gitlab.com/a/90dns).
-- [**Nexrem (meganukebmp)**](https://github.com/meganukebmp) for the [Switch 90DNS Tester](https://github.com/meganukebmp/Switch_90DNS_tester).
-- [**exelix11**](https://github.com/exelix11) for [Switch Theme Injector](https://github.com/exelix11/SwitchThemeInjector).
-- [**suchmememanyskill**](https://github.com/suchmememanyskill) for [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer)
+* [**Atmosphère-NX**](https://github.com/Atmosphere-NX) for [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere).
+* [**switchbrew**](https://github.com/switchbrew) for [nx-hbloader](https://github.com/switchbrew/nx-hbloader) and [nx-hbmenu](https://github.com/switchbrew/nx-hbmenu).
+* [**nwert**](https://github.com/nwert) and [**CTCaer**](https://github.com/CTCaer) for [hekate](https://github.com/CTCaer/hekate).
+* [**WerWolv**](https://github.com/WerWolv) for [EdiZon](https://github.com/WerWolv/EdiZon).
+* [**J-D-K**](https://github.com/J-D-K) for [JKSV](https://github.com/J-D-K/JKSV).
+* [**Flagbrew**](https://github.com/FlagBrew) for [Checkpoint](https://github.com/FlagBrew/Checkpoint).
+* [**mtheall**](https://github.com/mtheall) for [FTPD](https://github.com/mtheall/ftpd/).
+* [**joel16**](https://github.com/joel16/) for [NX-Shell](https://github.com/joel16/NX-Shell).
+* [**Cease & DeSwitch**](https://github.com/Cease-and-DeSwitch) for [fusee-gelee](https://github.com/Qyriad/fusee-launcher).
+* [**MenosGrante**](https://github.com/MenosGrante) for [Rekado](https://github.com/MenosGrante/Rekado).
+* [**eliboa**](https://github.com/eliboa) for [TegraRcmGUI](https://github.com/eliboa/TegraRcmGUI).
+* [**vgmoose**](https://github.com/vgmoose), [**pwsincd**](https://github.com/pwsincd), [**rw-r-r_0644**](https://github.com/rw-r-r-0644) and [**crc32**](https://github.com/crc-32) for [hb-appstore](https://github.com/vgmoose/hb-appstore).
+* [**Essometer**](https://gbatemp.net/members/essometer.265523/) for collecting patched Switch serials.
+* [**Ave**](https://gitlab.com/a) for [90DNS](https://gitlab.com/a/90dns).
+* [**Nexrem (meganukebmp)**](https://github.com/meganukebmp) for the [Switch 90DNS Tester](https://github.com/meganukebmp/Switch_90DNS_tester).
+* [**exelix11**](https://github.com/exelix11) for [Switch Theme Injector](https://github.com/exelix11/SwitchThemeInjector).
+* [**suchmememanyskill**](https://github.com/suchmememanyskill) for [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer)
::: tip
diff --git a/docs/extras/adding_udev.md b/docs/extras/adding_udev.md
index 21c781154..f2be44da1 100644
--- a/docs/extras/adding_udev.md
+++ b/docs/extras/adding_udev.md
@@ -1,10 +1,10 @@
-# Linux - Run payload injector without root
+# Linux - Running Payload Injector without root
This section details how to add an `udev` rule to let you send a payload to your Switch without needing to use `sudo`.
The following instructions only work if you have a system that implements `udev`. Most modern distros come with `systemd` already installed, which includes a `udev` implementation.
-Do the following instructions while your Switch is _not_ connected to your computer.
+Do the following instructions while your Switch is *not* connected to your computer.
::: tip
@@ -14,7 +14,7 @@ The package `android-udev` includes rules that will also allow for payload injec
:::
-## Option 1: Manually adding rules and group
+## Option I - Manually adding rules and group
The following instructions are not for beginners. Only do this if you understand what you are doing.
@@ -23,33 +23,72 @@ The following instructions are not for beginners. Only do this if you understand
To start, we will create a new group and add ourselves to it. The group the Nintendo Switch device will be owned by on Linux will be set to this group.
1. Open a terminal.
-1. Enter the following command: `sudo groupadd nintendo_switch`.
+1. Enter the following command:
+
+ ```shell
+ sudo groupadd nintendo_switch
+ ```
+
1. Enter your password when prompted.
-1. Enter the following command: `sudo usermod -a -G nintendo_switch $USER`. Make sure that the `G` is capitalized!
+1. Enter the following command. Make sure that the `G` is capitalized:
+
+ ```shell
+ sudo usermod -a -G nintendo_switch $USER
+ ```
+
1. Close the terminal.
### Adding a udev rule
-Next we're gonna add a new `udev` rule. `udev` is a device manager for the linux kernel. The rule we're gonna specify is that if the Switch is connected in `RCM`, the group the Switch belongs to will be the group we made in the previous section.
+Next, we will add a new `udev` rule. `udev` is a device manager for the linux kernel. The rule we will specify is that if the Switch is connected in `RCM`, the group the Switch belongs to will be the group we made in the previous section.
1. Open a terminal.
-1. Change to the root user with the following command: `sudo -i`. Enter your password when prompted.
-1. Enter the following command: `mkdir -p /etc/udev/rules.d`.
-1. Enter the following command: `echo 'SUBSYSTEMS=="usb", ATTRS{manufacturer}=="NVIDIA Corp.", ATTRS{product}=="APX", GROUP="nintendo_switch"' > /etc/udev/rules.d/10-switch.rules`.
-1. Enter the following command: `udevadm control --reload`.
-1. Enter the following command: `udevadm trigger`.
+1. Change to the root user with the following command.. Enter your password when prompted:
+
+ ```shell
+ sudo -i
+ ```
+
+1. Enter the following command:
+
+ ```shell
+ mkdir -p /etc/udev/rules.d
+ ```
+
+1. Enter the following command:
+
+ ```shell
+ echo 'SUBSYSTEMS=="usb", ATTRS{manufacturer}=="NVIDIA Corp.", ATTRS{product}=="APX", GROUP="nintendo_switch"' > /etc/udev/rules.d/10-switch.rules
+ ```
+
+1. Enter the following command:
+
+ ```shell
+ udevadm control --reload
+ ```
+
+1. Enter the following command:
+
+ ```shell
+ udevadm trigger
+ ```
+
1. Logout and log back in.
You should now be able to run the payload sender without having to use `sudo`.
-## Option 2: Installing a package with the rules
+## Option II - Installing a package with the rules
-These rules will actually allow _ANY_ user to access your Switch via USB, not only _your_ user.
+These rules will actually allow *ANY* user to access your Switch via USB, not only *your* user.
You may just follow the instructions at [nx-udev](https://github.com/pheki/nx-udev), or if you're on Ubuntu / Debian:
1. Download [nx-udev_latest_all.deb](https://github.com/pheki/nx-udev/releases/latest/download/nx-udev_latest_all.deb).
1. Open a terminal in the same directory as your download.
-1. Run `sudo dpkg -i nx-udev_latest_all.deb` to install the package
+1. Run the following command to install the package:
+
+ ```shell
+ sudo dpkg -i nx-udev_latest_all.deb
+ ```
You should now be able to run the payload injector and homebrew with USB communication without having to use `sudo`.
diff --git a/docs/extras/alternate_bootsetups.md b/docs/extras/alternate_bootsetups.md
index 4c52f8a76..4138a2a68 100644
--- a/docs/extras/alternate_bootsetups.md
+++ b/docs/extras/alternate_bootsetups.md
@@ -1,4 +1,4 @@
-# Alternate boot setups
+# Alternate Boot Setups
If you need to troubleshoot something, or need to try a different boot setup, read on.
@@ -12,11 +12,11 @@ Unless you are experiencing problems with booting or Atmosphère itself, it's st
## Chainloading Fusee from hekate
-- The latest release of [hekate](https://github.com/CTCaer/hekate/releases/)
-- The latest release of [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere/releases)
- - You will need to download both the release zip and the `fusee.bin`
+* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/)
+* The latest release of [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere/releases)
+ * You will need to download both the release zip and the `fusee.bin`
-### Instructions:
+### Instructions
1. Insert your Switch's microSD card into your PC.
1. Copy *the contents of* the Atmosphere `.zip` file to the root of your microSD card.
@@ -24,20 +24,20 @@ Unless you are experiencing problems with booting or Atmosphère itself, it's st
1. Copy `fusee.bin` to the `sd:/bootloader/payloads` folder on your microSD card.
1. The setup is complete, you can inject the hekate payload (Unpatched Switch users) or place the hekate payload on the root of your microSD card and rename it to `payload.bin` (Modchipped Switch users).
1. Navigate to and select `Payloads` > `fusee.bin`.
- - Note: `fusee` uses a set boot order that is not as easily configurable as hekate. Its boot order is `emuMMC` > `sysCFW` > `stock`.
+ * Note: `fusee` uses a set boot order that is not as easily configurable as hekate. Its boot order is `emuMMC` > `sysCFW` > `stock`.
If an emuMMC isn't present, it will boot into sysCFW for example. Make sure you have a method of blocking Nintendo's servers set up (such as [DNS-MITM](../extras/blocking_nintendo#instructions-ams-dns-redirection)) if you do use `fusee` and have an `emuMMC`.
## Using Fusee without hekate
This method will *not* work for Modchipped Switch users.
-- The latest release of [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere/releases)
- - You will need to download both the release zip and the `fusee.bin`
+* The latest release of [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere/releases)
+ * You will need to download both the release zip and the `fusee.bin`
-### Instructions:
+### Instructions
1. Insert your Switch's microSD card into your PC.
1. Copy *the contents of* the Atmosphere `.zip` file to the root of your microSD card.
1. The setup is complete, you can inject the `fusee.bin` payload.
- - Note: `fusee` uses a set boot order that is not as easily configurable as hekate. Its boot order is `emuMMC` > `sysCFW` > `stock`.
+ * Note: `fusee` uses a set boot order that is not as easily configurable as hekate. Its boot order is `emuMMC` > `sysCFW` > `stock`.
If an emuMMC isn't present, it will boot into sysCFW for example. Make sure you have a method of blocking Nintendo's servers set up (such as [DNS-MITM](../extras/blocking_nintendo#instructions-ams-dns-redirection)) if you do use `fusee` and have an `emuMMC`.
diff --git a/docs/extras/autorcm.md b/docs/extras/autorcm.md
index 4318b29b3..2fe504e09 100644
--- a/docs/extras/autorcm.md
+++ b/docs/extras/autorcm.md
@@ -2,7 +2,7 @@
AutoRCM causes the console to believe it is bricked, and will automatically launch RCM upon boot for recovery purposes, without needing a jig. As RCM is a recovery mode from repair specialists, this is an intended feature from the device developer, though is also considered a softbrick. If you aren't careful, misuse of AutoRCM can lead to real **damage**, especially with units that cannot inject custom RCM payloads (like Mariko hardware). Please take care when using it. Please keep in mind that the console can no longer boot on its own, so you'll need a PC, phone, or other payload injector to start the console after a coldboot.
-- Note: If the console screen stays black when pressing the power button after activating AutoRCM, remember that it's not broken. It's in RCM.
+* Note: If the console screen stays black when pressing the power button after activating AutoRCM, remember that it's not broken. It's in RCM.
::: warning
@@ -10,9 +10,9 @@ AutoRCM causes the console to believe it is bricked, and will automatically laun
You really want to kill your console, huh? If you haven't made a BOOT0/1 backup yet, it is recommended to make one **right now**.
-1. Boot into hekate
-1. Go to `Tools`, and select `Backup eMMC`
-1. Then tap `eMMC BOOT0 & BOOT1` and let the process complete.
+1. Boot into hekate.
+1. Go to `Tools`, and select `Backup eMMC`.
+1. Then, tap `eMMC BOOT0 & BOOT1` and let the process complete.
:::
@@ -20,26 +20,26 @@ You really want to kill your console, huh? If you haven't made a BOOT0/1 backup
There are some disadvantages you should consider before installing AutoRCM:
-- Please keep in mind that the console can no longer boot on its own, so you'll need a PC, phone, or other payload injector to start the console after letting the console fully shut off. (AutoRCM by itself is considered a "tethered jailbreak").
- - Note: Sleep Mode is not considered "powering off/on" the console. Sleep Mode will still work as intended and is fully unchanged with AutoRCM.
-- When completely discharged, your Switch will take a very long time to charge while in RCM. To solve this, charge the console for approximately twenty minutes before booting into hekate and selecting a boot option. After it's done booting, the console will now charge at a normal speed with a battery icon in the corner.
-- When a system update is completed while stock firmware is running, AutoRCM becomes disabled so you need to turn it on again. AutoRCM can be preserved by updating while CFW is active.
+* Please keep in mind that the console can no longer boot on its own, so you'll need a PC, phone, or other payload injector to start the console after letting the console fully shut off. (AutoRCM by itself is considered a "tethered jailbreak").
+ * Note: Sleep Mode is not considered "powering off/on" the console. Sleep Mode will still work as intended and is fully unchanged with AutoRCM.
+* When completely discharged, your Switch will take a very long time to charge while in RCM. To solve this, charge the console for approximately twenty minutes before booting into hekate and selecting a boot option. After it's done booting, the console will now charge at a normal speed with a battery icon in the corner.
+* When a system update is completed while stock firmware is running, AutoRCM becomes disabled so you need to turn it on again. AutoRCM can be preserved by updating while CFW is active.
## Advantages of AutoRCM
AutoRCM can be used for good as well:
-- If you were having trouble getting into RCM before (i.e you were using the tinfoil method), now you can get into RCM without any hassle.
-- If you want to keep fuses unburned, you can do so with AutoRCM, as the Switch never gets the chance to burn them. Nintendo's bootloaders burn the fuses, but those bootloaders cannot be used if AutoRCM is enabled.
- - Note: updating the console while booted into hekate's "stock" configuration will clear AutoRCM on the next reboot. Please update while using custom firmware, or be sure to use a jig after the console reboots.
-- It's easier to inject a payload using a payload injector, as using your jig and booting into RCM manually is no longer required.
+* If you were having trouble getting into RCM before (i.e you were using the tinfoil method), now you can get into RCM without any hassle.
+* If you want to keep fuses unburned, you can do so with AutoRCM, as the Switch never gets the chance to burn them. Nintendo's bootloaders burn the fuses, but those bootloaders cannot be used if AutoRCM is enabled.
+ * Note: updating the console while booted into hekate's "stock" configuration will clear AutoRCM on the next reboot. Please update while using custom firmware, or be sure to use a jig after the console reboots.
+* It's easier to inject a payload using a payload injector, as using your jig and booting into RCM manually is no longer required.
::: tip
**Other information...**
-- This method corrupts a single byte in both your BOOT0 and your BOOT1 partitions. This is why a backup of those is recommended.
-- This software version of AutoRCM can almost always be reversed, so don't freak out if it doesn't work out the way you'd like it to.
+* This method corrupts a single byte in both your BOOT0 and your BOOT1 partitions. This is why a backup of those is recommended.
+* This software version of AutoRCM can almost always be reversed, so don't freak out if it doesn't work out the way you'd like it to.
:::
@@ -47,8 +47,8 @@ AutoRCM can be used for good as well:
If, despite all of the information above, you still wish to enable (or disable) AutoRCM, and understand the risks, do the following:
-1. Boot into hekate
-1. Go to `Tools`
-1. At the bottom of the page, tap `Arch Bit • AutoRCM • Touch • Pkg1/2`
+1. Boot into hekate.
+1. Go to `Tools`.
+1. At the bottom of the page, tap `Arch Bit • AutoRCM • Touch • Pkg1/2`.
1. Then tap `AutoRCM`. It will show a little `ON` next to the option once you have done this.
- - If you wish to disable it instead, follow these same steps and ensure the `AutoRCM` option is set to `OFF`.
+ * If you wish to disable it instead, follow these same steps and ensure the `AutoRCM` option is set to `OFF`.
diff --git a/docs/extras/blocking_nintendo.md b/docs/extras/blocking_nintendo.md
index a62c20330..97bf55693 100644
--- a/docs/extras/blocking_nintendo.md
+++ b/docs/extras/blocking_nintendo.md
@@ -1,29 +1,33 @@
+---
+outline: false
+---
+
# Blocking Nintendo servers
This page will help you set up a method to block all communication with Nintendo. This will stop any updates and reporting to Nintendo, but it will prevent use of the eShop and online games.
-## Instructions (DNS.MITM)
+## Instructions for DNS.MITM
+
You can configure Atmosphère to automatically redirect any requests directed to Nintendo to nothing instead. Documentation about this feature can be [found here](https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/features/dns_mitm.md). The section below will help you set up DNS redirection on your emuMMC. Note that this will only apply when you are using your emuMMC (unless applied on sysCFW).
-### What you need:
-- The emummc.txt file
-- Atmosphère 0.18.0 or higher
+### Section I - Requirements
+
+* The [emummc.txt](/files/emummc.txt){download} file
+* Atmosphère 0.18.0 or higher
-### Setup:
+### Section II - Installation
1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your SD.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your SD.
1. Navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
1. Enter the `atmosphere` folder.
1. If it doesn't exist already, create a folder named `hosts` in the `atmosphere` folder.
- - You should end up with the `sd:/atmosphere/hosts` directory.
+ * You should end up with the `sd:/atmosphere/hosts` directory.
1. Copy the `emummc.txt` file into the hosts folder.
- - If you want to apply the DNS redirection to sysMMC instead of emuMMC, rename the file to `sysmmc.txt`.
+ * If you want to apply the DNS redirection to sysMMC instead of emuMMC, rename the file to `sysmmc.txt`.
1. Eject the `UMS` device safely from within your computer's operating system and boot into CFW.
-::: tip
-
-**Verifying functionality**
+::: details Verifying functionality
You can verify the functionality of the DNS redirection by booting into emuMMC (or sysCFW, if you applied the config to sysCFW), and powering off afterwards.
@@ -75,18 +79,20 @@ Redirections:
`receive-lp1.er.srv.nintendo.net` -> 127.0.0.1
`receive-lp1.dg.srv.nintendo.net` -> 127.0.0.1
```
+
:::
-## Instructions (90DNS)
-You can add a custom DNS to your Wi-Fi connection that will block all communication with Nintendo's servers. We will be using [90DNS](https://gitlab.com/a/90dns), a community-run custom DNS server. If you prefer, you can run your own DNS server following the instructions on the [GitLab repository.](https://gitlab.com/a/90dns/blob/master/SELFHOST.md)
+## Instructions for 90DNS
+
+You can add a custom DNS to your Wi-Fi connection that will block all communication with Nintendo's servers. We will be using [90DNS](https://gitlab.com/a/90dns), a community-run custom DNS server. If you prefer, you can run your own DNS server following the instructions on the [GitLab repository](https://gitlab.com/a/90dns/blob/master/SELFHOST.md).
Enter the console's `System Settings`, and then proceed to the `Internet` tab. From here you can choose one of the 3 methods of setting up 90DNS below, depending on what you currently have set up on your Switch.
-- Follow the [Setting up a new connection via Wi-Fi](#setting-up-a-new-connection-via-wi-fi) section if you wish to set up 90DNS on a Wi-Fi network you haven't connected to before.
-- Follow the [Editing an existing Wi-Fi connection](#editing-an-existing-wifi-connection) section if you wish to edit an existing, saved Wi-Fi network.
-- Follow the [Using homebrew to set 90DNS on all existing Wi-Fi networks ](#using-homebrew-to-set-90dns-on-all-existing-wifi-networks) section if you wish to use a homebrew app to configure 90DNS on all saved Wi-Fi networks.
+::::: tabs
+
+:::: tab Setting up a new connection via Wi-Fi
-### Setting up a new connection via Wi-Fi
+Follow this section if you wish to set up 90DNS on a Wi-Fi network you haven't connected to before.
::: warning
@@ -107,30 +113,34 @@ Not all Wi-Fi networks require a password to connect. If your network does not u
1. Enter the correct password for your Wi-Fi connection.
1. Save the settings and test the connection.
- -----
+| Location | Primary DNS | Secondary DNS |
+| :---------------------------------- | :---------------- | :---------------- |
+| Europe (Server located in France) | `163.172.141.219` | `207.246.121.77` |
+| America (Server located in the USA) | `207.246.121.77` | `163.172.141.219` |
-### Editing an existing Wi-Fi connection
-1. Select your existing Wi-Fi network from the list of networks.
-1. Select `Change Settings`.
-1. Pick the server that is the closest to your location out of the below chart and enter its Primary and Secondary DNS into your connection settings.
-1. Save the settings and test the connection.
+::: tip
- -----
+Example for a 90DNS connection with the Europe settings:
-### Using homebrew to set 90DNS on all existing Wi-Fi networks
-1. Download [switch-90dns-setter](https://github.com/suchmememanyskill/switch-90dns-setter/releases) and put it in the `/switch` folder.
-1. Launch CFW and open the homebrew menu.
-1. Launch `90DNS Setter`.
-1. Press X to apply 90DNS to all Wi-Fi networks.
-1. Press Y to reboot the Switch.
-1. Check in system settings if networks have a custom DNS applied.
+
+:::
-| Location | Primary DNS | Secondary DNS |
-|:--------------------------------------|:--------------------|:--------------------|
-| Europe (Server located in France) | `163.172.141.219` | `207.246.121.77` |
-| America (Server located in the USA) | `207.246.121.77` | `163.172.141.219` |
+::::
+:::: tab Editing an existing Wi-Fi connection
+
+Follow this section if you wish to edit an existing, saved Wi-Fi network.
+
+1. Select your existing Wi-Fi network from the list of networks.
+1. Select `Change Settings`.
+1. Pick the server that is the closest to your location out of the below chart and enter its Primary and Secondary DNS into your connection settings.
+1. Save the settings and test the connection.
+
+| Location | Primary DNS | Secondary DNS |
+| :---------------------------------- | :---------------- | :---------------- |
+| Europe (Server located in France) | `163.172.141.219` | `207.246.121.77` |
+| America (Server located in the USA) | `207.246.121.77` | `163.172.141.219` |
::: tip
@@ -140,13 +150,32 @@ Example for a 90DNS connection with the Europe settings:
:::
+::::
+
+:::: tab Using homebrew to set 90DNS on all existing Wi-Fi networks
+
+Follow this section if you wish to use a homebrew app to configure 90DNS on all saved Wi-Fi networks.
+
+1. Download [switch-90dns-setter](https://github.com/suchmememanyskill/switch-90dns-setter/releases) and put it in the `/switch` folder.
+1. Launch CFW and open the homebrew menu.
+1. Launch `90DNS Setter`.
+1. Press X to apply 90DNS to all Wi-Fi networks.
+1. Press Y to reboot the Switch.
+1. Check in System Settings to see if your networks have a custom DNS applied.
+
+::::
+
+:::::
+
## Testing if you can reach Nintendo
### Testing via the eShop (Stock)
+
1. Open the eShop. Wait until it either opens or displays an error.
1. If it displays "Unable to display page.", you seem to have blocked Nintendo's servers.
### Testing via a homebrew app (CFW)
+
1. Download the latest release of the [90DNS Tester](https://github.com/meganukebmp/Switch_90DNS_tester/releases)
1. Place the `Switch_90DNS_tester.nro` in the `switch` folder on your SD.
1. Enter the homebrew menu and run the 90DNS Tester.
diff --git a/docs/extras/game_modding.md b/docs/extras/game_modding.md
index 102201a71..c71131499 100644
--- a/docs/extras/game_modding.md
+++ b/docs/extras/game_modding.md
@@ -2,7 +2,7 @@
LayeredFS, a tool built into Atmosphère, allows you to (temporarily) replace a game's assets with your own, modified assets as long as you're booted into CFW.
-## Usage instructions
+## Usage
Check the section below to find your mod's folder/file structure, then install your mod accordingly.
@@ -10,10 +10,10 @@ Check the section below to find your mod's folder/file structure, then install y
**Checking folder/file structures**
-- If the mod solely includes a `romfs` (and/or `exefs` folder), you will need to place that folder inside of `sd:/atmosphere/contents//`.
- - **Note:** The title ID folder has to be created manually in this case. This is game specific and the title ID of every game can be found on the following websites: [switchbrew](https://switchbrew.org/wiki/Title_list/Games) and [nswdb](https://nswdb.com/).
-- If the mod solely includes a `contents` folder, you can simply copy that folder to `sd:/atmosphere/` on your microSD card and merge folders if prompted.
-- If the mod has the complete folder structure set up (i.e. `atmosphere/contents//romfs`), you can simply copy the `atmosphere` folder (likely inside of a mod's `.zip` file) to the root of your microSD card and merge folders if prompted.
+* If the mod solely includes a `romfs` (and/or `exefs` folder), you will need to place that folder inside of `sd:/atmosphere/contents//`.
+ * **Note:** The title ID folder has to be created manually in this case. This is game specific and the title ID of every game can be found on the following websites: [switchbrew](https://switchbrew.org/wiki/Title_list/Games) and [nswdb](https://nswdb.com/).
+* If the mod solely includes a `contents` folder, you can simply copy that folder to `sd:/atmosphere/` on your microSD card and merge folders if prompted.
+* If the mod has the complete folder structure set up (i.e. `atmosphere/contents//romfs`), you can simply copy the `atmosphere` folder (likely inside of a mod's `.zip` file) to the root of your microSD card and merge folders if prompted.
:::
@@ -29,19 +29,32 @@ In the image below, you can see a Batman skin mod being used in The Legend of Ze

-## Additional notes
+## Additional Notes
-The `romfs` folder contains modified assets in the way the game would normally read them. `romfs` stands for "romFileSystem", which is quite literally what the filesystem (folder and file structure) of the game you're modding consists of internally.
+::: tip
+
+The `romfs` folder contains modified assets in the way the game would normally read them. `romfs` stands for "romFileSystem", which is quite literally what the filesystem (folder and file structure) of the game you're modding consists of internally.
+
+:::
+
+::: tip
If you want to disable mods on launch of a game, hold the `L` button before launching the game and launch the game normally, `L` is the default button to do this. This will disable all modifications (like cheats and mods) that you have configured for your game.
+:::
+
+::: warning
+
While most games only require Atmosphère's LayeredFS to enable game modding, there are some games that may require more specialized setup. For example:
-- Modding Super Smash Bros. requires [ARCropolis](https://github.com/Raytwo/ARCropolis/releases) and [skyline](https://github.com/skyline-dev/skyline/releases). Skyline's `exefs` folder goes into the `atmosphere/contents/01006A800016E000/` directory. ARCropolis looks for mods in the `sd:/ultimate/mods` directory on your microSD card.
-- Modding Breath of the Wild and Tears of the Kingdom with multiple mods requires the use of [BCML](https://github.com/NiceneNerd/BCML) or [UKMM](https://github.com/NiceneNerd/UKMM/releases) (Recommended) and [TKMM](https://github.com/TKMM-Team/Tkmm/releases) respectively.
-- Animal Crossing: New Horizons requires some extra setup for mods to work. The folder that would normally be called `romfs` has to be called `romFs` and you'll need to create an empty file inside of `atmosphere/contents/01006F8002326000/romFs/System/Resource/` called `ResourceSizeTable.srsizetable`. More information on this can be found on the [ac-modding website](https://ac-modding.com/ACNH/mods.html).
+* Modding Super Smash Bros. requires [ARCropolis](https://github.com/Raytwo/ARCropolis/releases) and [skyline](https://github.com/skyline-dev/skyline/releases). Skyline's `exefs` folder goes into the `atmosphere/contents/01006A800016E000/` directory. ARCropolis looks for mods in the `sd:/ultimate/mods` directory on your microSD card.
+* Modding Breath of the Wild and Tears of the Kingdom with multiple mods requires the use of [BCML](https://github.com/NiceneNerd/BCML) or [UKMM](https://github.com/NiceneNerd/UKMM/releases) (Recommended) and [TKMM](https://github.com/TKMM-Team/Tkmm/releases) respectively.
+* Animal Crossing: New Horizons requires some extra setup for mods to work. The folder that would normally be called `romfs` has to be called `romFs` and you'll need to create an empty file inside of `atmosphere/contents/01006F8002326000/romFs/System/Resource/` called `ResourceSizeTable.srsizetable`. More information on this can be found on the [ac-modding website](https://ac-modding.com/ACNH/mods.html).
+
+:::
## Troubleshooting
+
### My game crashes upon launch!
If your game crashes during launch, hold the `L` button to see if disabling all modifications for your game solves the issue. If so, delete the most recently added mod(s) for your game.
diff --git a/docs/extras/glossary.md b/docs/extras/glossary.md
index f756b0a81..029410337 100644
--- a/docs/extras/glossary.md
+++ b/docs/extras/glossary.md
@@ -6,42 +6,44 @@ This section is dedicated to explaining a number of common terms that are used w
The following list is in alphabetical order.
-- **90DNS**: DNS that blocks system updates on the Nintendo Switch. This can be enabled by following the guide [here](blocking_nintendo).
-- **[Atmosphère](https://github.com/Atmosphere-NX/Atmosphere)**: The CFW developed by the Atmosphère-NX organization on GitHub and the one used in this guide.
-- **AutoRCM**: A method that corrupts parts of your boot0 and boot1, causing the Switch to boot into RCM automatically. Using this requires an additional peripheral (such as a computer, phone, dongle, or modchip) to be able to boot your Switch.
-- **boot0 and boot1**: Two partitions of the Switch NAND.
-- **bootROM**: An initial system loader whose primary purpose is to initialise a device's hardware and prepare it for use. It is also typically responsible for authenticating hardware and software necessary to start the device. A bootROM is a ROM, meaning that it is etched into the device and cannot be rewritten or upgraded without replacing the hardware entirely.
-- **CFW**: Short for custom firmware. CFW is a collection of patches which partially or largely modify the functionality of the underlying OS. It is not used to refer to the usage of brand new operating systems entirely.
-- **Deja Vu**: An unreleased exploit chain for the Nintendo Switch. The completely unpatched version of this chain will grant access to TrustZone, which effectively means being able to enter CFW. The TrustZone part of this exploit was patched in firmware version 5.0.0 and up, but normal homebrew access can still be gained up to firmware version 6.0.1.
-- **DNS**: [Domain Name System](https://en.wikipedia.org/wiki/Domain_Name_System). Basically, the internet's addressbook. If you visit a website, the DNS lookup is what tells you what server the site is hosted on.
-- **Dongle**: Device you can plug in the USB-C of your Switch to automatically send a payload if your Switch is in RCM.
-- **Encryption keys**: Keys used to encrypt data from the Nintendo Switch.
- - **BIS keys**: Built-in Storage keys. They are used to encrypt/decrypt the NAND's contents.
-- **[fusee-gelee](https://github.com/Qyriad/fusee-launcher/blob/master/report/fusee_gelee.md)/[ShofEL2](https://github.com/fail0verflow/shofel2)**: Two names for two different implementations of the [same exploit](https://nvd.nist.gov/vuln/detail/CVE-2018-6242). This is an exploit that grants full bootROM access to the Nintendo Switch from the Tegra X1's RCM, and permitting us to run CFW. This exploit requires an external device or a tiny hardware modification. fusee-gelee is developed by an ex-ReSwitched developer, while ShofEL2 is developed by the failoverfl0w team. This guide uses fusee-gelee.
-- **[hactool](https://github.com/SciresM/hactool)**: Software used to decrypt Nintendo Switch files like .XCI and .NSP files.
-- **[hekate](https://github.com/CTCaer/hekate)**: A bootloader for the Nintendo Switch. The current guide uses this in combination with essential files from Atmosphère to boot CFW.
-- **Homebrew**: Unsigned code that can be ran on the Nintendo Switch. Examples of homebrew include save editors, emulators and ports of PC games, but can also include completely original games. To run this code, you need to have an exploit.
-- **Homebrew launcher**: Software developed by the Switchbrew team that lets you run other Homebrew.
-- **Jig**: Refers to a piece of hardware that you can put in the Joycon rail to enter RCM.
-- **KIP**: Short for Kernel Initial Process. These files can be loaded in when the Switch boots in CFW and provide additional functionality.
-- **NAND**: Referred to as "Internal Storage" within Nintendo's consoles, this is the storage chip that the console saves the system software and internal settings to. The name refers to the type of logic gate employed, known as "not-AND" in this case.
-- **nx-hbloader**: Intermediary program used to load the Homebrew Launcher from CFW developed by Switchbrew. Comes bundled with Atmosphere.
-- **PRODINFO**: A partition on the NAND of your Switch. This along with boot0 and boot1 is the only part of your Switch that can render it unbootable if improperly modified. Atmosphère backs up this partition on booting and it is included in your NAND backup.
-- **qLaunch**: This is similar to the HOME Menu on the Nintendo 3DS. It serves as a launcher for many applets such as System Settings, the main home menu (ResidentMenu), User/Friends Page (myPage), Lock Screen (Entrance), News menu (Notification), and so on.
-- **ReSwitched**: A hacking team that is one of the main developers for Atmosphère.
-- **RCM**: A shorthand for "Recovery Mode". When talking about hacking the Switch, this commonly refers to the Recovery Mode in the Tegra X1 chip that is included in the Nintendo Switch. Can be entered by holding down the Tegra X1 home button. This button is not the same as the home button on the joycons. Ways of pressing this button can be found [here](../user_guide/rcm/entering_rcm).
-- **ROM**: "Read-only memory"; a section of data that cannot be modified once it is written.
Some forms of ROM can be rewritten under very specific scenarios, such as [EEPROM](https://en.wikipedia.org/wiki/EEPROM) (electronically-erasable/programmable ROM).
-- **[TegraRCMGUI](https://github.com/eliboa/TegraRcmGUI/releases)/[fusee-interface-tk](https://github.com/nh-server/fusee-interfacee-tk/releases)**: Software used to run the fusee-gelee exploit on the Switch.
-- **Stock**: "Stock" generally refers to the original factory operation or state of something.
For example, stock firmware means the original operation of Horizon, not using CFW.
-- **Tegra X1**: [A chip made by Nvidia that is used in the Nintendo Switch.](https://en.wikipedia.org/wiki/Tegra#Tegra_X1)
-- **Trinket**: A category of modchip that is soldered on the Switch motherboard to automatically send a payload if it is in RCM. They are not necessarily always the Trinket brand, as this refers to the category of modchip.
-- **TrustZone**: The highest security level on the Switch.
-- **XCI/NSP**: Format used to dump games to. XCI is used for gamecard dumps, while NSP is for dumping digital titles.
+| Term | Definition |
+| :--: | ---------- |
+| **90DNS** | DNS that blocks system updates on the Nintendo Switch. This can be enabled by following the [90DNS blocking guide](blocking_nintendo) |
+| **[Atmosphère](https://github.com/Atmosphere-NX/Atmosphere)** | The CFW developed by the Atmosphère-NX organization on GitHub and the one used in this guide. |
+| **AutoRCM** | A method that corrupts parts of your boot0 and boot1, causing the Switch to boot into RCM automatically. Using this requires an additional peripheral (such as a computer, phone, dongle, or modchip) to be able to boot your Switch. |
+| **BIS keys** | Built-in Storage keys. They are a type of encryption key used to encrypt/decrypt the NAND's contents. |
+| **boot0 and boot1** | Two partitions of the Switch NAND. |
+| **bootROM** | An initial system loader whose primary purpose is to initialize a device's hardware and prepare it for use. It is also typically responsible for authenticating hardware and software necessary to start the device. A bootROM is a ROM, meaning that it is etched into the device and cannot be rewritten or upgraded without replacing the hardware entirely. |
+| **CFW** | Short for custom firmware. CFW is a collection of patches which partially or largely modify the functionality of the underlying OS. It is not used to refer to the usage of brand new operating systems entirely. |
+| **Deja Vu** | An unreleased exploit chain for the Nintendo Switch. The completely unpatched version of this chain will grant access to TrustZone, which effectively means being able to enter CFW. The TrustZone part of this exploit was patched in firmware version 5.0.0 and up, but normal homebrew access can still be gained up to firmware version 6.0.1. |
+| **DNS** | [Domain Name System](https://en.wikipedia.org/wiki/Domain_Name_System). Basically, the internet's addressbook. If you visit a website, the DNS lookup is what tells you what server the site is hosted on. |
+| **Dongle** | Device you can plug in the USB-C of your Switch to automatically send a payload if your Switch is in RCM. |
+| **Encryption keys** | Keys used to encrypt data from the Nintendo Switch. |
+| **[fusee-gelee](https://github.com/Qyriad/fusee-launcher/blob/master/report/fusee_gelee.md)/[ShofEL2](https://github.com/fail0verflow/shofel2)** | Two names for two different implementations of the [same exploit](https://nvd.nist.gov/vuln/detail/CVE-2018-6242). This is an exploit that grants full bootROM access to the Nintendo Switch from the Tegra X1's RCM, and permitting us to run CFW. This exploit requires an external device or a tiny hardware modification. fusee-gelee is developed by an ex-ReSwitched developer, while ShofEL2 is developed by the failoverfl0w team. This guide uses fusee-gelee. |
+| **[hactool](https://github.com/SciresM/hactool)** | Software used to decrypt Nintendo Switch files like .XCI and .NSP files. |
+| **[hekate](https://github.com/CTCaer/hekate)** | A bootloader for the Nintendo Switch. The current guide uses this in combination with essential files from Atmosphère to boot CFW. |
+| **Homebrew** | Unsigned code that can be ran on the Nintendo Switch. Examples of homebrew include save editors, emulators and ports of PC games, but can also include completely original games. To run this code, you need to have an exploit. |
+| **Homebrew Launcher** | Software developed by the Switchbrew team that lets you run other Homebrew. |
+| **Jig** | Refers to a piece of hardware that you can put in the Joycon rail to enter RCM. |
+| **KIP** | Short for Kernel Initial Process. These files can be loaded in when the Switch boots in CFW and provide additional functionality. |
+| **NAND** | Referred to as "Internal Storage" within Nintendo's consoles, this is the storage chip that the console saves the system software and internal settings to. The name refers to the type of logic gate employed, known as "not-AND" in this case. |
+| **nx-hbloader** | Intermediary program used to load the Homebrew Launcher from CFW developed by Switchbrew. Comes bundled with Atmosphere. |
+| **PRODINFO** | A partition on the NAND of your Switch. This along with boot0 and boot1 is the only part of your Switch that can render it unbootable if improperly modified. Atmosphère backs up this partition on booting and it is included in your NAND backup. |
+| **qLaunch** | This is similar to the HOME Menu on the Nintendo 3DS. It serves as a launcher for many applets such as System Settings, the main home menu (ResidentMenu), User/Friends Page (myPage), Lock Screen (Entrance), News menu (Notification), and so on. |
+| **ReSwitched** | A hacking team that is one of the main developers for Atmosphère. |
+| **RCM** | A shorthand for "Recovery Mode". When talking about hacking the Switch, this commonly refers to the Recovery Mode in the Tegra X1 chip that is included in the Nintendo Switch. Can be entered by holding down the Tegra X1 home button. This button is not the same as the home button on the joycons. Ways of pressing this button can be found on the [Entering RCM guide](../user_guide/rcm/entering_rcm). |
+| **ROM** | "Read-only memory"; a section of data that cannot be modified once it is written. Some forms of ROM can be rewritten under very specific scenarios, such as [EEPROM](https://en.wikipedia.org/wiki/EEPROM) (electronically-erasable/programmable ROM). |
+| **[TegraRCMGUI](https://github.com/eliboa/TegraRcmGUI/releases)/[fusee-interface-tk](https://github.com/nh-server/fusee-interfacee-tk/releases)** | Software used to run the fusee-gelee exploit on the Switch. |
+| **Stock** | "Stock" generally refers to the original factory operation or state of something. For example, stock firmware means the original operation of Horizon, not using CFW. |
+| **Tegra X1** | [A chip made by Nvidia that is used in the Nintendo Switch.](https://en.wikipedia.org/wiki/Tegra#Tegra_X1) |
+| **Trinket** | A category of modchip that is soldered on the Switch motherboard to automatically send a payload if it is in RCM. They are not necessarily always the Trinket brand, as this refers to the category of modchip. |
+| **TrustZone** | The highest security level on the Switch. |
+| **XCI/NSP** | Format used to dump games to. XCI is used for gamecard dumps, while NSP is for dumping digital titles. |
## Resources
The resources below are for users and developers interested in developing Homebrew or for those that want to get a more technical understanding of the various concepts.
-- The [ReSwitched FAQ](https://reswitched.github.io/faq/) lists a general overview of how the Switch works.
-- [Switchbrew](https://switchbrew.org) is a wiki detailing the inner workings of the Nintendo Switch's firmware.
-- [libNX documentation](https://switchbrew.github.io/libnx/index.html). LibNX is the library used to develop Homebrew on the Nintendo Switch.
+* The [ReSwitched FAQ](https://reswitched.github.io/faq/) lists a general overview of how the Switch works.
+* [SwitchBrew](https://switchbrew.org) is a wiki detailing the inner workings of the Nintendo Switch's firmware.
+* [libNX documentation](https://switchbrew.github.io/libnx/index.html). LibNX is the library used to develop Homebrew on the Nintendo Switch.
diff --git a/docs/extras/index.md b/docs/extras/index.md
index 4450d4340..d96d46ffc 100644
--- a/docs/extras/index.md
+++ b/docs/extras/index.md
@@ -4,8 +4,8 @@ Several extra guides that are not required for basic usage can be found here.
They are listed in the sidebar as well.
-### **Commonly used guides**:
+## Commonly used guides
-- [Updating CFW](updating)
-- [Blocking Nintendo servers](blocking_nintendo)
-- [Changing microSD cards](transfer_sd)
+* [Updating CFW](updating)
+* [Blocking Nintendo servers](blocking_nintendo)
+* [Changing microSD cards](transfer_sd)
diff --git a/docs/extras/installing_android.md b/docs/extras/installing_android.md
index f92d65138..7bb7950a2 100644
--- a/docs/extras/installing_android.md
+++ b/docs/extras/installing_android.md
@@ -1,3 +1,7 @@
+---
+outline: false
+---
+
# Installing Android
This page will detail the required information you need to know about installing Android (Android 15) for the Nintendo Switch.
@@ -10,7 +14,7 @@ This page assumes that you've followed our guide to partition your microSD card
:::
-### Installation
+## Installation
Click the following link to continue to the official LineageOS documentation for installing Android 15 (external link):
@@ -18,35 +22,29 @@ Click the following link to continue to the official LineageOS documentation for
[Install Android 15](https://wiki.lineageos.org/devices/nx_tab/)
:::
-- **Note:** You can skip the partitioning mentioned in the LineageOS documentation. You already did this during the guide and do *not* have to do so again.
+* **Note:** You can skip the partitioning mentioned in the LineageOS documentation. You already did this during the guide and do *not* have to do so again.
If you already have Android fully installed, do not follow this guide, as your current installation would be erased.
------
-
-### Post-Install information
-
-#### Tips and Tricks
+## Post-Install information
-- If Joy-Con autopairing has not kicked in, try a reboot. Sometimes the first boot doesn't pick up the addition.
-- To access LineageOS recovery: hold `VOL+` on boot or reboot.
-- To access hekate from Android: hold `VOL-` on reboot.
-- To reboot back to Android: hold `Power` for a few seconds and perform a standard reboot.
-- To return to Horizon (`OFW/CFW`): power your Switch off fully, then boot into your desired mode.
+### Tips and Tricks
------
+* If Joy-Con autopairing has not kicked in, try a reboot. Sometimes the first boot doesn't pick up the addition.
+* To access LineageOS recovery: hold `VOL+` on boot or reboot.
+* To access hekate from Android: hold `VOL-` on reboot.
+* To reboot back to Android: hold `Power` for a few seconds and perform a standard reboot.
+* To return to Horizon (`OFW/CFW`): power your Switch off fully, then boot into your desired mode.
-#### Need Help?
+### Need Help?
Join the [Switchroot Discord server](https://discord.gg/N9PPYXjWMY).
------
-
::: info
**Looking for Android 10/11?**
-An unfortunate bug with clocking on Android 11 results in degraded performance for Erista (v1) units on Android 11. Android 10/11 installation is not covered here, but there are [guides](https://wiki.switchroot.org/wiki/android) on the Switchroot Wiki. However, Android 15 is the currently supported version of Android which uses much more updated drivers and is updated frequently.
+An unfortunate bug with clocking on Android 11 results in degraded performance for Erista (v1) units on Android 11. Android 10/11 installation is not covered here, but there are [guides](https://wiki.switchroot.org/wiki/android) on the Switchroot Wiki. However, Android 15 is the currently supported version of Android which uses much more updated drivers and is updated frequently.
This page *does* contain a legacy guide for Android 10, which can be found in the `Legacy information (Android 10)` section at the very bottom of this page.
@@ -54,17 +52,20 @@ This page *does* contain a legacy guide for Android 10, which can be found in th
:::: details Legacy information (Android 10) {closed}
-#### Requirements:
-- A Nintendo Switch console that is capable of running hekate.
-- A microSD card *larger than* 8GB.
- - Please consult the [Switchroot microSD Card Guide](https://wiki.switchroot.org/wiki/sd-card-guide) before buying!
-- A good quality, data-transfer capable USB-A to USB-C cable.
- - C to C is unstable, but this will be fixed in the next release.
-- A computer.
+### Requirements
+
+* A Nintendo Switch console that is capable of running hekate.
+* A microSD card *larger than* 8GB.
+ * Please consult the [Switchroot microSD Card Guide](https://wiki.switchroot.org/wiki/sd-card-guide) before buying!
+* A good quality, data-transfer capable USB-A to USB-C cable.
+ * C to C is unstable, but this will be fixed in the next release.
+* A computer.
-#### Instructions:
+#### Instructions
-#### Step 0: Preparation
+---
+
+##### Step 0: Preparation
If you have official Joy-Con controllers, you can set up auto-pairing so undocking them seamlessly connects to the console regardless of what OS is running. To make this work, boot HOS, ensure both work undocked (pair them), then reboot to hekate. Select `Nyx Options` followed by `Dump Joy-Con BT`. You should see "Found 2 out of 2 Joy-Con pairing data!"
@@ -76,9 +77,9 @@ You should poke the dump button in hekate anyway -- this will dump factory stick
:::
------
+---
-#### Step 1: Downloading Files
+##### Step 1: Downloading Files
Download the latest `.7z` release archive from [the official Switchroot download site](https://download.switchroot.org/android-11/)--choose `nx-atv...` for Android TV (more console-like experience) or `nx-tab...` for standard Android (a more standard Android tablet experience). Both are usable with controllers and docking, but only tab supports proper touch input.
@@ -90,9 +91,9 @@ Download the latest `.7z` release archive from [the official Switchroot download
:::
------
+---
-#### Step 2: Arranging the microSD Card
+##### Step 2: Arranging the microSD Card
::: tip
@@ -100,31 +101,31 @@ Download the latest `.7z` release archive from [the official Switchroot download
These models have a poorly designed microSD card reader and repeated removals/reinsertions can eventually cause the reader to fail. Please use hekate SD UMS to transfer files instead of removing the microSD card from your Switch!
-- This can be done by booting into hekate and going to `Tools` > `USB Tools` > `SD Card` and plugging your Switch into your PC via USB.
+* This can be done by booting into hekate and going to `Tools` > `USB Tools` > `SD Card` and plugging your Switch into your PC via USB.
:::
Extract the archive to the root of the microSD card (the FAT32 partition). The microSD card file structure should look more or less like this:
-```
-root
-|- bootloader
-| |- ini
-| | |- ...
-| |- payloads
-| | |- ...
-| |- res
-| | |- ...
-| |- sys
-| | |- ...
-|- Nintendo (if you use Horizon)
-| |- ...
-|- switchroot
-| |- android
-| | |- ...
-| |- install
-| | |- ...
-|- lineage-18.1-[date]-UNOFFICIAL-[device].zip
+```shell
+💾 SD Card
+├── 📁 bootloader
+│ ├── 📁 ini
+│ │ └── ...
+│ ├── 📁 payloads
+│ │ └── ...
+│ ├── 📁 res
+│ │ └── ...
+│ └── 📁 sys
+│ └── ...
+├── 📁 Nintendo ( if you use Horizon )
+│ └── ...
+├── 📁 switchroot
+│ ├── 📁 android
+│ │ └── ...
+│ └── 📁 install
+│ └── ...
+└── 📄 lineage-18.1-[date]-UNOFFICIAL-[device].zip
```
::: tip
@@ -135,9 +136,9 @@ root
:::
------
+---
-#### Step 3: Flashing Android
+##### Step 3: Flashing Android
Open the hekate partition manager (located in `Tools` > `Partition SD Card`) and select Flash Android at the bottom of your screen. All three images should be found and successfully flashed. Select the option to reboot to recovery.
@@ -163,15 +164,19 @@ Once done, reboot the system when prompted -- Android is now installed!
#### Post-Install
-#### Tips and Tricks
+---
+
+##### Tips and Tricks
-- If Joy-Con autopairing has not kicked in, try a reboot. Sometimes the first boot doesn't pick up the addition.
-- To access recovery/TWRP: hold `VOL+` on boot or reboot.
-- To access hekate from Android: hold `VOL-` on reboot.
-- To reboot back to Android: hold `Power` for a few seconds and perform a standard reboot.
-- To return to Horizon (`OFW/CFW`): power your Switch off fully, then boot into your desired mode.
+* If Joy-Con autopairing has not kicked in, try a reboot. Sometimes the first boot doesn't pick up the addition.
+* To access recovery/TWRP: hold `VOL+` on boot or reboot.
+* To access hekate from Android: hold `VOL-` on reboot.
+* To reboot back to Android: hold `Power` for a few seconds and perform a standard reboot.
+* To return to Horizon (`OFW/CFW`): power your Switch off fully, then boot into your desired mode.
-#### Power User Guides
+---
+
+##### Power User Guides
To learn more about using the Switch Configuration App and overclocking, see the [Switch Configuration App](https://wiki.switchroot.org/wiki/android/11-r-setup-guide#switch-configuration-app) section. Furthermore, you can check out the [INI guide](https://wiki.switchroot.org/wiki/android/11-r-ini-guide) as well.
@@ -179,11 +184,13 @@ The Switch lacks a cell modem; simply installing Android does not grant your Swi
This page will also *not* detail things such as rooting and overclocking; external links to these types of additions can be found in the [Power User Guides](#power-user-guides) section at the bottom of this page.
-#### Need Help?
+---
+
+##### Need Help?
Join the [Switchroot Discord server](https://discord.gg/N9PPYXjWMY).
------
+---
This page was made in collaboration with `makinbacon21` on Discord. See the collapsible section below for the Switchroot guide maintainers.
@@ -191,16 +198,16 @@ This page was made in collaboration with `makinbacon21` on Discord. See the coll
If you'd like, you can donate to the people who made this project possible using these links.
-- makinbacon (Android developer)
+* makinbacon (Android developer)
[https://paypal.me/makinbacon21](https://paypal.me/makinbacon21)
-- npjohnson (Android developer)
+* npjohnson (Android developer)
[https://paypal.me/nolenjohnson](https://paypal.me/nolenjohnson)
-- CTCaer (Linux & Low level developer, hekate maintainer)
+* CTCaer (Linux & Low level developer, hekate maintainer)
[https://www.patreon.com/ctcaer](https://www.patreon.com/ctcaer)
-- ave (Infrastructure & Hosting)
+* ave (Infrastructure & Hosting)
[https://patreon.com/aveao](https://patreon.com/aveao)
:::
diff --git a/docs/extras/installing_linux.md b/docs/extras/installing_linux.md
index 20469f0eb..0a640cd3a 100644
--- a/docs/extras/installing_linux.md
+++ b/docs/extras/installing_linux.md
@@ -1,6 +1,6 @@
# Installing Linux 4 Switch (L4S)
-Linux 4 Switch is a sister project to Switchroot Android--it uses a similar kernel but provides a variety of Linux distributions.
+Linux 4 Switch is a sister project to Switchroot Android--it uses a similar kernel but provides a variety of Linux distributions.
::: warning
@@ -10,25 +10,29 @@ This page assumes that you've followed our guide to partition your microSD card
:::
-### Installation
+## Installation
Click the following link to continue to the official Switchroot documentation for installing an L4S Linux distribution (external link):
::: tip
+
[Install a Linux Distribution](https://wiki.switchroot.org/wiki/linux/linux-distributions)
+
:::
-- **Note:** You can skip the partitioning mentioned in the Switchroot documentation. You already did this during the guide and do *not* have to do so again.
+* **Note:** You can skip the partitioning mentioned in the Switchroot documentation. You already did this during the guide and do *not* have to do so again.
If you already have Linux fully installed, do not follow this guide, as your current installation would be erased.
------
+---
+
+::: tip
-#### Need Help?
+**Need Help?**
Join the [Switchroot Discord server](https://discord.gg/N9PPYXjWMY).
------
+:::
::: info
@@ -37,23 +41,23 @@ Join the [Switchroot Discord server](https://discord.gg/N9PPYXjWMY).
Unfortunately, L4S Arch Linux is deprecated following an xorg ABI change that breaks compatibility with the Tegra210 BSP.
:::
-
+
::: details L4S Project Staff (Android / Linux)
This page was made in collaboration with `makinbacon21` on Discord.
If you'd like, you can donate to the people who made this project possible using these links.
-- CTCaer (Linux & Low level developer, hekate maintainer)
+* CTCaer (Linux & Low level developer, hekate maintainer)
[https://www.patreon.com/ctcaer](https://www.patreon.com/ctcaer)
-- Azkali (Linux & Low level developer)
+* Azkali (Linux & Low level developer)
[https://www.patreon.com/azkali](https://www.patreon.com/azkali)
-- gavin_darkglider (Linux & Lakka developer)
+* gavin_darkglider (Linux & Lakka developer)
[https://paypal.me/gavindarkglider](https://paypal.me/gavindarkglider)
-- ave (Infrastructure & Hosting)
+* ave (Infrastructure & Hosting)
[https://patreon.com/aveao](https://patreon.com/aveao)
:::
diff --git a/docs/extras/nandrestore.md b/docs/extras/nandrestore.md
index ef09b6ff6..10da32a8c 100644
--- a/docs/extras/nandrestore.md
+++ b/docs/extras/nandrestore.md
@@ -1,21 +1,23 @@
# Restore a NAND backup to the Switch
::: warning
+
**Warning:**
-- This will reset all of your saves, games, system version and other system settings back to the point of when you made the NAND backup. Keep this in mind, as you probably don't have to restore a NAND backup unless you have bricked your Switch or want to go back online safely after using CFW.
-- If you're going to restore an old NAND which will downgrade your firmware it's best to create a second NAND backup before restoring the first one in case something goes wrong.
+* This will reset all of your saves, games, system version and other system settings back to the point of when you made the NAND backup. Keep this in mind, as you probably don't have to restore a NAND backup unless you have bricked your Switch or want to go back online safely after using CFW.
+* If you're going to restore an old NAND which will downgrade your firmware it's best to create a second NAND backup before restoring the first one in case something goes wrong.
:::
-## What you need:
-- Your `rawnand.bin` (Combined or in 15 or 30 parts)
-- Your `BOOT0` and `BOOT1`
- - If you're missing any of the files above, ask for further help in the [Nintendo Homebrew](https://discord.gg/C29hYvh) Discord server.
-- The [Hekate](https://github.com/CTCaer/hekate/releases/) Payload
-- A microSD card larger than 32GB
+## Section I - Requirements
+
+* Your `rawnand.bin` (Combined or in 15 or 30 parts)
+* Your `BOOT0` and `BOOT1`
+ * If you're missing any of the files above, ask for further help in the [Nintendo Homebrew](https://discord.gg/C29hYvh) Discord server.
+* The [Hekate](https://github.com/CTCaer/hekate/releases/) Payload
+* A microSD card larger than 32GB
-## Instructions:
+## Section II - Instructions
Before we start, check if you have a tree of folders called `backup/[8 Character NAND id]/restore` on your microSD card.
@@ -32,13 +34,13 @@ This means you do not have a nand backup, it is highly recommended you make one
:::
1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your SD.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your SD.
1. Navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
1. Copy your `rawnand.bin` (combined or in 15 or 30 parts), `BOOT0`, and `BOOT1` to the `backup/[8 Character NAND id]/restore` folder on the microSD card.
1. Eject the `UMS` device safely from within your computer's operating system.
1. Navigate to `Tools` > `Restore eMMC`. Select `Restore eMMC BOOT0 & BOOT1`. Wait for this process to complete.
1. In that same menu, select `eMMC RAW GPP` and wait for the process to complete.
- - This will generally take a long time to complete, the time it takes depends on your microSD card's specifications. (10-15 minutes is expected.)
+ * This will generally take a long time to complete, the time it takes depends on your microSD card's specifications. (10-15 minutes is expected.)
::: danger
@@ -46,7 +48,7 @@ This means you do not have a nand backup, it is highly recommended you make one
If the security version you were on before you performed the NAND restore is HIGHER than the NAND backup itself, you have to enable autoRCM to not get stuck in a boot crash.
-- Note: This section can be disregarded for modchipped Switch users.
+* Note: This section can be disregarded for modchipped Switch users.
A system update is considered a security version when a fuse is burned, you can check **[which versions burn fuses here](https://switchbrew.org/wiki/Fuses#Anti-downgrade)**.
diff --git a/docs/extras/rcm_injectors.md b/docs/extras/rcm_injectors.md
index 90cafc5ef..8dc15e283 100644
--- a/docs/extras/rcm_injectors.md
+++ b/docs/extras/rcm_injectors.md
@@ -2,15 +2,15 @@
There are currently multiple RCM payload injectors available from multiple different companies and individuals. These devices remove the need to use a computer or smartphone when hacking an unpatched Switch. Each injector has its own advantages and disadvantages, listed below:
-| Name | Manufacturer | RCM Jig Included? | RCM Jig Storage? | Standard Payload (.bin) Support? | Payload on SD Support? | Multi-Payload Support? | Battery Life | Recharge Time | Price (USD) | Misc Info
+| Name | Manufacturer | RCM Jig Included? | RCM Jig Storage? | Standard Payload (.bin) Support? | Payload on SD Support? | Multi-Payload Support? | Battery Life | Recharge Time | Price (USD) | Misc Info |
|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|:-|
-| [AceNS (Old)](img/rcm_injectors/AceNS(Old).jpg) | Ace3DS Team | ✔️ | ❌ | ✔️ | ❌ | ✔️ | N/A (Capacitors) | 10 seconds | $18.00 (**Discontinued**) | **Not Recommended:** Overpriced clone of the RCMLoader Zero |
+| [AceNS (Old)](img/rcm_injectors/AceNS(Old).jpg) | Ace3DS Team | ✔️ | ❌ | ✔️ | ❌ | ✔️ | N/A (Capacitors) | 10 seconds | ~~$18.00~~ (**Discontinued**) | **Not Recommended:** Overpriced clone of the RCMLoader Zero |
| [AceNS (New)](img/rcm_injectors/AceNS(New).jpg) | Ace3DS Team | ✔️ |️ ✔️ | ✔️ | ❌ | ✔️ | 45mAh LiPo (~1000 injections) | 1 hour | $17.50 | **Not Recommended:** Overpriced clone of the RCMLoader One |
| [AceNS Pro](img/rcm_injectors/AceNSPro.jpg) | Ace3DS Team | ✔️ | ✔️ | ✔️ | ✔️ (**Required**) | ❌ | 45mAh LiPo (~1000 injections) | 1 hour | $42.90 | **Not Recommended:** Overpriced clone of the RCMLoader One with multiple features missing |
-| [DragonInjector](img/rcm_injectors/DragonInjector.jpg) | MatinatorX | ✔️ | ✔️ | ✔️ | ✔️ (**Required**) | ✔️ | 40mAh CR1612 (~4000 injections) | Non-Rechargeable (Replacable) | $30.00 (**Discontinued**) | Fits in the Switch's gamecard slot
+| [DragonInjector](img/rcm_injectors/DragonInjector.jpg) | MatinatorX | ✔️ | ✔️ | ✔️ | ✔️ (**Required**) | ✔️ | 40mAh CR1612 (~4000 injections) | Non-Rechargeable (Replacable) | ~~$30.00~~ (**Discontinued**) | Fits in the Switch's gamecard slot |
| [NS-Atmosphere](img/rcm_injectors/NS-Atmosphere.jpg) | Generic | ✔️ | ✔️ | ❌ | ❌ | ❌ | 150mAh LiPo (>1000 injections) | >1 hour | $13.15 | **Not Recommended:** Unsafe jig, overly bulky, changing payload requires installing a program, lack of .bin support complicates usage |
-| [R4S](img/rcm_injectors/R4S.jpg) | R4i-SDHC Team | ✔️ | ❌ | ✔️ | ✔️ | ❌ | 120mAh LiPo (~1000 injections) | 1 hour | $19.99 |
-| [RCMLoader Zero](img/rcm_injectors/RCMLoaderZero.jpg) | Xkit | ✔️ | ❌ | ✔️ | ❌ |️ ✔️ | N/A (Capacitors) | 10 seconds | $5.99 (**Discontinued**) |
-| [RCMLoader One](img/rcm_injectors/RCMLoaderOne.jpg) | Xkit | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | 45mAh LiPo (~1000 injections) | 1 hour | $9.99 |
-| [SX Gear](img/rcm_injectors/SXGear.jpg) | Team Xecuter | ✔️ | ❌ | ❌ | ✔️ (**Required**) | ❌ | N/A (Supercapacitors) | 5-10 seconds | $24.95 | **Not Recommended:** Lack of .bin support complicates usage
-| [SX Pro](img/rcm_injectors/SXPro.jpg) | Team Xecuter | ✔️ | ❌ | ❌ | ✔️ (**Required**) | ❌ | N/A (Supercapacitors) | 5-10 seconds | $49.99 | **Not Recommended:** Lack of .bin support complicates usage
+| [R4S](img/rcm_injectors/R4S.jpg) | R4i-SDHC Team | ✔️ | ❌ | ✔️ | ✔️ | ❌ | 120mAh LiPo (~1000 injections) | 1 hour | $19.99 | N/A |
+| [RCMLoader Zero](img/rcm_injectors/RCMLoaderZero.jpg) | Xkit | ✔️ | ❌ | ✔️ | ❌ |️ ✔️ | N/A (Capacitors) | 10 seconds | ~~$5.99~~ (**Discontinued**) | N/A |
+| [RCMLoader One](img/rcm_injectors/RCMLoaderOne.jpg) | Xkit | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | 45mAh LiPo (~1000 injections) | 1 hour | $9.99 | N/A |
+| [SX Gear](img/rcm_injectors/SXGear.jpg) | Team Xecuter | ✔️ | ❌ | ❌ | ✔️ (**Required**) | ❌ | N/A (Supercapacitors) | 5-10 seconds | $24.95 | **Not Recommended:** Lack of .bin support complicates usage |
+| [SX Pro](img/rcm_injectors/SXPro.jpg) | Team Xecuter | ✔️ | ❌ | ❌ | ✔️ (**Required**) | ❌ | N/A (Supercapacitors) | 5-10 seconds | $49.99 | **Not Recommended:** Lack of .bin support complicates usage |
diff --git a/docs/extras/showing_file_extensions.md b/docs/extras/showing_file_extensions.md
index e405b0f11..2ab8ecbb4 100644
--- a/docs/extras/showing_file_extensions.md
+++ b/docs/extras/showing_file_extensions.md
@@ -2,13 +2,13 @@
By default, Microsoft Windows 10 and 11 do not show file extensions for known file types. This can result in problems when you need to rename files.
-## Instructions for Windows 10:
+## Instructions for Windows 10
1. Open a new File Explorer window.
1. Switch to the View tab/ribbon.
1. On this tab, if the `File name extensions` checkbox is not ticked, put a check/tick mark in it by clicking it.
-## Instructions for Windows 11:
+## Instructions for Windows 11
1. Open a new File Explorer window.
1. Click the `View` hamburger menu/dropdown menu.
diff --git a/docs/extras/transfer_sd.md b/docs/extras/transfer_sd.md
index 95aae3348..3cb47893c 100644
--- a/docs/extras/transfer_sd.md
+++ b/docs/extras/transfer_sd.md
@@ -1,25 +1,37 @@
+---
+outline: false
+---
+
# Changing microSD cards
The goal of this page is to transfer the contents from one microSD card to another one. The method to do this will differ, depending on whether you're using a partition based emuMMC on your microSD card or not.
We will be using [hekate](https://github.com/CTCaer/hekate/releases/) to both backup and restore the emuMMC, so make sure that you have its latest files on your microSD card already.
-### Checking whether you have a Partition or File based emuMMC:
+::: warning
+
+If you follow the steps on this guide and find that you are suddenly unable to open your homebrew or games due to "corrupted data", you likely need to unset archive bits on your SD card. Instructions for this process can be found on the [FAQ page](../faq.md#my-homebrew-apps-are-not-showing-up-in-the-homebrew-menu).
+
+:::
+
+## Preparation
You should first check whether you have a file or partition based emuMMC:
1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
-1. Tap on the `emuMMC` button.
-1. Under `emuMMC Info & Selection`, check the text next to `Type`.
- - If you have one it should be either `SD Raw Partition` or `SD File`.
- - If you have no emuMMC, it'll be disabled.
-
-#### Depending on if you're using a Partition based emuMMC or File based emuMMC/no emuMMC at all, click the corresponding tab below:
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
+1. Tap on the `emuMMC` button.
+1. Under `emuMMC Info & Selection`, check the text next to `Type`.
+ * If you have one it should be either `SD Raw Partition` or `SD File`.
+ * If you have no emuMMC, it'll be disabled.
+
+::: tip
-
+Depending on whether you are using a partition based emuMMC, file based emuMMC, or no emuMMC at all, click the corresponding tab below.
-::::: tabs
+:::
+
+::::: tabs
:::: tab default Partition based emuMMC
@@ -31,74 +43,70 @@ You need at least 30GB (or 60GB if using an OLED Switch) of free space to be abl
:::
-#### What you need:
-
-- The latest version of [hekate](https://github.com/CTCaer/Hekate/releases/) (`hekate_ctcaer_(version).zip`).
-
-#### On your OLD microSD card:
-
-1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
-1. From hekate's `Home` menu, navigate to `Tools` > `Backup eMMC`, set `SD EmuMMC Raw Partition` at the bottom of your screen to `ON`.
-1. Backup both `SD emuMMC BOOT0 & BOOT1` and `SD emuMMC RAW GPP` (Note: `SD emuMMC RAW GPP` may take a while).
-1. Once both are done, go back to the main menu, navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
-1. If Windows asks you to format a drive, discard it and open the accessible drive containing the contents of your microSD card.
-1. Copy the contents of your old microSD card somewhere to your PC.
-
------
-
-#### On your NEW microSD card:
-
-1. Copy the *contents* of the previously downloaded hekate `.zip` to the root of your new microSD card.
-1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
-1. Navigate to `Tools` > `Partition SD card` once in hekate/Nyx.
-1. Set the `emuMMC (RAW)` slider to `29 FULL` in the middle of the bar.
- - Set the `emuMMC (RAW)` slider to `58 FULL` if you're on an OLED Switch.
- - If you wish to install Android and/or Linux later, partition your microSD card here accordingly by moving the sliders you see during this step. We recommend setting the `Android (USER)` and `Linux (EXT4)` sliders to at least 16GB.
-1. Navigate to `Next Step` at the bottom right, then select `Start` in the menu that appears.
- - For Android; Select `Dynamic` partitioning for Android 13+ and `Legacy` partitioning for Android 10/11. Note that Android 10/11 are no longer supported, Legacy and Dynamic partitioning are also **NOT** intercompatible.
-1. After it’s done, return to hekate's `Home` menu and navigate to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
-1. Copy the backup you made of your old microSD card on your PC to your new microSD card, replacing files if/when prompted.
-1. Navigate to `/backup//emummc` on your new microSD card and move `BOOT0`, `BOOT1` and the `rawnand.bin.xx` files to `/backup//restore/emummc`.
-1. Eject the `UMS` device safely from within your computer's operating system.
-1. From hekate's `Home` menu, navigate to `Tools` > `Restore eMMC`, set `SD EmuMMC Raw Partition` at the bottom of your screen to `ON`.
-1. Restore the backup by tapping on both `SD emuMMC BOOT0 & BOOT1` and `SD emuMMC RAW GPP` (Note: `SD emuMMC RAW GPP` may take a while).
- - It's important that for both of these options the `SD emuMMC Raw Partition` option is enabled, otherwise you could be altering your sysMMC
+## Section I - Requirements
+
+* The latest version of [hekate](https://github.com/CTCaer/Hekate/releases/) (`hekate_ctcaer_(version).zip`).
+
+## Section II - Instructions for Old microSD card
+
+1. Enter RCM and inject the hekate payload.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
+1. From hekate's `Home` menu, navigate to `Tools` > `Backup eMMC`, set `SD EmuMMC Raw Partition` at the bottom of your screen to `ON`.
+1. Backup both `SD emuMMC BOOT0 & BOOT1` and `SD emuMMC RAW GPP` (Note: `SD emuMMC RAW GPP` may take a while).
+1. Once both are done, go back to the main menu, navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
+1. If Windows asks you to format a drive, discard it and open the accessible drive containing the contents of your microSD card.
+1. Copy the contents of your old microSD card somewhere to your PC.
+
+## Section III - Instructions for New microSD card
+
+1. Copy the *contents* of the previously downloaded hekate `.zip` to the root of your new microSD card.
+1. Enter RCM and inject the hekate payload.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
+1. Navigate to `Tools` > `Partition SD card` once in hekate/Nyx.
+1. Set the `emuMMC (RAW)` slider to `29 FULL` in the middle of the bar.
+ * Set the `emuMMC (RAW)` slider to `58 FULL` if you're on an OLED Switch.
+ * If you wish to install Android and/or Linux later, partition your microSD card here accordingly by moving the sliders you see during this step. We recommend setting the `Android (USER)` and `Linux (EXT4)` sliders to at least 16GB.
+1. Navigate to `Next Step` at the bottom right, then select `Start` in the menu that appears.
+ * For Android; Select `Dynamic` partitioning for Android 13+ and `Legacy` partitioning for Android 10/11. Note that Android 10/11 are no longer supported, Legacy and Dynamic partitioning are also **NOT** intercompatible.
+1. After it’s done, return to hekate's `Home` menu and navigate to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
+1. Copy the backup you made of your old microSD card on your PC to your new microSD card, replacing files if/when prompted.
+1. Navigate to `/backup//emummc` on your new microSD card and move `BOOT0`, `BOOT1` and the `rawnand.bin.xx` files to `/backup//restore/emummc`.
+1. Eject the `UMS` device safely from within your computer's operating system.
+1. From hekate's `Home` menu, navigate to `Tools` > `Restore eMMC`, set `SD EmuMMC Raw Partition` at the bottom of your screen to `ON`.
+1. Restore the backup by tapping on both `SD emuMMC BOOT0 & BOOT1` and `SD emuMMC RAW GPP` (Note: `SD emuMMC RAW GPP` may take a while).
+ * It's important that for both of these options the `SD emuMMC Raw Partition` option is enabled, otherwise you could be altering your sysMMC
which is not what you want.
-1. Your emuMMC is now restored on the new microSD card and you should be able to launch it from `Launch` -> `Atmosphere PKG3 emuMMC` in hekate.
+1. Your emuMMC is now restored on the new microSD card and you should be able to launch it from `Launch` -> `Atmosphere PKG3 emuMMC` in hekate.
::::
-:::: tab File based emuMMC/no emuMMC at all
+:::: tab File based emuMMC OR no emuMMC at all
-#### What you need:
+## Section I - Requirements
-- The latest version of [hekate](https://github.com/CTCaer/Hekate/releases/) (`hekate_ctcaer_(version).zip`).
+* The latest version of [hekate](https://github.com/CTCaer/Hekate/releases/) (`hekate_ctcaer_(version).zip`).
-#### On your OLD microSD card:
+## Section II - Instructions for Old microSD card
1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
1. Navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
1. Copy the contents of your microSD card somewhere to your PC.
------
-
-#### On your NEW microSD card:
+## Section III - Instructions for New microSD card
-1. Copy the *contents* of the previously downloaded hekate `.zip` to the root of your new microSD card.
-1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
+1. Copy the *contents* of the previously downloaded hekate `.zip` to the root of your new microSD card.
+1. Enter RCM and inject the hekate payload.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
1. Format your new microSD card to FAT32 using hekate. To do so, navigate to `Tools` > `Partition SD card` once in hekate/Nyx.
-1. Leave all sliders on their default values.
- - If you wish to install Android and/or Linux later, partition your microSD card here accordingly by moving the sliders you see during this step. We recommend setting the `Android (USER)` and `Linux (EXT4)` sliders to at least 16GB.
-1. Navigate to `Next Step` at the bottom right, then select `Start` in the menu that appears.
- - For Android; Select `Dynamic` partitioning for Android 13+ and `Legacy` partitioning for Android 10/11. Note that Android 10/11 are no longer supported, Legacy and Dynamic partitioning are also **NOT** intercompatible.
-1. Navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
+1. Leave all sliders on their default values.
+ * If you wish to install Android and/or Linux later, partition your microSD card here accordingly by moving the sliders you see during this step. We recommend setting the `Android (USER)` and `Linux (EXT4)` sliders to at least 16GB.
+1. Navigate to `Next Step` at the bottom right, then select `Start` in the menu that appears.
+ * For Android; Select `Dynamic` partitioning for Android 13+ and `Legacy` partitioning for Android 10/11. Note that Android 10/11 are no longer supported, Legacy and Dynamic partitioning are also **NOT** intercompatible.
+1. Navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
1. Copy the backup you made of your old microSD card from your PC (or directly from your old microSD card) to your new microSD card.
1. Eject the `UMS` device safely from within your computer's operating system.
-1. You've successfully followed this guide and your emuMMC is now accessible from `Launch` -> `Atmosphere PKG3 emuMMC` in hekate.
+1. You've successfully followed this guide and your emuMMC is now accessible from `Launch` -> `Atmosphere PKG3 emuMMC` in hekate.
::::
diff --git a/docs/extras/updating.md b/docs/extras/updating.md
index b43c896e0..a1f6bb6e0 100644
--- a/docs/extras/updating.md
+++ b/docs/extras/updating.md
@@ -1,3 +1,7 @@
+---
+outline: false
+---
+
# Keeping your system up-to-date
This page documents how you can keep your system up-to-date.
@@ -6,74 +10,78 @@ After following our guide, your system will consist of three core elements that
## Updating Atmosphère
-When updating Atmosphère, always make sure to _read the release notes_. They may list important changes and modifications to your system.
+When updating Atmosphère, always make sure to *read the release notes*. They may list important changes and modifications to your system.
When a new version of Atmosphère releases, you can update Atmosphère by following these steps:
1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
1. Navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
1. Download the latest release of [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere/releases) (Download the `atmosphere-(version)-master-(version)+hbl-(version)+hbmenu-(version).zip` release of Atmosphère.)
1. Copy *the contents of* the Atmosphère `.zip` file to the root of your microSD card.
- - If you are prompted to overwrite files, do so.
+ * If you are prompted to overwrite files, do so.
1. Eject the `UMS` device safely from within your computer's operating system.
1. (If your hekate is not on the latest version) update hekate via the steps below.
## Updating hekate
-When updating hekate always make sure to _read the release notes_. They may list important changes and modifications to your system.
+When updating hekate always make sure to *read the release notes*. They may list important changes and modifications to your system.
When a new version of hekate releases, you can update by following these steps:
1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
1. Navigate to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
1. Download the latest version of [hekate](https://github.com/CTCaer/Hekate/releases/) (Download the `hekate_ctcaer_(version).zip` release of hekate).
1. Copy the `bootloader` folder from the hekate `.zip` file to the root of your microSD card. If you are asked to overwrite or merge files while copying, say yes to merge/overwrite them.
1. Eject the `UMS` device safely from within your computer's operating system.
1. Go back to hekate's main menu and press `Reload` > `Reload` to reload hekate from your microSD card.
1. From here, you're done and you can boot into CFW and update your firmware. (See sections below.)
- - **Note:** If your system does *not* boot as expected after updating, please consult the [Common crashes after updating](#common-crashes-after-updating) section below.
-
+ * **Note:** If your system does *not* boot as expected after updating, please consult the [Common crashes after updating](#common-crashes-after-updating) section below.
## Updating your firmware
-Always check _before_ updating your system firmware if the latest version of Atmosphère _as well_ as the latest version of hekate support the firmware version you are updating towards.
-
-### Updating your sysMMC's firmware
-
-- Before continuing with this guide, make sure your sysMMC is up to date. If your sysMMC is not up-to-date, do the following depending on whether your Switch is modchipped or not:
-
- :::::: danger
- # **Note regarding updating towards major firmware versions**
-
- Updating your Switch firmware should be done via OFW or Stock on modchipped consoles when updating towards a major firmware version. The term "major" in Switch firmware version means that the first number in the firmware version number has changed. An example of a major firmware version update would be updating from `20.5.0` to `21.0.0`, the first number is the major firmware version number. You may also want to do the same thing for minor firmware versions (for example, updating from `21.1.0` to `21.2.0`).
-
- The reason why updating via OFW/Stock is recommended on modchipped consoles is because it ensures that you properly burn your e-fuses and preserve the ability to boot OFW afterwards (in the situations where Atmosphere and/or hekate haven't been updated to support the firmware version you've updated to). In rare instances, it also prevents issues that *can* occur when updating via sysCFW (incomplete firmware updates, improperly updated BOOT0/BOOT1 partitions, etc).
-
- #### Click one of the tabs below depending on your situation:
-
-
-
- ::::: tabs
-
- :::: tab default Modchipped-console users
- - **Modchipped-console users:** Boot hekate/Nyx, navigate to `Reboot` > `OFW` from hekate's `Home` menu and then update through `System Settings` > `System` > `System Update`.
- - **Note:** If you cannot boot `OFW`, please boot `Stock sysMMC` from hekate's `Launch` menu instead.
- ::::
-
- :::: tab Unpatched/Non hardware modified-console users
- - **Unpatched/Non hardware modified-console users:** Boot hekate/Nyx, navigate to `Launch` > `Atmosphere PKG3 sysMMC` (may be called something different if you aren't using our guide's hekate configuration) and then update your firmware via `System Settings` > `System` > `System Update`.
- - **Note:** If you have an unpatched Switch, have autoRCM enabled and you're updating your system while booted into Stock or OFW, **updating will disable autoRCM** and you will need to enter RCM manually to boot custom firmware again. To prevent autoRCM from being disabled, boot sysCFW and update through settings from there, as booting without AutoRCM will burn any preserved e-fuses.
- ::::
-
- :::::
-
- Once you've successfully updated your firmware, continue with the rest of the guide below.
-
- ::::::
-
-### About emuMMC
+Always check *before* updating your system firmware if the latest version of Atmosphère *as well* as the latest version of hekate support the firmware version you are updating towards.
+
+### Section I - Updating your sysMMC's firmware
+
+::: warning
+
+Before continuing with this guide, make sure your sysMMC is up to date. If your sysMMC is not up-to-date, perform the steps in this section **whether your Switch is modchipped or not**.
+
+:::
+
+::: danger
+
+**Note regarding updating towards major firmware versions**
+
+Updating your Switch firmware should be done via OFW or Stock on modchipped consoles when updating towards a major firmware version. The term "major" in Switch firmware version means that the first number in the firmware version number has changed. An example of a major firmware version update would be updating from `20.5.0` to `21.0.0`, the first number is the major firmware version number. You may also want to do the same thing for minor firmware versions (for example, updating from `21.1.0` to `21.2.0`).
+
+The reason why updating via OFW/Stock is recommended on modchipped consoles is because it ensures that you properly burn your e-fuses and preserve the ability to boot OFW afterwards (in the situations where Atmosphere and/or hekate haven't been updated to support the firmware version you've updated to). In rare instances, it also prevents issues that *can* occur when updating via sysCFW (incomplete firmware updates, improperly updated BOOT0/BOOT1 partitions, etc).
+
+:::
+
+Select the tab that best applies to your situation. Once you've successfully updated your firmware, continue with the rest of the guide below.
+
+::::: tabs
+
+:::: tab Modchipped-console users
+
+* **Modchipped-console users:** Boot hekate/Nyx, navigate to `Reboot` > `OFW` from hekate's `Home` menu and then update through `System Settings` > `System` > `System Update`.
+ * **Note:** If you cannot boot `OFW`, please boot `Stock sysMMC` from hekate's `Launch` menu instead.
+ ::::
+
+:::: tab Unpatched/Non hardware modified-console users
+
+* **Unpatched/Non hardware modified-console users:** Boot hekate/Nyx, navigate to `Launch` > `Atmosphere PKG3 sysMMC` (may be called something different if you aren't using our guide's hekate configuration) and then update your firmware via `System Settings` > `System` > `System Update`.
+ * **Note:** If you have an unpatched Switch, have autoRCM enabled and you're updating your system while booted into Stock or OFW, **updating will disable autoRCM** and you will need to enter RCM manually to boot custom firmware again. To prevent autoRCM from being disabled, boot sysCFW and update through settings from there, as booting without AutoRCM will burn any preserved e-fuses.
+::::
+
+:::::
+
+---
+
+### Section II - Information about emuMMC
Your sysMMC and emuMMC have separate system firmware versions and need to be updated separately.
@@ -85,7 +93,9 @@ If you keep your emuMMC offline, you have 3 options:
Only the first option is covered in the steps below.
-### Updating emuMMC by dumping an updated firmware from your sysMMC
+---
+
+### Section III - Updating emuMMC by dumping an updated firmware from your sysMMC
::: danger
@@ -101,44 +111,46 @@ There are three supported methods of dumping your sysMMC's firmware, these metho
:::: tab default Dumping your firmware via Goldleaf
-#### What you need:
-- The latest release of [Goldleaf](https://github.com/XorTroll/Goldleaf/releases) (`Goldleaf.nro`)
+#### Requirements
+
+* The latest release of [Goldleaf](https://github.com/XorTroll/Goldleaf/releases) (`Goldleaf.nro`)
-#### Preparing your microSD card
+#### Section I - Preparing your microSD card
1. Boot into hekate.
1. Go to `Tools` > `USB Tools` > `SD Card` and connect your Switch to your PC via USB.
1. Download the latest release of `Goldleaf.nro` and place it in `sd:/switch` on your microSD card.
-#### Dumping your sysMMC firmware
-
+#### Section II - Dumping your sysMMC firmware
+
1. Boot into hekate, and navigate to `Launch` > `Atmosphere PKG3 sysMMC`.
- - `Atmosphere PKG3 sysMMC` is sysCFW, this environment may be called something different if you do not use the config we provide in our guide.
-1. Once booted into sysCFW, open the homebrew menu in applet mode by opening the gallery applet on your home menu.
- - Title takeover mode (holding `R` while launching any title on your HOME menu) also works, but isn't *required* for this process.
+ * `Atmosphere PKG3 sysMMC` is sysCFW, this environment may be called something different if you do not use the config we provide in our guide.
+1. Once booted into sysCFW, open the homebrew menu in applet mode by opening the gallery applet on your home menu.
+ * Title takeover mode (holding `R` while launching any title on your HOME menu) also works, but isn't *required* for this process.
1. Find Goldleaf in your homebrew menu and launch the app.
1. Navigate to `Console & Goldleaf settings` > `Firmware and updates` > `Export update` > `Directory`, then wait for Goldleaf to finish dumping your currently installed firmware version.
1. Once done, reboot back to hekate by holding power for 3-4 seconds and selecting `Power Options` > `Restart`, or by using the `Reboot to Payload` homebrew app in your homebrew menu (Erista ("V1") console users only).
::::
-:::: tab default Dumping your firmware via nxdumptool
+:::: tab Dumping your firmware via nxdumptool
+
+#### Requirements
-#### What you need:
-- The latest release of [nxdumptool](https://github.com/DarkMatterCore/nxdumptool/releases) (`nxdt_rw_poc.nro`)
+* The latest release of [nxdumptool](https://github.com/DarkMatterCore/nxdumptool/releases) (`nxdt_rw_poc.nro`)
-#### Preparing your microSD card
+#### Section I - Preparing your microSD card
1. Boot into hekate.
1. Go to `Tools` > `USB Tools` > `SD Card` and connect your Switch to your PC via USB.
1. Download the latest release of `nxdt_rw_poc.nro` and place it in `sd:/switch` on your microSD card.
-#### Dumping your sysMMC firmware
-
+#### Section II - Dumping your sysMMC firmware
+
1. Boot into hekate, and navigate to `Launch` > `Atmosphere PKG3 sysMMC`.
- - `Atmosphere PKG3 sysMMC` is sysCFW, this environment may be called something different if you do not use the config we provide in our guide.
-1. Once booted into sysCFW, open the homebrew menu in applet mode by opening the gallery applet on your home menu.
- - Title takeover mode (holding `R` while launching any title on your HOME menu) also works, but isn't *required* for this process.
+ * `Atmosphere PKG3 sysMMC` is sysCFW, this environment may be called something different if you do not use the config we provide in our guide.
+1. Once booted into sysCFW, open the homebrew menu in applet mode by opening the gallery applet on your home menu.
+ * Title takeover mode (holding `R` while launching any title on your HOME menu) also works, but isn't *required* for this process.
1. Find nxdumptool (`nxdt_rw_poc`) in your homebrew menu and launch the app.
1. Navigate to `dump system update` > `start dump`, then wait for nxdumptool to finish dumping your currently installed firmware version.
1. Once done, reboot back to hekate by holding power for 3-4 seconds and selecting `Power Options` > `Restart`, or by using the `Reboot to Payload` homebrew app in your homebrew menu (Erista ("V1") console users only).
@@ -147,30 +159,32 @@ There are three supported methods of dumping your sysMMC's firmware, these metho
:::: tab Dumping your firmware via TegraExplorer
-#### What you need:
-- The latest release of [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer/releases) (`TegraExplorer.bin`)
+#### Requirements
+
+* The latest release of [TegraExplorer](https://github.com/suchmememanyskill/TegraExplorer/releases) (`TegraExplorer.bin`)
::: warning
On Mariko ("V2") consoles, this method of dumping the sysMMC's firmware requires you to have dumped your console's `prod.keys` prior to starting the steps below. To do this, you will need Lockpick_RCM.
-- We do ***not***, under any circumstance, assist with the sourcing (locating) of the Lockpick_RCM payload, please refrain from asking about where to obtain it.
+
+* We do ***not***, under any circumstance, assist with the sourcing (locating) of the Lockpick_RCM payload, please refrain from asking about where to obtain it.
:::
-#### Preparing your microSD card
+#### Section I - Preparing your microSD card
1. Boot into hekate.
1. Go to `Tools` > `USB Tools` > `SD Card` and connect your Switch to your PC via USB.
1. Download the latest release of `TegraExplorer.bin` and place it `sd:/bootloader/payloads` on your microSD card.
-#### Dumping your sysMMC firmware
+#### Section II - Dumping your sysMMC firmware
1. Boot into hekate and navigate to `Payloads` > `TegraExplorer.bin`.
1. Using the joystick and the A buttons, select the `FirmwareDump.te` script, then select `Dump sysmmc`.
- - If navigation doesn't work with your Joycons, navigating using the volume buttons and selecting using the power button also works.
+ * If navigation doesn't work with your Joycons, navigating using the volume buttons and selecting using the power button also works.
(This is also required for Switch Lite console users.)
1. Wait approximately 1-2 minutes for the script to dump your firmware.
- - It may take a little longer depending on the specifications of your microSD card.
+ * It may take a little longer depending on the specifications of your microSD card.
1. When the script finishes, press any button.
1. Select `Reboot to bootloader/update.bin`.
@@ -178,58 +192,69 @@ On Mariko ("V2") consoles, this method of dumping the sysMMC's firmware requires
:::::
+---
+
#### Updating your emuMMC's firmware with Daybreak
-1. In hekate go to `Launch -> Atmosphere PKG3 emuMMC`.
+1. In hekate go to `Launch` > `Atmosphere PKG3 emuMMC`.
1. Once booted into your emuMMC, open the homebrew menu in applet mode by launching the gallery applet on your HOME menu.
- - Title takeover mode (holding `R` while launching any title on your HOME menu) also works, but isn't *required* for this process.
+ * Title takeover mode (holding `R` while launching any title on your HOME menu) also works, but isn't *required* for this process.
1. Find Daybreak in the homebrew menu and launch it.
1. Tap on `Install` and follow the instructions corresponding to the method you used to dump your firmware below.
- - For users who dumped their firmware using Goldleaf: Navigate to `sd:/switch/Goldleaf/export/update/`.
- - For users who dumped their firmware using nxdumptool: Navigate to `sd:/nxdt_rw_poc/System Update/`.
- - For users who dumped their firmware using TegraExplorer: Navigate to `sd:/tegraexplorer/Firmware/`.
+ * For users who dumped their firmware using Goldleaf: Navigate to `sd:/switch/Goldleaf/export/update/`.
+ * For users who dumped their firmware using nxdumptool: Navigate to `sd:/nxdt_rw_poc/System Update/`.
+ * For users who dumped their firmware using TegraExplorer: Navigate to `sd:/tegraexplorer/Firmware/`.
1. Tap on `Continue` and then `Preserve settings`.
- - If you see the message `Warning: exFAT firmware is missing or corrupt`, you likely don't have the exFAT drivers installed on your sysMMC. Just press continue if this is the case.
+ * If you see the message `Warning: exFAT firmware is missing or corrupt`, you likely don't have the exFAT drivers installed on your sysMMC. Just press continue if this is the case.
1. If it is available choose `Install (FAT32 + exFAT)`, otherwise select `Install (FAT32)` and then `Continue`.
1. Wait until Daybreak completes installing the dumped firmware.
1. Once it completes, it will ask if you want to reboot. Tap `Reboot`.
1. Once rebooted, launch into emuMMC and verify your system works. You can verify your system has been properly updated in `System Settings` > `System`, it will tell you the installed firmware version underneath the `System Update` button.
- - **Note:** If your system does *not* boot as expected after updating, please consult the [Common crashes after updating](#common-crashes-after-updating) section below.
+ * **Note:** If your system does *not* boot as expected after updating, please consult the [Common crashes after updating](#common-crashes-after-updating) section below.
## Common crashes after updating
After updating your firmware, you might run into crashes due to incompatible [sysmodules](/homebrew/#terminologies). The following crashes are the most common ones, but is not an exhaustive list.
-- **Note:** hekate and fusee are both bootloaders, these bootloaders have different ways of presenting error screens to the user. Errors displayed by hekate will typically be yellow and errors displayed by fusee will typically be white.
-- Below you will find the way it's presented depending on how you normally boot into CFW.
+* **Note:** hekate and fusee are both bootloaders, these bootloaders have different ways of presenting error screens to the user. Errors displayed by hekate will typically be yellow and errors displayed by fusee will typically be white.
+* Below you will find the way it's presented depending on how you normally boot into CFW.
+
+### Custom theme crash
-#### Custom theme crash
::: tip

:::
-This crash typically happens due to the currently installed custom theme not being compatible with the HOME menu of your currently installed firmware version. In order to fix this crash, navigate to `sd:/atmosphere/contents` and delete the folder named `0100000000001000`. You may reinstall your custom theme afterwards using the `Installing a theme` section [here](/homebrew/nxtheme-installer.html#installing-a-theme).
+This crash typically happens due to the currently installed custom theme not being compatible with the HOME menu of your currently installed firmware version. In order to fix this crash, navigate to `sd:/atmosphere/contents` and delete the folder named `0100000000001000`. You may reinstall your custom theme afterwards using the [NXTheme Installer guide](/homebrew/nxtheme-installer.html#installing-a-theme).
-#### MissionControl crash
+### MissionControl crash
::: tip
-#### hekate crash screen:
+
+### hekate crash screen
+

-#### fusee crash screen:
+
+### fusee crash screen
+

:::
This happens due to your current version of [MissionControl](../homebrew/mission-control) not being compatible with your currently installed Atmosphère version. If there is a newer version of MissionControl available for your currently installed Atmosphère version, you should update to that newer version if you wish to keep using MissionControl. If not, you can fix this crash by navigating to `sd:/atmosphere/contents` and deleting the folder named `010000000000bd00`, which will uninstall MissionControl.
-#### ldn_mitm crash
+### ldn_mitm crash
::: tip
-#### hekate crash screen:
+
+### hekate crash screen
+

-#### fusee crash screen:
+
+### fusee crash screen
+

:::
@@ -256,29 +281,29 @@ If you still run into issues at this point, please ask for assistance in `#switc
::: warning
-#### **Updating from below Atmosphère 1.0.0**
+**Updating from below Atmosphère 1.0.0**
-If you update from below Atmosphère 1.0.0, there are additional steps to follow. You will have to delete the `sept` folder from your microSD, delete `fusee-secondary.bin` from your `atmosphere` folder and update your hekate config file: hekate_ipl.ini in the `bootloader` folder.
+If you update from below Atmosphère 1.0.0, there are additional steps to follow. You will have to delete the `sept` folder from your microSD, delete `fusee-secondary.bin` from your `atmosphere` folder and update your hekate config file: [hekate_ipl.ini](/files/emu/hekate_ipl.ini){download} in the `bootloader` folder.
:::
-#### **Gamecard reader firmware**
+### **Gamecard reader firmware**
-In addition, updating to or past some firmwares update the firmware of the gamecard reader of your Switch. Refer to the table below for information about which firmware updates updated the firmware of the gamecard reader.
+In addition, updating to or past some system firmware versions will update your Switch's gamecard reader firmware. Refer to the table below for information about which firmware updates updated the firmware of the gamecard reader.
-| Updating from | Updating towards | Updates gamecard firmware |
-| ------------------------------------ | --------------------------------------------- | ------------------------- |
-| Below 4.0.0 | Below 4.0.0 | No |
-| Below 4.0.0 | 4.0.0 or above | Yes |
-| On or above 4.0.0, but below 9.0.0 | At least 4.0.1 but below 9.0.0 | No |
-| On or above 4.0.0, but below 9.0.0 | 9.0.0 or above | Yes |
-| On or above 9.0.0, but below 11.0.0 | At least 9.0.1 but below 11.0.0 | No |
-| On or above 9.0.0, but below 11.0.0 | 11.0.0 or above | Yes |
-| On or above 11.0.0 but below 12.0.0 | At least 11.0.1 but below 12.0.0 | No |
-| On or above 11.0.0 but below 12.0.0 | 12.0.0 or above | Yes |
-| On or above 12.0.0 but below 14.0.0 | At least 12.0.1 but below 13.2.1 | No |
-| On or above 12.0.0 but below 14.0.0 | 14.0.0 or above | Yes |
-| On or above 14.0.0 | Latest supported Atmosphère & hekate revision | No |
+| Updating from | Updating towards | Updates gamecard firmware |
+| ----------------------------------- | --------------------------------------------- | ------------------------- |
+| Below 4.0.0 | Below 4.0.0 | No |
+| Below 4.0.0 | 4.0.0 or above | Yes |
+| On or above 4.0.0, but below 9.0.0 | At least 4.0.1 but below 9.0.0 | No |
+| On or above 4.0.0, but below 9.0.0 | 9.0.0 or above | Yes |
+| On or above 9.0.0, but below 11.0.0 | At least 9.0.1 but below 11.0.0 | No |
+| On or above 9.0.0, but below 11.0.0 | 11.0.0 or above | Yes |
+| On or above 11.0.0 but below 12.0.0 | At least 11.0.1 but below 12.0.0 | No |
+| On or above 11.0.0 but below 12.0.0 | 12.0.0 or above | Yes |
+| On or above 12.0.0 but below 14.0.0 | At least 12.0.1 but below 13.2.1 | No |
+| On or above 12.0.0 but below 14.0.0 | 14.0.0 or above | Yes |
+| On or above 14.0.0 | Latest supported Atmosphère & hekate revision | No |
If at least one of the versions you are updating towards also updates the gamecard reader's firmware, you will not be able to downgrade below that version without making the gamecard reader unusable until you update.
@@ -287,4 +312,3 @@ Atmosphère and hekate come bundled with patches that automatically disable the
Otherwise, you can safely update your system firmware through the system settings.
::::
-
diff --git a/docs/faq.md b/docs/faq.md
index 08fa84ec8..7c241c63f 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -3,15 +3,14 @@
## What firmware versions are currently hackable?
Currently two hardware revisions of the Switch exist. Any Switch bought or manufactured before the middle of 2018 has a bootrom bug that allows us to run code regardless of the firmware version on the Switch. When Nintendo updates the system, however, CFW will usually need an update to account for it.
-This bug cannot be fixed by Nintendo once the console leaves the factory, unless the console is sent in for repairs. This means that all current and future firmwares will be able to launch CFW through this exploit on the old hardware revision.
+This bug cannot be fixed by Nintendo once the console leaves the factory, unless the console is sent in for repairs. This means that all current and future firmware will be able to launch CFW through this exploit on the old hardware revision.
Any console purchased after approximately August 2018 is **likely** to be patched. This includes the latest units on shelves, referred to as 'red box' or 'Mariko'.
Mariko is hardware patched, but may come on a vulnerable firmware.
Currently the only way to know if your Switch is hackable is by trying to send the payload in RCM.
Even with this exploit fixed, many Switch consoles on 8.0.1 and below will be hackable to some degree in the future (see [Should I update my Firmware?](#should-i-update-my-firmware) for much more detailed information).
The serial number on the back of the box can possibly tell you which consoles are patched and which aren't.
-See [here](https://gbatemp.net/threads/switch-informations-by-serial-number.481215/) for an up to date list.
-
+See [GBAtemp](https://gbatemp.net/threads/switch-informations-by-serial-number.481215/) for an up to date list.
## How do I use fusee-gelee? How can I boot into RCM?
@@ -22,7 +21,6 @@ Once the Switch is in RCM it needs to be connected to either a computer, phone o
This procedure needs to happen every time the Switch boots from a completely "off" state, otherwise the Switch will boot into the stock firmware.
-
## What makes a good jig good? Can I use a paperclip?
Most people prefer to use 3d-printed jigs to enter RCM.
@@ -35,48 +33,45 @@ A good jig uses 32Gauge(0.2mm diameter) wire and is bent in a way that the end o
You can download and 3d-print your own jig and use the pictures on [this website](https://www.thingiverse.com/thing:2892320) to guide you on how to bend the wire correctly.
Premade jigs can be found on online marketplaces for cheap.
-
## Is there an easier way to enter RCM?
To enter RCM more comfortably a solution called "AutoRCM" exists.
Once set up, this method will always boot the Switch into RCM, even without a jig or holding any buttons.
This works by "bricking" the Switch in a controlled manner.
The Switch detects that something is wrong and boots into RCM to get repaired.
-The big downside of this method is, that it is impossible to boot the Switch without a computer, phone or dongle, as it will never boot into stock firmware by itself, and that it requires an SD card with the proper CFW files on it at all times. In addition, if the battery of the Switch is completely drained, the Switch will need to charge to at least 10% in hekate before launching Atmosphère, otherwise the Switch will refuse to boot due to the low battery. Charging in RCM is not recommended as this is very slow. AutoRCM can be reversed, but it is advised to keep a working NAND and BOOT0/1 backup before using it.
+The big downside of this method is, that it is impossible to boot the Switch without a computer, phone or dongle, as it will never boot into stock firmware by itself, and that it requires a microSD card with the proper CFW files on it at all times. In addition, if the battery of the Switch is completely drained, the Switch will need to charge to at least 10% in hekate before launching Atmosphère, otherwise the Switch will refuse to boot due to the low battery. Charging in RCM is not recommended as this is very slow. AutoRCM can be reversed, but it is advised to keep a working NAND and BOOT0/1 backup before using it.
Many Android-phones are able to send the exploit to the Switch, making them a perfect portable way to launch CFW. Different designs for portable dongles exist, ranging from Raspberry Pi Zero and Arduino projects to internal dongles, that work completely autonomous. The latter should only be done by advanced users, as it requires soldering onto the Switch mainboard itself.
-
## Should I update my Firmware?
-If your Switch is one of the new hardware revisions that patched the exploit in RCM and you are on firmware 7.0.1 or lower, you should not update if you want to have CFW in the forseeable future.
+If your Switch is one of the new hardware revisions that patched the exploit in RCM and you are on firmware 7.0.1 or lower, you should not update if you want to have CFW in the foreseeable future.
-If your Switch is one of the older hardware revisions and you don't mind having to use jigs/hardmods/AutoRCM and sending the exploit via computer, phone or dongle everytime you want to launch into CFW then it is completely safe to update.
+If your Switch is one of the older hardware revisions and you don't mind having to use jigs/hardmods/AutoRCM and sending the exploit via computer, phone or dongle every time you want to launch into CFW then it is completely safe to update.
If you want the chance to maybe, one day, not have to use a external device, then it is recommended to stay on a FW as low as possible.
-Beware that this means that you potentially need to wait for a very long time (months to years) for this to happen, if ever. Private exploits to launch CFW over the Browser are known to exist for firmwares up to 7.0.1.
+Beware that this means that you potentially need to wait for a very long time (months to years) for this to happen, if ever. Private exploits to launch CFW over the Browser are known to exist for firmware up to 7.0.1.
Downgrading on the Switch is possible, but it requires using AutoRCM and a custom bootloader payload to bypass the Switch's several hardware anti-downgrade mechanisms.
This will not work on an unpatched system, and is practically useless for most users.
On every boot the Switch firmware checks how many e-fuses have been burned and how many e-fuses the Switch expects to be burned.
Major updates to the Switch, or updates in which a large vulnerability has been patched, irreversibly burn one of the Switch's 64 "e-fuses".
*If the Switch ever detects that more e-fuses have been burned than expected (meaning a downgrade happened), it will refuse to boot. Replacing e-fuses is not an option.*
-You can find more information about fuses [here](https://switchbrew.org/wiki/Fuses#Anti-downgrade).
-Atmosphèreis maintained to support the latest firmware updates on unpatched units. The situation for patched and new units is as follows:
+You can find more information about fuses on [SwitchBrew](https://switchbrew.org/wiki/Fuses#Anti-downgrade).
+Atmosphère is maintained to support the latest firmware updates on unpatched units. The situation for patched and new units is as follows:
-- **"Old"** *Patched Switch (HAC-001): Do NOT update past 7.0.1. Units on 7.0.1 and below will eventually get CFW. Patched units that have upgraded to 8.0.0 or 8.0.1 will likely get homebrew.*
+* **"Old"** *Patched Switch (HAC-001): Do NOT update past 7.0.1. Units on 7.0.1 and below will eventually get CFW. Patched units that have upgraded to 8.0.0 or 8.0.1 will likely get homebrew.*
-- **"New"** *Switch (HAC-001(-01): Do NOT update past 8.0.1. Units on 8.0.1 and below will likely get homebrew. Units on 8.1.0 and higher are not expected to be hacked and can be updated.*
+* **"New"** *Switch (HAC-001(-01): Do NOT update past 8.0.1. Units on 8.0.1 and below will likely get homebrew. Units on 8.1.0 and higher are not expected to be hacked and can be updated.*
-- **Switch Lite** *(HDH-001): Do NOT update past 8.0.1. Units on 8.0.1 and below will likely get homebrew. Units on 8.1.0 and higher are not expected to be hacked and can be updated.*
+* **Switch Lite** *(HDH-001): Do NOT update past 8.0.1. Units on 8.0.1 and below will likely get homebrew. Units on 8.1.0 and higher are not expected to be hacked and can be updated.*
A method to update without burning e-fuses exists, but, like downgrading, it forces you to use AutoRCM and sending the exploit via USB every time, as booting into the stock firmware even once would instantly burn the e-fuse. Note that other anti-downgrade mechanisms exist, making it for example impossible to boot game carts on a firmware below 4.1/9.0.0 if the Switch has ever launched a game on firmware 4.1+/9.0.0+. This can only be worked around by completely disabling the game cart slot while on 4.1/9.0.0 or greater, which is similarly impractical for most users.
-
## Is it safe to use homebrew? Will I get banned?
The Switch comes with a lot of telemetry, and has been called a "telemetry monster" by several prominent developers.
As long as the Switch is connected to the internet, Nintendo gets a report about a lot of different actions and states and has the option to log or act on them.
-Even if the Switch is offline and connects to the internet at a later point, Nintendo still recieves information about what happened while the Switch was disconnected.
+Even if the Switch is offline and connects to the internet at a later point, Nintendo still receives information about what happened while the Switch was disconnected.
To disable some of this telemetry, it is advised to disable the sending of error reports in the System Settings of the Switch.
Additionally if you live in the EU you can set the "do not share" option on [Nintendo's website](https://accounts.nintendo.com/setting) to prevent your Switch from sending a lot of telemetry, although the effectiveness of this is questionable.
@@ -88,12 +83,13 @@ They have also shown to expand their telemetry options with every other firmware
::: warning
**Currently all bans have been for very obvious and intrusive actions, specifically:**
-- Developers using their unique Switch data to poke and reverse-engineer Nintendos Server responses
-- People pirating games and using them online
-- People changing their profile pictures to custom pictures
-- People using savegame editors to unlock content that is not available yet and using it online (Splatoon 2)
-- People cheating online in general (Modifying Cart stats in MK8)
-- People installing homebrew NSP files, which Nintendo can pick up on with their telemetry
+
+* Developers using their unique Switch data to poke and reverse-engineer Nintendo's Server responses
+* People pirating games and using them online
+* People changing their profile pictures to custom pictures
+* People using savegame editors to unlock content that is not available yet and using it online (Splatoon 2)
+* People cheating online in general (Modifying Cart stats in MK8)
+* People installing homebrew NSP files, which Nintendo can pick up on with their telemetry
:::
@@ -102,7 +98,7 @@ Atmosphère stops some, but ***not all*** of Nintendo's telemetry, and prevents
Atmosphère is not a silver bullet, and this does not mean that Nintendo won't decide to ban people for harmless homebrew in the future. If you are scared to get banned then don't use homebrew for now. Atmosphère now supports emuMMC (emuNAND): a copy of Switch system software, run entirely from the microSD card instead.
This erases ban risks due to the fact that emuMMC is run in a quarantined, offline state, not touching the internal memory. You are still able to boot into original firmware to play online.
-For patched units reliant on deja-vu, sysNAND will always have to be on a firmware below 4.1. For Switch versions from 5.0 to 7.0.1 deja-vu isn't quite out yet but will come eventually. (Also please note that firmwares 8.0.0+ will never work with deja-vu) You can use an updated emuMMC dedicated to online/clean play, while your sysNAND is used offline for custom firmware.
+For patched units reliant on deja-vu, sysNAND will always have to be on a firmware below 4.1. For Switch versions from 5.0 to 7.0.1 deja-vu isn't quite out yet but will come eventually. (Also please note that firmware versions 8.0.0+ will never work with deja-vu) You can use an updated emuMMC dedicated to online/clean play, while your sysNAND is used offline for custom firmware.
We do not recommend the use of ReiNX or SX OS for many reasons, primary among them that they use lots of assets from Atmosphère and offer no real benefit that Atmosphère does not offer anyway.
We also do not recommend Kosmos, as its large amount of extras on top of regular Atmosphère make it difficult to troubleshoot strange issues.
@@ -114,14 +110,13 @@ Additionally, it is advised to use 90DNS which blocks connections to any Nintend
Homebrew can come in two different formats, namely in `nro` files and in `bin` files.
-- `nro` Files are placed in the `switch` folder on your microSD card and can be launched using the Homebrew menu.
-- `bin` This format is used as a payload and is to be pushed in RCM using a payload launcher like tegrarcmgui on windows and fusee-interfacee-tk on other operating systems.
+* `nro` Files are placed in the `switch` folder on your microSD card and can be launched using the Homebrew menu.
+* `bin` This format is used as a payload and is to be pushed in RCM using a payload launcher like tegrarcmgui on windows and fusee-interfacee-tk on other operating systems.
**Homebrew risks**
*Be careful with launching downloaded homebrew! If you don't know the source, it's best not to launch it.*
*Homebrew can potentially damage your system! Atmosphère provides protections against common bricking methods, but these are not guaranteed to always work!*
-
## What microSD card/format should I use?
microSD cards that are 32GB or smaller can be used for homebrew, but are not recommended as these will not permit you to have a full NAND dump and/or an emuMMC on them.
@@ -130,29 +125,23 @@ The recommended microSD card size is 128GB. This will permit you to make a full
The recommended filesystem format is FAT32. While the Switch supports exFAT through an additional update from Nintendo, this filesystem is prone to corruption and as a result is not advisable.
-
-
## Fake microSD cards
Do not buy microSD cards from sites like eBay.
These microSD cards are often fake and do not have the advertised amount of storage and will result in data corruption if used.
Amazon has had some problems with fake microSD cards, so we recommend buying them at a physical store. Even on trustworthy sites, *always, always check reviews on a product before buying!!*
-
-If you suspect your microSD card is fake or damaged, see the instructions [here](https://wiki.hacks.guide/wiki/Checking_SD_card_integrity) to verify the integrity of your microSD card.
-
-
-
+If you suspect your microSD card is fake or damaged, see the instructions on the [hacks.guide Wiki](https://wiki.hacks.guide/wiki/Checking_SD_card_integrity) to verify the integrity of your microSD card.
## My Homebrew apps are not showing up in the Homebrew menu!
-This is an issue primarily affecting macOS users, but may occur on other devices as well. If you are able to launch the homebrew menu, but you are not seeing some or any of your Homebrew apps, you may need to unset the archive bit with hekate.
+This is an issue primarily affecting macOS users, but may occur on other devices as well. If you are able to launch the homebrew menu, but you are not seeing some or any of your Homebrew apps, you may need to unset archive bits with hekate.
1. Inject the hekate payload using your favorite payload injector.
- - If you have a modchipped Switch, place the hekate payload on the root of your microSD card and rename it to payload.bin, reinsert your microSD card into your Switch and turn it on.
+ * If you have a modchipped Switch, place the hekate payload on the root of your microSD card and rename it to payload.bin, reinsert your microSD card into your Switch and turn it on.
1. Press `Tools` on the top menu bar.
1. In the bottom right corner, press `Arch Bit • AutoRCM • Touch • Pkg1/2`.
1. Press `Fix Archive bit` - this might take a while.
1. Press `Close` in the top right corner.
1. Press `Home` in the top menu bar to get back from where you started.
-1. Follow the instructions at the Launching CFW page [here](user_guide/all/launching_cfw) to launch Atmosphère.
+1. Follow the instructions at the [Launching CFW](user_guide/all/launching_cfw) page to launch Atmosphère.
diff --git a/docs/fusee_gelee.md b/docs/fusee_gelee.md
index 4917002b2..e8e2e23ee 100644
--- a/docs/fusee_gelee.md
+++ b/docs/fusee_gelee.md
@@ -1,4 +1,4 @@
-## **Vulnerability Disclosure: Fusée Gelée**
+# **Vulnerability Disclosure: Fusée Gelée**
This report documents Fusée Gelée, a coldboot vulnerability that allows full,
unauthenticated arbitrary code execution from an early bootROM context via Tegra
@@ -8,17 +8,17 @@ Processor (BPMP) before any lock-outs take effect, this vulnerability compromise
the entire root-of-trust for each processor, and allows exfiltration of secrets
e.g. burned into device fuses.
- Quick vitals: | |
---------------------|--------------------------------------------------------
- *Reporter:* | Katherine Temkin (@ktemkin)
- *Affiliation:* | ReSwitched (https://reswitched.tech)
- *E-mail:* | k@ktemkin.com
- *Affects:* | Tegra SoCs, independent of software stack
- *Versions:* | believed to affect Tegra SoCs released prior to the T186 / X2
- *Impact:* | early bootROM code execution with no software requirements, which can lead to full compromise of on-device secrets where USB access is possible
- *Disclosure* | public disclosure planned for June 15th, 2018
+| Quick vitals: | |
+| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
+| *Reporter:* | Katherine Temkin (@ktemkin) |
+| *Affiliation:* | ReSwitched () |
+| *E-mail:* | |
+| *Affects:* | Tegra SoCs, independent of software stack |
+| *Versions:* | believed to affect Tegra SoCs released prior to the T186 / X2 |
+| *Impact:* | early bootROM code execution with no software requirements, which can lead to full compromise of on-device secrets where USB access is possible |
+| *Disclosure* | public disclosure planned for June 15th, 2018 |
-#### Vulnerability Summary
+## Vulnerability Summary
The USB software stack provided inside the boot instruction rom (IROM/bootROM)
contains a copy operation whose length can be controlled by an attacker. By
@@ -30,9 +30,7 @@ execution can then be used to exfiltrate secrets and to load arbitrary code onto
the main CPU Complex (CCPLEX) "application processors" at the highest possible
level of privilege (typically as the TrustZone Secure Monitor at PL3/EL3).
------
-
-#### Public Disclosure Notice
+## Public Disclosure Notice
This vulnerability is notable due to the significant number and variety of
devices affected, the severity of the issue, and the immutability of the relevant
@@ -48,13 +46,11 @@ the general public and exploit-holders and notifying the public, users will be
able to best assess how this vulnerability impacts their personal threat models.
Accordingly, ReSwitched anticipates public disclosure of this vulnerability:
- * If another group releases an implementation of the identified
- vulnerability; or
- * On June 15th, 2018, whichever comes first.
------
+* If another group releases an implementation of the identified vulnerability; or
+* On June 15th, 2018, whichever comes first.
-### **Vulnerability Details**
+## **Vulnerability Details**
The core of the Tegra boot process is approximated by the following block of
pseudo-code, as obtained by reverse-engineering an IROM extracted from a
@@ -96,9 +92,10 @@ boot_complete:
```
Tegra processors include a USB Recovery Mode (RCM), which we can observe to be activated under a number of conditions:
- * If the processor fails to find a valid Boot Control Table (BCT) + bootloader on its boot media;
- * If processor straps are pulled to a particular value e.g. by holding a button combination; or
- * If the processor is rebooted after a particular value is written into a power management controller scratch register.
+
+* If the processor fails to find a valid Boot Control Table (BCT) + bootloader on its boot media;
+* If processor straps are pulled to a particular value e.g. by holding a button combination; or
+* If the processor is rebooted after a particular value is written into a power management controller scratch register.
USB recovery mode is present in all devices, including devices that have been
production secured. To ensure that USB recovery mode does not allow unauthenticated
@@ -229,15 +226,15 @@ standard USB control requests. The core of this code is responsible for respondi
to USB control requests. A *control request* is initiated when the host sends a
setup packet, of the following form:
-Field | Size | Description
-----------|:----:|-----
-direction | 1b | if '1', the device should respond with data
-type | 2b | specifies whether this request is of a standard type or not
-recipient | 5b | encodes the context in which this request should be considered;
for example, is this about a `DEVICE` or about an `ENDPOINT`?
-request | 8b | specifies the request number
-value | 16b | argument to the request
-index | 16b | argument to the request
-length | 16b | specifies the maximum amount of data to be transferred
+| Field | Size | Description |
+| --------- | :---------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------ |
+| direction | 1b | if '1', the device should respond with data |
+| type | 2b | specifies whether this request is of a standard type or not |
+| recipient | 5b | encodes the context in which this request should be considered;
for example, is this about a `DEVICE` or about an `ENDPOINT`? |
+| request | 8b | specifies the request number |
+| value | 16b | argument to the request |
+| index | 16b | argument to the request |
+| length | 16b | specifies the maximum amount of data to be transferred |
As an example, the host can request the status of a device by issuing a
`GET_STATUS` request, at which point the device would be expected to respond with
@@ -303,15 +300,16 @@ In most cases, the handler correctly limits the length of the transmitted
responses to the amount it has available, per the USB specification. However,
in a few notable cases, the length is *incorrectly always set to the amount
requested* by the host:
- * When issuing a `GET_CONFIGURATION` request with a `DEVICE` recipient.
- * When issuing a `GET_INTERFACE` request with a `INTERFACE` recipient.
- * When issuing a `GET_STATUS` request with a `ENDPOINT` recipient.
+
+* When issuing a `GET_CONFIGURATION` request with a `DEVICE` recipient.
+* When issuing a `GET_INTERFACE` request with a `INTERFACE` recipient.
+* When issuing a `GET_STATUS` request with a `ENDPOINT` recipient.
This is a critical security error, as the host can request up to 65,535 bytes per
control request. In cases where this is loaded directly into `size_to_tx`, this
value directly sets the extent of the `memcpy` that follows-- and thus can copy
up to 65,535 bytes into the currently selected `dma_buffer`. As the DMA buffers
-used for the USB stack are each comparatively short, this can result in a _very_
+used for the USB stack are each comparatively short, this can result in a *very*
significant buffer overflow.
To validate that the vulnerability is present on a given device, one can try
@@ -332,13 +330,14 @@ the layout used by the T210 variant of the affected bootROM:

The major memory regions relevant to this vulnerability are as follows:
- * The bootROM's *execution stack* grows downward from `0x40010000`; so the
+
+* The bootROM's *execution stack* grows downward from `0x40010000`; so the
execution stack is located in the memory *immediately preceding* that address.
- * The DMA buffers used for USB are located at `0x40005000` and `0x40009000`,
+* The DMA buffers used for USB are located at `0x40005000` and `0x40009000`,
respectively. Because the USB stack alternates between these two buffers
once per USB transfer, the host effectively can control which DMA buffer
is in use by sending USB transfers.
- * Once the bootloader's RCM code receives a 680-byte command, it begins to store
+* Once the bootloader's RCM code receives a 680-byte command, it begins to store
received data in a section of upper IRAM located at address `0x40010000`, and can
store up to `0x30000` bytes of payload. This address is notable, as it is immediately
past the end of the active execution stack.
@@ -347,11 +346,12 @@ Of particular note is the adjacency of the bootROM's *execution stack* and the
attacker-controlled *RCM payload*. Consider the behavior of the previous pseudo-code
segment on receipt of a `GET_STATUS` request to the `ENDPOINT` with an
excessive length. The resulting memcpy:
- * copies *up to* 65,535 bytes total;
- * sources data from a region *starting at the status variable on the stack*
+
+* copies *up to* 65,535 bytes total;
+* sources data from a region *starting at the status variable on the stack*
and extending significantly past the stack -- effectively copying mostly
*from the attacker-controllable RCM payload buffer*
- * targets a buffer starting either `0x40005000` or `0x40009000`, at the
+* targets a buffer starting either `0x40005000` or `0x40009000`, at the
attacker's discretion, reaching addresses of up to `0x40014fff` or `0x40018fff`
This is a powerful copy primitive, as it copies *from attacker controlled memory*
@@ -361,16 +361,18 @@ and into a region that *includes the entire execution stack*:
This would be a powerful exploit on any platform; but this is a particularly devastating
attack in the bootROM environment, which does not:
- * Use common attack mitigations such as stack canaries, ostensibly to reduce
+
+* Use common attack mitigations such as stack canaries, ostensibly to reduce
complexity and save limited IRAM and IROM space.
- * Apply memory protections, so the entire stack and all attacker
+* Apply memory protections, so the entire stack and all attacker
controlled buffers can be read from, written to, and executed from.
- * Employ typical 'application-processor' mitigation strategies such as ASLR.
+* Employ typical 'application-processor' mitigation strategies such as ASLR.
Accordingly, we now have:
+
1. The capability to load arbitrary payloads into memory via RCM, as RCM only
validates command signatures once payload receipt is complete.
- 2. The ability to copy attacker-controlled values over the execution stack,
+ 1. The ability to copy attacker-controlled values over the execution stack,
overwriting return addresses and redirecting execution to a location of our
choice.
@@ -381,37 +383,38 @@ operations that precede normal startup are executed. This means, for example,
that the T210 fuses-- and the keydata stored within them-- are accessible from
the attack payload, and the bootROM is not yet protected.
-#### Exploit Execution
+## Exploit Execution
The Fusée Launcher PoC exploits the vulnerability described on the T210 via a
careful sequence of interactions:
+
1. The device is started in RCM mode. Device specifics will differ, but this
is often via a key-combination held on startup.
- 2. A host computer is allowed to enumerate the RCM device normally.
- 3. The host reads the RCM device's ID by reading 16 bytes from the EP1 IN.
- 4. The host builds an exploit payload, which is comprised of:
+ 1. A host computer is allowed to enumerate the RCM device normally.
+ 1. The host reads the RCM device's ID by reading 16 bytes from the EP1 IN.
+ 1. The host builds an exploit payload, which is comprised of:
1. An RCM command that includes a maximum length, ensuring that we can send
as much payload as possible without completing receipt of the RCM payload.
Only the length of this command is used prior to validation; so we can
submit an RCM command that starts with a maximum length of 0x30298, but
which fills the remaining 676 bytes of the RCM command with any value.
- 2. A set of values with which to overwrite the stack. As stack return address
+ 1. A set of values with which to overwrite the stack. As stack return address
locations vary across the series, it's recommended that a large block
composed of a single entry-point address be repeated a significant number
of times, so one can effectively replace the entire stack with that address.
- 3. The program to be executed ("final payload") is appended, ensuring that its
+ 1. The program to be executed ("final payload") is appended, ensuring that its
position in the binary matches the entry-point from the previous step.
- 4. The payload is padded to be evenly divisible by the 0x1000 block size to
+ 1. The payload is padded to be evenly divisible by the 0x1000 block size to
ensure the active block is not overwritten by the "DMA dual-use" bug
described above.
- 5. The exploit payload is sent to the device over EP1 OUT, tracking the number of
- 0x1000-byte "blocks" that have been sent to the device. If this number is _even_,
+ 1. The exploit payload is sent to the device over EP1 OUT, tracking the number of
+ 0x1000-byte "blocks" that have been sent to the device. If this number is *even*,
the next write will be issued to the lower DMA buffer (`0x40005000`); otherwise,
it will be issued to the upper DMA buffer (`0x40009000`).
- 6. If the next write would target the lower DMA buffer, issue another write
+ 1. If the next write would target the lower DMA buffer, issue another write
of a full 0x1000 bytes to move the target to the upper DMA buffer, reducing
the total amount of data to be copied.
- 7. Trigger the vulnerable memcpy by sending a `GET_STATUS` `IN` control
+ 1. Trigger the vulnerable memcpy by sending a `GET_STATUS` `IN` control
request with an `ENDPOINT` recipient, and a length long enough to smash the
desired stack region, and preferably not longer than required.
@@ -419,18 +422,17 @@ A simple host program that triggers this vulnerability is included with this
report: see `fusee-launcher.py`. Note the restrictions on its function in the
following section.
------
-
-### **Proof of Concept**
+## **Proof of Concept**
Included with this report is a set of three files:
- * `fusee-launcher.py` -- The main proof-of-concept accompanying this report.
+
+* `fusee-launcher.py` -- The main proof-of-concept accompanying this report.
This python script is designed to launch a simple binary payload in the
described bootROM context via the exploit.
- * `intermezzo.bin` -- This small stub is designed to relocate a payload from
+* `intermezzo.bin` -- This small stub is designed to relocate a payload from
a higher load address to the standard RCM load address of `0x40010000`. This
allows standard RCM payloads (such as `nvtboot-recover.bin`) to be executed.
- * `fusee.bin` -- An example payload for the Nintendo Switch, a representative
+* `fusee.bin` -- An example payload for the Nintendo Switch, a representative
and well-secured device based on a T210. This payload will print information
from the device's fuses and protected IROM to the display, demonstrating that
early bootROM execution has been achieved.
@@ -438,54 +440,55 @@ Included with this report is a set of three files:
**Support note:** Many host-OS driver stacks are reluctant to issue unreasonably
large control requests. Accordingly, the current proof-of-concept includes code
designed to work in the following environments:
- * **64-bit linux via `xhci_hcd`**. The proof-of-concept can manually submit
+
+* **64-bit linux via `xhci_hcd`**. The proof-of-concept can manually submit
large control requests, but does not work with the common `ehci_hcd` drivers
due to driver limitations. A rough rule of thumb is that a connection via a
blue / USB3 SuperSpeed port will almost always be handled by `xhci_hcd`.
- * **macOS**. The exploit works out of the box with no surprises or restrictions
+* **macOS**. The exploit works out of the box with no surprises or restrictions
on modern macOS.
Windows support would require addition of a custom kernel module, and thus was
beyond the scope of a simple proof-of-concept.
To use this proof-of-concept on a Nintendo Switch:
+
1. Set up an Linux or macOS environment that meets the criteria above, and
which has a working `python3` and `pyusb` as well as `libusb` installed.
- 2. Connect the Switch to your host PC with a USB A -> USB C cable.
- 3. Boot the Switch in RCM mode. There are three ways to do this, but the first--
+ 1. Connect the Switch to your host PC with a USB A -> USB C cable.
+ 1. Boot the Switch in RCM mode. There are three ways to do this, but the first--
unseating its eMMC board-- is likely the most straightforward:
1. Ensure the Switch cannot boot off its eMMC. The most straightforward way to
to this is to open the back cover and remove the socketed eMMC board; corrupting
the BCT or bootloader on the eMMC boot partition would also work.
- 2. Trigger the RCM straps. Hold VOL_UP and short pin 10 on the right
+ 1. Trigger the RCM straps. Hold VOL_UP and short pin 10 on the right
JoyCon connector to ground while engaging the power button.
- 3. Set bit 2 of PMC scratch register zero. On modern firmwares, this requires
+ 1. Set bit 2 of PMC scratch register zero. On modern firmware, this requires
EL3 or pre-sleep BPMP execution.
- 4. Run the `fusee-launcher.py` with an argument of `fusee.bin`. (This requires
+ 1. Run the `fusee-launcher.py` with an argument of `fusee.bin`. (This requires
`intermezzo.bin` to be located in the same folder as `fusee-launcher.py`.)
- ```
- sudo python3 ./fusee-launcher.py fusee.bin
- ```
+```shell
+sudo python3 ./fusee-launcher.py fusee.bin
+```
If everything functions correctly, your Switch should be displaying a collection
of fuse and protected-IROM information:

-
-### **Recommended Mitigations**
+## **Recommended Mitigations**
In this case, the recommended mitigation is to correct the USB control request
handler such that it always correctly constrains the length to be transmitted.
This has to be handled according to the type of device:
-- **For a device already in consumer hands**, no solution is proposed.
+* **For a device already in consumer hands**, no solution is proposed.
Unfortunately, access to the fuses needed to configure the device's ipatches
was blocked when the ODM_PRODUCTION fuse was burned, so no bootROM update
is possible. It is suggested that consumers be made aware of the situation
so they can move to other devices, where possible.
-- **For new devices**, the correct solution is likely to introduce an
+* **For new devices**, the correct solution is likely to introduce an
new ipatch or new ipatches that limits the size of control request responses.
It seems likely that OEMs producing T210-based devices may move to T214 solutions;
diff --git a/docs/homebrew/edizon.md b/docs/homebrew/edizon.md
index f95c3bcb3..715e43682 100644
--- a/docs/homebrew/edizon.md
+++ b/docs/homebrew/edizon.md
@@ -1,12 +1,11 @@
-# Games cheats
-
-## EdiZon
+# Game Cheats with EdiZon
For cheats management, [EdiZon](https://github.com/WerWolv/EdiZon) and/or [EdiZon-SE](https://github.com/tomvita/EdiZon-SE) (up to date and offers more features) are recommended. They offer support for Atmosphère's cheat engine, providing an easy way to download new cheats, as well as toggle them on or off.
-## Installation requirements:
-- An archive manager like [7-Zip](https://www.7-zip.org/)
-- The latest release of [EdiZon](https://github.com/WerWolv/EdiZon/releases) (the `EdiZon.nro` file) or [EdiZon-SE](https://github.com/tomvita/EdiZon-SE/releases) (the `EdiZon.zip` file)
+## Section I - Requirements
+
+* An archive manager like [7-Zip](https://www.7-zip.org/)
+* The latest release of [EdiZon](https://github.com/WerWolv/EdiZon/releases) (the `EdiZon.nro` file) or [EdiZon-SE](https://github.com/tomvita/EdiZon-SE/releases) (the `EdiZon.zip` file)
::: tip
@@ -14,13 +13,15 @@ For cheats management, [EdiZon](https://github.com/WerWolv/EdiZon) and/or [EdiZo
EdiZon also offers a Tesla-Menu overlay, however, the official EdiZon overlay is no longer maintained and will result in Atmosphère crashing when trying to use the EdiZon overlay on firmware version 16.0.0+.
-The maintained EdiZon overlay can be found [here](https://github.com/proferabg/EdiZon-Overlay/releases).
+The maintained overlay can be found on the [EdiZon Overlay GitHub](https://github.com/proferabg/EdiZon-Overlay/releases) repository.
:::
+## Section II - Installation
+
::::: tabs
-:::: tab default Installation instructions (EdiZon):
+:::: tab default EdiZon
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
@@ -29,40 +30,40 @@ The maintained EdiZon overlay can be found [here](https://github.com/proferabg/E
::::
-:::: tab Installation instructions (EdiZon-SE):
+:::: tab EdiZon-SE
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
1. Extract the `.zip` file to a location on your computer.
- - If your archive manager allows for it, you can also simply open the `.zip` file directly.
+ * If your archive manager allows for it, you can also simply open the `.zip` file directly.
1. Copy the *contents* of the (extracted) `.zip` file to the root of your microSD card.
- - **Optional:** You can verify if you've installed EdiZon-SE correctly, you should have a folder called `054e4f4558454000` (EdiZon-SE) in `sd:/atmosphere/contents` and an `EdiZon.nro` file in `sd:/switch/EdiZon`.
+ * **Optional:** You can verify if you've installed EdiZon-SE correctly, you should have a folder called `054e4f4558454000` (EdiZon-SE) in `sd:/atmosphere/contents` and an `EdiZon.nro` file in `sd:/switch/EdiZon`.
1. Boot into CFW.
::::
:::::
-## Usage instructions
+## Section III - Usage
Atmosphère looks for cheats to load in the `contents` sub-folder of the `atmosphere` folder. The template it looks for is `sd:/atmosphere/contents//cheats/.txt`.
You need to create the `` folder and sub-folders manually:
-- `title_id` being the title or program of a game. This is game specific and can be found on EdiZon's cheat menu (TID and BID, see the bottom of this page for a sample), [switchbrew](https://switchbrew.org/wiki/Title_list/Games) and [nswdb](https://nswdb.com/).
- - **Note:** Title ID means the same thing as Program ID.
-- `build_id` being the version of a game. This is game specific and can be found on EdiZon's cheat menu (BID, see the bottom of this page for a sample) Cheats can be version specific so make sure the cheats you are using are compatible with your game version.
+* `title_id` being the title or program of a game. This is game specific and can be found on EdiZon's cheat menu (TID and BID, see the bottom of this page for a sample), [switchbrew](https://switchbrew.org/wiki/Title_list/Games) and [nswdb](https://nswdb.com/).
+ * **Note:** Title ID means the same thing as Program ID.
+* `build_id` being the version of a game. This is game specific and can be found on EdiZon's cheat menu (BID, see the bottom of this page for a sample) Cheats can be version specific so make sure the cheats you are using are compatible with your game version.
**Note:** On Atmosphère 0.9.4 and below `contents` is called `titles`.
Once the title is launched while in Atmosphère, your cheats should be applied.
-## Preventing cheats from being enabled by default
+### Preventing cheats from being enabled by default
To prevent cheats from being enabled by default, you can change your Atmosphère configuration by following the steps below.
1. Copy `system_settings.ini` from `sd:/atmosphere/config_templates` to `sd:/atmosphere/config` if it's not already there.
1. Open the `system_settings.ini` file with a text editor and edit the line `; dmnt_cheats_enabled_by_default = u8!0x1` to `dmnt_cheats_enabled_by_default = u8!0x0`.
- - Make sure you remove the space and the semicolon "`; `" in front of `dmnt_cheats_enabled_by_default`.
+ * Make sure you remove the space and the semicolon "`;`" in front of `dmnt_cheats_enabled_by_default`.
By default, holding the L button while launching a game will disable any game modification.
@@ -70,13 +71,13 @@ Here the Title ID of the game (TID) is `0100646009FBE000` and the Build ID of th

-## Additional information:
+## Section IV - Additional Information
For more in-depth details about Atmosphère's cheat engine, you can refer to [this page](https://github.com/Atmosphere-NX/Atmosphere/blob/master/docs/features/cheats.md).
-## Troubleshooting
+## Section V - Troubleshooting
-### EdiZon isn't showing up when I open the Homebrew menu!:
+### EdiZon isn't showing up when I open the Homebrew menu!
Assuming you've followed the installation instructions successfully, this is probably due to the archive bit being set on one or more folders/files on your microSD card. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
diff --git a/docs/homebrew/file_renamed.png b/docs/homebrew/file_renamed.png
deleted file mode 100644
index 3df4466b3..000000000
Binary files a/docs/homebrew/file_renamed.png and /dev/null differ
diff --git a/docs/homebrew/ftpd.md b/docs/homebrew/ftpd.md
index 6e5280fde..adbfca4a4 100644
--- a/docs/homebrew/ftpd.md
+++ b/docs/homebrew/ftpd.md
@@ -2,12 +2,12 @@
FTPD is simply an FTP server for the Switch, it can be used to transfer files wirelessly to- and from- your microSD card.
-## Usage requirements:
+## Section I - Requirements
-- An FTP client such as [WinSCP](https://winscp.net/eng/download.php) (Windows)
-- Any device that can connect to an FTP server with an FTP client
+* An FTP client such as [WinSCP](https://winscp.net/eng/download.php) (Windows)
+* Any device that can connect to an FTP server with an FTP client
-## Usage instructions:
+## Section II - Usage
::: tip
@@ -20,14 +20,14 @@ This section assumes that the device running the FTP client and your Switch are
1. Launch the FTPD Homebrew app from the Homebrew menu.
1. Open your FTP client of choice.
1. Add a new connection and in the `Host` field of your FTP client, put in the IP address of your Switch mentioned in the top left of FTPD.
- - If applicable in your FTP client, check the `Anonymous` box.
+ * If applicable in your FTP client, check the `Anonymous` box.
1. Type in port `5000` for the port and attempt to connect to your Switch.
1. You should now be able to access your microSD card wirelessly and transfer files to- and from- the microSD card.
-### FTPD's main menu:
+### FTPD's main menu

-## Additional information:
+## Section III - Additional Information
-FTPD can also run in the form of a background process (sysmodule), called sys-ftpd. It can be found [here](https://github.com/cathery/sys-ftpd), usage and configuration options are mentioned there as well.
+FTPD can also run in the form of a background process (sysmodule), called sys-ftpd. More information, as well as usage and configuration options, can be found on the [sys-ftpd GitHub](https://github.com/cathery/sys-ftpd) repository.
diff --git a/docs/homebrew/goldleaf.md b/docs/homebrew/goldleaf.md
index b6fa2ae42..01596334d 100644
--- a/docs/homebrew/goldleaf.md
+++ b/docs/homebrew/goldleaf.md
@@ -2,18 +2,20 @@
Goldleaf is primarily a very extensive file and console content manager.
-## Common use cases for Goldleaf are:
+::: details Common use cases for Goldleaf
-- Account management
-- Browsing your microSD card
-- Browsing the partitions of the internal storage
-- Enabling access to the built-in Switch web browser
-- Export Switch firmware
-- Restoring games to their base game versions
-- File management
+* Account management
+* Browsing your microSD card
+* Browsing the partitions of the internal storage
+* Enabling access to the built-in Switch web browser
+* Export Switch firmware
+* Restoring games to their base game versions
+* File management
-And a *lot* more, which you can view on Goldleaf's Github repository [here](https://github.com/XorTroll/Goldleaf).
+And much more! All of the uses for the application can be found on the [Goldleaf GitHub](https://github.com/XorTroll/Goldleaf) repository.
-## Goldleaf screenshots:
+:::
+
+## Goldleaf screenshots

diff --git a/docs/homebrew/index.md b/docs/homebrew/index.md
index d3bd694f6..dcb57ad77 100644
--- a/docs/homebrew/index.md
+++ b/docs/homebrew/index.md
@@ -2,29 +2,32 @@
This page summarizes the included Homebrew apps and additional Homebrew you can check out.
-### The guide includes a few Homebrew apps by default, these apps are:
+::: tip
-- [JKSV](jksv)
-- [Goldleaf](goldleaf)
-- [FTPD](ftpd)
-- [NXTheme Installer](nxtheme-installer)
-- [NX-Shell](nx-shell)
+The guide includes the following Homebrew apps by default:
-### Terminologies
+* [JKSV](jksv)
+* [Goldleaf](goldleaf)
+* [FTPD](ftpd)
+* [NXTheme Installer](nxtheme-installer)
+* [NX-Shell](nx-shell)
-Homebrew is a general term, the term can be used for Homebrew apps (`.nro` files) or in the form of background processes, called "sysmodules". The Switch natively has sysmodules built into its firmware but you can run additional Homebrew sysmodules that can add functionality to your Switch. In the section below, you can find additional and commonly used Homebrew apps and sysmodules.
+:::
-Homebrew apps are stored in `sd:/switch` by default and Homebrew sysmodules are stored in `sd:/atmosphere/contents` by default.
+## Terminology
-### Additional Homebrew apps/sysmodules:
+Homebrew is a general term, the term can be used for Homebrew apps (`.nro` files) or in the form of background processes, called "sysmodules". The Switch natively has sysmodules built into its firmware but you can run additional Homebrew sysmodules that can add functionality to your Switch. In the section below, you can find additional and commonly used Homebrew apps and sysmodules.
-- [EdiZon](edizon) (sysmodule and Homebrew app)
-- [SimpleModManager](simplemodmanager) (Homebrew app)
-- [Tesla-Menu](tesla-menu) (sysmodule)
-- [MissionControl](mission-control) (sysmodule)
-- [sys-con](sys-con)(sysmodule)
-- [sys-botbase](sys-botbase) (sysmodule)
-- [SysDVR](sysdvr) (sysmodule and Homebrew app)
-- [sys-clk](sys-clk) (sysmodule and Homebrew app)
-- [ldn_mitm](ldn_mitm) (sysmodule and Homebrew app)
+Homebrew apps are stored in `sd:/switch` by default and Homebrew sysmodules are stored in `sd:/atmosphere/contents` by default.
+### Additional Homebrew apps/sysmodules
+
+* [EdiZon](edizon) (sysmodule and Homebrew app)
+* [SimpleModManager](simplemodmanager) (Homebrew app)
+* [Tesla-Menu](tesla-menu) (sysmodule)
+* [MissionControl](mission-control) (sysmodule)
+* [sys-con](sys-con)(sysmodule)
+* [sys-botbase](sys-botbase) (sysmodule)
+* [SysDVR](sysdvr) (sysmodule and Homebrew app)
+* [sys-clk](sys-clk) (sysmodule and Homebrew app)
+* [ldn_mitm](ldn_mitm) (sysmodule and Homebrew app)
diff --git a/docs/homebrew/jksv.md b/docs/homebrew/jksv.md
index b7a6ab586..683d94e95 100644
--- a/docs/homebrew/jksv.md
+++ b/docs/homebrew/jksv.md
@@ -1,3 +1,7 @@
+---
+outline: false
+---
+
# Save Management
## JKSV
@@ -8,21 +12,17 @@ The documentation on this page was made in collaboration with [JK](https://githu

-## Backing up save data using JKSV
-
-### Instructions:
+## Section I - Backing up save data using JKSV
1. Launch JKSV from the homebrew menu.
1. Select your Switch user on the left side with the `A` button.
- - **Note:** If you wish to back up all save data at once, simply press `Y` while hovering over your user in the sidebar, then proceed by holding `A`.
+ * **Note:** If you wish to back up all save data at once, simply press `Y` while hovering over your user in the sidebar, then proceed by holding `A`.
1. Hover over your desired game and press `A` to select it.
1. Press `A` again to create a new save backup
1. Enter a name for the save data folder containing the save data and press `+` or `OK`.
1. Wait for it to finish backing up your save data.
-## Restoring save data using JKSV
-
-### Instructions:
+## Section II - Restoring save data using JKSV
1. Launch JKSV from the homebrew menu.
1. Select your Switch user on the left side with the `A` button.
@@ -30,7 +30,7 @@ The documentation on this page was made in collaboration with [JK](https://githu
1. Hover over the save data folder containing the save data you want to restore and press `Y`.
1. Hold the `A` button to restore the save data, keep holding it until it's finished.
-## Setting up remote save data backups (Google Drive & WebDAV)
+## Section III - Setting up remote save data backups (Google Drive & WebDAV)
::::: tabs
@@ -42,7 +42,7 @@ JKSV features a functionality that allows you to back up your save data from the
---
-### 1. Create a new project
+### Section I - Creating a new project
1. Go to [Google Cloud Console](https://console.cloud.google.com/welcome/new) and click `Select a project` (top-left corner).
@@ -59,7 +59,7 @@ JKSV features a functionality that allows you to back up your save data from the
---
-### 2. Enable the Google Drive API
+### Section II - Enabling the Google Drive API
1. Click the `Navigation menu` (top-left) → `APIs & Services` → `Enabled APIs & Services`.
@@ -74,7 +74,7 @@ JKSV features a functionality that allows you to back up your save data from the
---
-### 3. Create OAuth credentials
+### Section III - Creating OAuth credentials
1. Go to `Credentials` → `+ Create Credentials` → `OAuth client ID`.
@@ -119,7 +119,7 @@ JKSV features a functionality that allows you to back up your save data from the
1. Click on `Create` and you will end up at the final window for this step, download the JSON file containing the client info for JKSV.
::: danger
- - **Note:** Google will not allow you to download this file again after this point!
+ * **Note:** Google will not allow you to download this file again after this point!
:::

@@ -131,7 +131,7 @@ JKSV features a functionality that allows you to back up your save data from the
---
-### 4. Add yourself as a test user
+### Section IV - Adding yourself as a test user
1. Go to `Navigation menu` → `APIs & Services` → `OAuth consent screen` → `Audience`.
@@ -142,11 +142,13 @@ JKSV features a functionality that allows you to back up your save data from the
---
-### **5. Copying the JSON file to your microSD card**
+### Section V - Copying the .JSON file to your microSD card
Copy the `client_secret.json` file to: `sd:/config/JKSV`.
-### **6. Launching JKSV**
+---
+
+### Section VI - Launching JKSV
The next time JKSV starts with an internet connection, it will guide you to complete the login process by navigating to `https://google.com/device` and filling in the code mentioned in the middle of your screen in JKSV.
@@ -154,10 +156,10 @@ After the primary setup for Google Drive, you can launch JKSV with an internet c
---
-### **7. (OPTIONAL BONUS STEP!)**
+### Section VII - Optional - Backing up Client Secret
1. Make a secure backup of `client_secret.json` from your microSD card **after logging in with JKSV**.
- - This is recommended if you plan to share saves between multiple consoles due to Google’s OAuth scope policies.
+ * This is recommended if you plan to share saves between multiple consoles due to Google’s OAuth scope policies.
::::
@@ -167,10 +169,13 @@ JKSV features a functionality that allows you to back up your save data from the
Please note that this feature requires you to either sign up for a WebDAV server provider or selfhost your own WebDAV server on your local network.
-### 1. Creating and applying the WebDAV configuration file
+---
+
+### Section I - Creating and applying the WebDAV configuration file
1. Create a file named `webdav.json` and paste the following contents in it:
- ```
+
+ ```json
{
"origin": "https://example.com",
"basepath": "path/to/JKSV",
@@ -180,67 +185,71 @@ Please note that this feature requires you to either sign up for a WebDAV server
```
1. Create a folder named `JKSV` on your WebDAV server.
- - **Note:** The folder name doesn't *have* to be called `JKSV`. For the sake of this guide, `JKSV` was used for consistency purposes.
+ * **Note:** The folder name doesn't *have* to be called `JKSV`. For the sake of this guide, `JKSV` was used for consistency purposes.
1. Fill in the `origin`, `basepath`, `username` and `password` fields, the base path is case sensitive and beginning/trailing slashes should be left out in the `origin` and `basepath` fields. Keep the information below in mind.
- - The `origin` field should **always** contain the host portion of the WebDAV server you're connecting to.
- - The `basepath` field should either contain the absolute path to the location of the WebDAV endpoint + folder created in the previous step or you can use an aliased folder.
- - The `username` and `password` fields should contain your credentials you use to authenticate with your WebDAV server. These lines can be left out/removed entirely if you do not have authentication set up for your WebDAV server.
+ * The `origin` field should **always** contain the host portion of the WebDAV server you're connecting to.
+ * The `basepath` field should either contain the absolute path to the location of the WebDAV endpoint + folder created in the previous step or you can use an aliased folder.
+ * The `username` and `password` fields should contain your credentials you use to authenticate with your WebDAV server. These lines can be left out/removed entirely if you do not have authentication set up for your WebDAV server.
- If you need WebDAV configuration examples, unfold the section below.
+If you need WebDAV configuration examples, unfold the section below.
- ::: details WebDAV configuration examples {closed}
+::: details WebDAV configuration examples {closed}
- **Example 1:**
+#### Example I
- Your WebDAV endpoint is hosted on a local server with IP address `192.168.1.100` with the WebDAV endpoint running at `192.168.1.100/webdav`, on which you created the `JKSV` folder. In this example you do not use any authentication.
+Your WebDAV endpoint is hosted on a local server with IP address `192.168.1.100` with the WebDAV endpoint running at `192.168.1.100/webdav`, on which you created the `JKSV` folder. In this example you do not use any authentication.
- ```
- {
- "origin": "http://192.168.1.100",
- "basepath": "webdav/JKSV",
- }
- ```
+```json
+{
+ "origin": "http://192.168.1.100",
+ "basepath": "webdav/JKSV",
+}
+```
- ---
+---
- **Example 2:**
+#### Example II
- Your WebDAV endpoint is hosted on a WebDAV server provider at `https://app.koofr.net/dav/Koofr`, on which you created the `JKSV` folder. In this example you *do* use authentication.
+Your WebDAV endpoint is hosted on a WebDAV server provider at `https://app.koofr.net/dav/Koofr`, on which you created the `JKSV` folder. In this example you *do* use authentication.
- ```
- {
- "origin": "https://app.koofr.net",
- "basepath": "dav/Koofr/JKSV",
- "username": "",
- "password": ""
- }
- ```
+```json
+{
+ "origin": "https://app.koofr.net",
+ "basepath": "dav/Koofr/JKSV",
+ "username": "",
+ "password": ""
+}
+```
- ---
+---
- **Example 3:**
+#### Example III
- Your WebDAV endpoint is hosted on a local server with IP address `192.168.1.100` with the WebDAV endpoint running at `192.168.1.100/webdav`, but you have an alias for `192.168.1.100/webdav/JKSV` set up so that your endpoint is available on `192.168.1.100/JKSV`. In this example you *do* use authentication.
+Your WebDAV endpoint is hosted on a local server with IP address `192.168.1.100` with the WebDAV endpoint running at `192.168.1.100/webdav`, but you have an alias for `192.168.1.100/webdav/JKSV` set up so that your endpoint is available on `192.168.1.100/JKSV`. In this example you *do* use authentication.
- ```
- {
- "origin": "http://192.168.1.100",
- "basepath": "JKSV",
- "username": "",
- "password": ""
- }
- ```
-
- :::
+```json
+{
+ "origin": "http://192.168.1.100",
+ "basepath": "JKSV",
+ "username": "",
+ "password": ""
+}
+```
+
+:::
-### **2. Copying the JSON file to your microSD card**
+---
+
+### Section II - Copying the JSON file to your microSD card
Copy the `webdav.json` file to `sd:/config/JKSV`.
-### 3. **Launching JKSV**
+---
+
+### Section III - Launching JKSV
-The next time JKSV starts with an internet connection, it will give you a notification near the bottom of your screen stating `WebDav successfully started!` if your configuration file was set up correctly.
+The next time JKSV starts with an internet connection, it will give you a notification near the bottom of your screen stating `WebDav successfully started!` if your configuration file was set up correctly.
You can now back up and store your save data backups on your WebDAV server by pressing `Zr` on any save data backup!
@@ -248,26 +257,12 @@ You can now back up and store your save data backups on your WebDAV server by pr
:::::
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
## Checkpoint
[Checkpoint](https://github.com/FlagBrew/Checkpoint) is also a save manager. It can be used to back up and restore game saves to your microSD card. It also has the ability to share save data over FTP and WiFi.
-#### Checkpoint Documentation
+### Checkpoint Documentation
+
Please read Checkpoint's [homepage](https://github.com/Flagbrew/Checkpoint) for information on how to use it.
{ width="600" }
diff --git a/docs/homebrew/ldn_mitm.md b/docs/homebrew/ldn_mitm.md
index 439bfd3c5..4b08e9843 100644
--- a/docs/homebrew/ldn_mitm.md
+++ b/docs/homebrew/ldn_mitm.md
@@ -1,37 +1,43 @@
# Information
-ldn_mitm is a [sysmodule](index#terminologies) that allows you to route the local wireless ad-hoc network traffic of the Switch via the network your Switch is connected to, essentially allowing "LAN" functionality between consoles and emulators using ldn_mitm. The official Github repository for ldn_mitm can be found [here](https://github.com/spacemeowx2/ldn_mitm).
+ldn_mitm is a [sysmodule](index#terminologies) that allows you to route the local wireless ad-hoc network traffic of the Switch via the network your Switch is connected to, essentially allowing "LAN" functionality between consoles and emulators using ldn_mitm. More information can be found on the [ldn_mitm GitHub](https://github.com/spacemeowx2/ldn_mitm) repository.
-### Common use cases for ldn_mitm:
-- It can be used in combination with [lan-play](http://lan-play.com/install-switch)
-- It can be used in combination with [XLink Kai](https://www.teamxlink.co.uk/wiki/Nintendo_Switch_XLink_Kai_Setup)
-- It can be used in combination with real Switch consoles and emulators
+::: details Common use cases for ldn_mitm
-## Installation requirements:
-- An archive manager like [7-Zip](https://www.7-zip.org/)
-- The latest release of [ldn_mitm](https://github.com/DefenderOfHyrule/ldn_mitm/releases) (the `ldn_mitm.zip` file)
+* It can be used in combination with [lan-play](http://lan-play.com/install-switch)
+* It can be used in combination with [XLink Kai](https://www.teamxlink.co.uk/wiki/Nintendo_Switch_XLink_Kai_Setup)
+* It can be used in combination with real Switch consoles and emulators
+
+:::
+
+## Section I - Requirements
+
+* An archive manager like [7-Zip](https://www.7-zip.org/)
+* The latest release of [ldn_mitm](https://github.com/DefenderOfHyrule/ldn_mitm/releases) (the `ldn_mitm.zip` file)
+
+## Section II - Installation
-## Installation instructions:
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
1. Extract the `.zip` file to a location on your computer.
- - If your archive manager allows for it, you can also simply open the `.zip` file directly.
+ * If your archive manager allows for it, you can also simply open the `.zip` file directly.
1. Copy the *contents* of the (extracted) `.zip` file to the root of your microSD card.
- - **Optional:** You can verify if you've installed ldn_mitm correctly, you should have a folder called `4200000000000010` (ldn_mitm) in `sd:/atmosphere/contents` and the `ldnmitm_config.nro` file in `sd:/switch/ldnmitm_config`.
+ * **Optional:** You can verify if you've installed ldn_mitm correctly, you should have a folder called `4200000000000010` (ldn_mitm) in `sd:/atmosphere/contents` and the `ldnmitm_config.nro` file in `sd:/switch/ldnmitm_config`.
1. Boot into CFW.
-## Basic usage instructions
+## Section III - Usage
You can enable/disable ldn_mitm by opening the Homebrew menu, opening ldn_mitm's config app and pressing `Y` to toggle ldn_mitm.

-## Troubleshooting
-### My Switch crashes on boot after I installed ldn_mitm!:
+## Section IV - Troubleshooting
+
+### My Switch crashes on boot after I installed ldn_mitm!
**Cause:** If your Switch crashes with Error `std::abort (0xFFE)` and Title ID `4200000000000010`, you're using a version of ldn_mitm that's incompatible with your Atmosphère version. The expected Atmosphère version is mentioned on each release page of an ldn_mitm release.
-### ldn_mitm isn't working!:
+### ldn_mitm isn't working!
Assuming you've followed the installation instructions successfully, this is probably due to the archive bit being set on one or more folders/files on your microSD card. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
diff --git a/docs/homebrew/mission-control.md b/docs/homebrew/mission-control.md
index 573b3c729..1d633c524 100644
--- a/docs/homebrew/mission-control.md
+++ b/docs/homebrew/mission-control.md
@@ -1,26 +1,29 @@
# MissionControl
-MissionControl is a [sysmodule](index#terminologies) that allows you to pair normally-unsupported controllers as if they were natively supported, like PS3, PS4, PS5 and Xbox One S/X controllers via Bluetooth. The full supported controller list can be found on the official Github repository [here](https://github.com/ndeadly/MissionControl) including pairing instructions for the supported controllers.
+MissionControl is a [sysmodule](index#terminologies) that allows you to pair normally-unsupported controllers as if they were natively supported, like PS3, PS4, PS5 and Xbox One S/X controllers via Bluetooth. The full supported controller list can be found on the [MissionControl GitHub](https://github.com/ndeadly/MissionControl) repository, including pairing instructions for the supported controllers.
-## Installation requirements:
-- An archive manager like [7-Zip](https://www.7-zip.org/)
-- The latest release of [MissionControl](https://github.com/ndeadly/MissionControl/releases) (the `MissionControl-(version)-master.zip` file)
+## Section I - Requirements
+
+* An archive manager like [7-Zip](https://www.7-zip.org/)
+* The latest release of [MissionControl](https://github.com/ndeadly/MissionControl/releases) (the `MissionControl-(version)-master.zip` file)
+
+## Section II - Installation
-## Installation instructions:
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
1. Extract the `.zip` file to a location on your computer.
- - If your archive manager allows for it, you can also simply open the `.zip` file directly.
+ * If your archive manager allows for it, you can also simply open the `.zip` file directly.
1. Copy the *contents* of the (extracted) `.zip` file to the root of your microSD card.
- - **Optional:** You can verify if you've installed MissionControl correctly, you should have a folder called `010000000000BD00` (MissionControl) in `sd:/atmosphere/contents`.
+ * **Optional:** You can verify if you've installed MissionControl correctly, you should have a folder called `010000000000BD00` (MissionControl) in `sd:/atmosphere/contents`.
1. Boot into CFW.
-## Troubleshooting
-### My Switch crashes on boot after I installed MissionControl!:
+## Section III - Troubleshooting
+
+### My Switch crashes on boot after I installed MissionControl!
**Cause:** If your Switch crashes with Error `std::abort (0xFFE)` and Title ID `010000000000BD00`, you're using a version of MissionControl that's incompatible with your Atmosphère version. The expected Atmosphère version is mentioned on each release page of a MissionControl release.
-### MissionControl isn't working!:
+### MissionControl isn't working!
Assuming you've followed the installation instructions successfully, this is probably due to the archive bit being set on one or more folders/files on your microSD card. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
diff --git a/docs/homebrew/nx-shell.md b/docs/homebrew/nx-shell.md
index 5da8ad74a..aa3c4a01b 100644
--- a/docs/homebrew/nx-shell.md
+++ b/docs/homebrew/nx-shell.md
@@ -2,19 +2,21 @@
NX-Shell is a file manager.
-### Common use cases for NX-Shell
+::: details Common use cases for NX-Shell
-- Copying files
-- Moving files
-- Deleting files
-- View properties of files and folders
-- Create new folders
-- Create new files
-- Set the archive bit on files and folders
+* Copying files
+* Moving files
+* Deleting files
+* View properties of files and folders
+* Create new folders
+* Create new files
+* Set the archive bit on files and folders
-For more information, you can check out NX-Shell's Github repository [here](https://github.com/joel16/NX-Shell).
+:::
-### NX-Shell screenshots:
+More information can be found on the [NX-Shell GitHub](https://github.com/joel16/NX-Shell) repository.
+
+## NX-Shell screenshots

diff --git a/docs/homebrew/nxtheme-installer.md b/docs/homebrew/nxtheme-installer.md
index 9c8a74b88..d0719c0db 100644
--- a/docs/homebrew/nxtheme-installer.md
+++ b/docs/homebrew/nxtheme-installer.md
@@ -1,39 +1,45 @@
-# Theming
+---
+outline: false
+---
+
+# Theming with NXTheme Installer
Using NXTheme Installer, you can install and create unique styles and layouts for your Switch Home Menu.
-### Index
+::: tip
-- Follow the [Installing a theme](#installing-a-theme) section if you want to install a theme.
-- Follow the [Making a theme](#making-a-theme) section if you want to make a theme manually.
-- Follow the [Installing a custom font](#installing-a-custom-font) section if you want to install a custom font.
-- If you run into any issues, visit the [Troubleshooting](#troubleshooting) section.
+See the below for this page's theming guides.
-## Installing a theme
+* Follow the [Installing a Theme](#section-ii---installing-a-theme) section if you want to install a theme.
+* Follow the [Installing a Custom Font](#section-iii---installing-a-custom-font) section if you want to install a custom font.
+* Follow the [Creating a Theme](#optional---creating-a-theme) section if you would like to create a theme manually.
+* If you run into any issues, visit the [Troubleshooting](#section-iv---troubleshooting) section.
-::: tip
+:::
-**Community Themes**
+## Section I - Requirements
-If you want to use community made themes, for example from the [r/NXThemes](https://www.reddit.com/r/NXThemes/) subreddit or [Themezer](https://themezer.net), you can follow the guide below to install a community provided `.nxtheme` file.
+* The latest release of [NXThemes Installer](https://github.com/exelix11/SwitchThemeInjector/releases)
-:::
+## Section II - Installing a Theme
-## What you need:
+::: tip
-- The latest release of [NXThemes Installer](https://github.com/exelix11/SwitchThemeInjector/releases)
+**Community Themes**
-## Instructions:
+If you want to use community made themes, for example from the [r/NXThemes](https://www.reddit.com/r/NXThemes/) subreddit or [Themezer](https://themezer.net), you can follow the instructions below to install a community provided `.nxtheme` file.
+
+:::
1. Download `NXThemesInstaller.nro` and put it in `sd:/switch`.
1. Copy the `.nxtheme` files to the `themes` folder on your microSD card (It is recommended you put them into their own folders, e.g. `sd:/themes/awesome_theme/awesome.nxtheme`).
- - Create the `themes` folder on the root of your microSD card if it does not exist.
+ * Create the `themes` folder on the root of your microSD card if it does not exist.
1. Boot into sysCFW/emuMMC and launch the Homebrew Menu, then launch `NXThemes Installer` *with* an internet connection.
- - NXTheme Installer will automatically download the required theme patches if it has a connection to the internet. These theme patches are required for themes to work.
- - If you don't want to or don't have the ability connect to a Wi-Fi network, installing the theme patches can be done manually.
- - See the instructions [here](https://github.com/exelix11/theme-patches#if-you-dont-want-to-connect-your-console-to-the-internet) on how to install them manually.
+ * NXTheme Installer will automatically download the required theme patches if it has a connection to the internet. These theme patches are required for themes to work.
+ * If you don't want to or don't have the ability connect to a Wi-Fi network, installing the theme patches can be done manually.
+ * See instructions on the [Theme Patches GitHub](https://github.com/exelix11/theme-patches#if-you-dont-want-to-connect-your-console-to-the-internet) page on how to install them manually.
1. If you get prompted about extracting your home menu data, do so.
- - You can always do this manually via the `Extract home menu` tab in `NXTheme Installer`.
+ * You can always do this manually via the `Extract home menu` tab in `NXTheme Installer`.
1. You should now see the main menu of `NXTheme Installer`, the `Themes` tab is where you will find your themes. To install them, press the folder name of your theme and go through each home menu section to install the desired theme for that section (e.g. going to `/awesome_theme` and selecting your theme for the specific menu you want to change, do the same for the other menus).
1. Reboot into CFW via the `Reboot` tab to see the changes.
@@ -45,13 +51,47 @@ If you want to use community made themes, for example from the [r/NXThemes](http
:::
-## Making a theme
+## Section III - Installing a Custom Font
+
+1. Put a font with the `.ttf` file type into the `themes` folder (It is recommended you put them into their own folders, e.g. `sd:/themes/cool_font/font.ttf`).
+1. Boot into sysCFW/emuMMC, launch the Homebrew Menu and launch `NXThemes Installer`.
+1. You should now see the main menu of `NXTheme Installer`, the `Themes` tab is where you will find your font(s).
+1. Install your desired font by selecting the `.ttf` file in the font folder you created.
+1. Reboot into CFW via the `Reboot` tab to see the changes.
+
+## Section IV - Troubleshooting
+
+### My Switch crashes on boot after I installed a theme!
+
+**Cause 1:** You didn't install the required theme patches for your firmware version. You can remove your installed custom theme data by navigating to `sd:/atmosphere/contents` and deleting the `01000000000001000` folder.
+
+**Cause 2:** You didn't extract your home menu data when prompted. You can remove your installed custom theme data by navigating to `sd:/atmosphere/contents` and deleting the `01000000000001000` folder.
+
+**Cause 3:** You installed a bad theme. You can remove them by navigating to `sd:/atmosphere/contents` and deleting the `01000000000001000` folder.
+
+* **Note:** `contents` is called `titles` on Atmosphère versions 0.9.4 and below.
+
+### My Switch crashes on boot after I installed a font!
+
+**Cause 1:** You installed a font that was too large in file size (maximum file size being 1.9MB). You can remove your installed custom font data by navigating to `sd:/atmosphere/contents` and deleting the `0100000000000811` folder.
+
+**Cause 2:** You installed a font that wasn't the right file type (e.g. `.otf`). You can remove your installed custom font data by navigating to `sd:/atmosphere/contents` and deleting the `0100000000000811` folder.
+
+* **Note:** `contents` is called `titles` on Atmosphère versions 0.9.4 and below.
+
+### The NXTheme installer crashes when I launch it!
+
+This is probably due to the archive bit being set on either the app or the `.nxtheme` files. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
+
+This can be done by booting into hekate and going to `Tools` > `Arch bit • RCM Touch • Pkg1/2` > `Fix Archive Bit`.
+
+## Optional - Creating a Theme
::::: tabs
:::: tab default All operating systems
-#### Making the theme
+### Creating the Theme
1. Navigate to [**Themezer's NXTheme creation tool**](https://themezer.net/create/switch/theme).
1. Select a menu, a layout and/or a background (make sure it is at least `1280x720` and a JPG), and any other assets you want in your theme.
@@ -64,12 +104,13 @@ If you want to use community made themes, for example from the [r/NXThemes](http
:::: tab Windows
-### What you need:
+### Section I - Requirements
The latest release of [**Switch Theme Injector**](https://github.com/exelix11/SwitchThemeInjector/releases)
-- You need to download the `ReleaseVx.x.zip` on the download page
-### Making the theme
+* You need to download the `ReleaseVx.x.zip` on the download page.
+
+### Section II - Creating the Theme
1. Unzip `ReleaseVx.x.zip` to somewhere on your PC's drive.
1. Open up the `SwitchThemes.exe` app. Navigate to `NXTheme Builder`.
@@ -80,39 +121,3 @@ The latest release of [**Switch Theme Injector**](https://github.com/exelix11/Sw
::::
:::::
-
------
-
-## Installing a custom font
-
-1. Put a font with the `.ttf` file type into the `themes` folder (It is recommended you put them into their own folders, e.g. `sd:/themes/cool_font/font.ttf`).
-1. Boot into sysCFW/emuMMC, launch the Homebrew Menu and launch `NXThemes Installer`.
-1. You should now see the main menu of `NXTheme Installer`, the `Themes` tab is where you will find your font(s).
-1. Install your desired font by selecting the `.ttf` file in the font folder you created.
-1. Reboot into CFW via the `Reboot` tab to see the changes.
-
-## Troubleshooting
-
-### My Switch crashes on boot after I installed a theme!:
-
-**Cause 1:** You didn't install the required theme patches for your firmware version. You can remove your installed custom theme data by navigating to `sd:/atmosphere/contents` and deleting the `01000000000001000` folder.
-
-**Cause 2:** You didn't extract your home menu data when prompted. You can remove your installed custom theme data by navigating to `sd:/atmosphere/contents` and deleting the `01000000000001000` folder.
-
-**Cause 3:** You installed a bad theme. You can remove them by navigating to `sd:/atmosphere/contents` and deleting the `01000000000001000` folder.
-
-- **Note:** `contents` is called `titles` on Atmosphère versions 0.9.4 and below.
-
-### My Switch crashes on boot after I installed a font!:
-
-**Cause 1:** You installed a font that was too large in file size (maximum file size being 1.9MB). You can remove your installed custom font data by navigating to `sd:/atmosphere/contents` and deleting the `0100000000000811` folder.
-
-**Cause 2:** You installed a font that wasn't the right file type (e.g. `.otf`). You can remove your installed custom font data by navigating to `sd:/atmosphere/contents` and deleting the `0100000000000811` folder.
-
-- **Note:** `contents` is called `titles` on Atmosphère versions 0.9.4 and below.
-
-### The NXTheme installer crashes when I launch it:
-
-This is probably due to the archive bit being set on either the app or the `.nxtheme` files. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
-
-This can be done by booting into hekate and going to `Tools` > `Arch bit • RCM Touch • Pkg1/2` > `Fix Archive Bit`.
diff --git a/docs/homebrew/simplemodmanager.md b/docs/homebrew/simplemodmanager.md
index 696c18c79..313de694d 100644
--- a/docs/homebrew/simplemodmanager.md
+++ b/docs/homebrew/simplemodmanager.md
@@ -1,32 +1,37 @@
# SimpleModManager
-SimpleModManager is a [homebrew app](index#terminologies) that allows easily adding and removing mods to the layeredFS directory from another directory on the SD card. Its official Github page can be found [here](https://github.com/nadrino/SimpleModManager).
+SimpleModManager is a [homebrew app](index#terminologies) that allows easily adding and removing mods to the layeredFS directory from another directory on the SD card. More information can be found on the [SimpleModManager GitHub](https://github.com/nadrino/SimpleModManager) repository.
-### Common use cases for SimpleModManager:
+::: details Common use cases for SimpleModManager:
-- Switching between large modpacks
-- Enabling and disabling individual mods
+* Switching between large modpacks
+* Enabling and disabling individual mods
+
+:::
::: warning
-**What NOT to use SimpleModManager for.**
+**What NOT to use SimpleModManager for**
SimpleModManager should not be used for some specific games like Super Smash Bros. Ultimate and The Legend of Zelda: Breath of the Wild and Tears of the Kingdom. This is due to how these games handle mods differently from others.
:::
-## Installation requirements:
-- The latest release of [SimpleModManager](https://github.com/DefenderOfHyrule/SimpleModManager/releases/tag/v2.1.4) (the `SimpleModManager.nro` file)
+## Section I - Requirements
+
+* The latest release of [SimpleModManager](https://github.com/DefenderOfHyrule/SimpleModManager/releases/tag/v2.1.4) (the `SimpleModManager.nro` file)
+
+## Section II - Installation
-## Installation instructions:
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
1. Copy the `SimpleModManager.nro` file the `/switch/` folder on your microSD card.
1. Boot into CFW.
-## Usage instructions:
-1. Create a directory named `mods///` on the root of the SD card.
- - What you put for the mod name does not have to align with anything, put whatever you like!
+## Section III - Usage
+
+1. Create a directory named `mods///` on the root of the microSD card.
+ * What you put for the mod name does not have to align with anything, put whatever you like!
1. Create the layeredFS directory for your mod that can be found on the [Game Modding](../extras/game_modding) page, skipping the `atmosphere` folder inside the `` folder.
1. Launch SimpleModManager via the Homebrew Menu and your games will show up, pressing A on them will show the mods available.
diff --git a/docs/homebrew/sys-botbase.md b/docs/homebrew/sys-botbase.md
index 4165c3c6a..6508ebbd0 100644
--- a/docs/homebrew/sys-botbase.md
+++ b/docs/homebrew/sys-botbase.md
@@ -2,33 +2,38 @@
sys-botbase is an advanced [sysmodule](index#terminologies) that allows users to interact with their Switch remotely, to "remote control" their Switch. This remote control allows users to create automated tasks, simulate button presses, simulate touchscreen input and read/write to the memory of the Switch while in-game.
-### Common use cases for sys-botbase:
-- Use ACNHPokerCore in combination with ACNH
-- Controlling a game remotely
-- Automation
+::: details Common use cases for sys-botbase:
-## Installation requirements:
-- An archive manager like [7-Zip](https://www.7-zip.org/)
-- The latest release of [sys-botbase](https://github.com/olliz0r/sys-botbase/releases) (the `sys-botbase(version).zip` file)
+* Use ACNHPokerCore in combination with ACNH
+* Controlling a game remotely
+* Automation
+
+:::
+
+## Section I - Requirements
+
+* An archive manager like [7-Zip](https://www.7-zip.org/)
+* The latest release of [sys-botbase](https://github.com/olliz0r/sys-botbase/releases) (the `sys-botbase(version).zip` file)
+
+## Section II - Installation
-## Installation instructions:
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
1. Extract the `.zip` file to a location on your computer.
- - If your archive manager allows for it, you can also simply open the `.zip` file directly.
+ * If your archive manager allows for it, you can also simply open the `.zip` file directly.
1. Copy the *contents* of each (extracted) `.zip` file to the root of your microSD card.
- - **Optional:** You can verify if you've installed sys-botbase correctly, you should have a folder called `430000000000000B` (sys-botbase) in `sd:/atmosphere/contents`.
+ * **Optional:** You can verify if you've installed sys-botbase correctly, you should have a folder called `430000000000000B` (sys-botbase) in `sd:/atmosphere/contents`.
1. Boot into CFW.
-## Troubleshooting
+## Section III - Troubleshooting
-### My Switch crashes on boot after I installed sys-botbase!:
+### My Switch crashes on boot after I installed sys-botbase!
**Cause:** While it's almost impossible for this to happen, if your Switch crashes with Error `2001-0123 (0xf601)` and Title ID `430000000000000B`, you're using a version of sys-botbase that's incompatible with your Atmosphère version.
-- **Note:** sys-botbase will almost never crash unless something is fundamentally wrong with the contents of your microSD card. If it does crash and need an update, an updated release will be mentioned here.
+* **Note:** sys-botbase will almost never crash unless something is fundamentally wrong with the contents of your microSD card. If it does crash and need an update, an updated release will be mentioned here.
-### sys-botbase isn't working!:
+### sys-botbase isn't working!
Assuming you've followed the installation instructions successfully, this is probably due to the archive bit being set on one or more folders/files on your microSD card. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
diff --git a/docs/homebrew/sys-clk.md b/docs/homebrew/sys-clk.md
index 30cf93254..76ef3a415 100644
--- a/docs/homebrew/sys-clk.md
+++ b/docs/homebrew/sys-clk.md
@@ -1,6 +1,6 @@
-## sys-clk
+# sys-clk
-sys-clk is a [sysmodule](index#terminologies) that allows you to overclock the hardware of your Switch. The usage, configuration and clock speed information can be found on the official Github repository [here](https://github.com/retronx-team/sys-clk)
+sys-clk is a [sysmodule](index#terminologies) that allows you to overclock the hardware of your Switch. The usage, configuration and clock speed information can be found on the [sys-clk Github](https://github.com/retronx-team/sys-clk) repository.
::: danger
@@ -10,33 +10,36 @@ sys-clk has limits for a reason, which is to not damage the hardware of your Swi
:::
-## Installation requirements:
-- An archive manager like [7-Zip](https://www.7-zip.org/)
-- The latest release of [sys-clk](https://github.com/retronx-team/sys-clk/releases) (the `sys-clk-(version).zip` file)
+## Section I - Requirements
+
+* An archive manager like [7-Zip](https://www.7-zip.org/)
+* The latest release of [sys-clk](https://github.com/retronx-team/sys-clk/releases) (the `sys-clk-(version).zip` file)
+
+## Section II - Installation
-## Installation instructions:
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
1. Extract the `.zip` file to a location on your computer.
- - If your archive manager allows for it, you can also simply open the `.zip` file directly.
+ * If your archive manager allows for it, you can also simply open the `.zip` file directly.
1. Copy the *contents* of the (extracted) `.zip` file to the root of your microSD card.
- - **Optional:** You can verify if you've installed sys-clk correctly, you should have a folder called `00FF0000636C6BFF` (sys-clk) in `sd:/atmosphere/contents`.
+ * **Optional:** You can verify if you've installed sys-clk correctly, you should have a folder called `00FF0000636C6BFF` (sys-clk) in `sd:/atmosphere/contents`.
1. Boot into CFW.
-## Basic usage instructions
+## Section III - Usage
Open the Homebrew menu and open sys-clk's manager app. This app allows you to change the global clock speeds or clock speeds based on title.
-## Troubleshooting
-### My Switch crashes on boot after I installed sys-clk!:
+## Section IV - Troubleshooting
+
+### My Switch crashes on boot after I installed sys-clk!
**Cause:** If your Switch crashes on boot, make sure you're using the latest release of sys-clk. If it continues to crash afterwards, see the troubleshooting step at the bottom of this page.
-## My Switch crashes while using sys-clk!:
+### My Switch crashes while using sys-clk!
**Cause:** You're either using a modified version of sys-clk and pushing the hardware of your Switch too far or your console is overheating. The cooling system of the Switch is *not* the best and overheating can be a cause of dried up thermal paste/lack of thermal paste. Overclock with caution and be careful, monitor the temperatures of your Switch using a Tesla-Menu overlay like [Status-Monitor-Overlay](https://github.com/masagrator/Status-Monitor-Overlay) (requires Tesla-Menu).
-## sys-clk isn't working!:
+### sys-clk isn't working!
Assuming you've followed the installation instructions successfully, this is probably due to the archive bit being set on one or more folders/files on your microSD card. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
diff --git a/docs/homebrew/sys-con.md b/docs/homebrew/sys-con.md
index 400bfc121..f2ee5d1c3 100644
--- a/docs/homebrew/sys-con.md
+++ b/docs/homebrew/sys-con.md
@@ -1,29 +1,31 @@
# sys-con
-sys-con is a [sysmodule](index#terminologies) that allows you to use normally-unsupported controllers as if they were natively supported, like PS3, PS4, PS5 and Xbox One S/X controllers via USB. The full supported feature and controller list can be found on the following Github repository [here](https://github.com/o0Zz/sys-con) including usage instructions and configuration options.
+sys-con is a [sysmodule](index#terminologies) that allows you to use normally-unsupported controllers as if they were natively supported, like PS3, PS4, PS5 and Xbox One S/X controllers via USB. The full supported feature and controller list can be found on the [sys-con Github](https://github.com/o0Zz/sys-con) repository, including usage instructions and configuration options.
-## Installation requirements:
-- An archive manager like [7-Zip](https://www.7-zip.org/)
-- The latest release of [sys-con](https://github.com/o0Zz/sys-con/releases) (the `sys-con-(version).zip` file)
+## Section I - Requirements
+
+* An archive manager like [7-Zip](https://www.7-zip.org/)
+* The latest release of [sys-con](https://github.com/o0Zz/sys-con/releases) (the `sys-con-(version).zip` file)
+
+## Section II - Installation
-## Installation instructions:
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
1. Extract the `.zip` file to a location on your computer.
- - If your archive manager allows for it, you can also simply open the `.zip` file directly.
+ * If your archive manager allows for it, you can also simply open the `.zip` file directly.
1. Copy the *contents* of the (extracted) `.zip` file to the root of your microSD card.
- - **Optional:** You can verify if you've installed sys-con correctly, you should have a folder called `690000000000000D` (sys-con) in `sd:/atmosphere/contents`.
+ * **Optional:** You can verify if you've installed sys-con correctly, you should have a folder called `690000000000000D` (sys-con) in `sd:/atmosphere/contents`.
1. Boot into CFW.
-## Troubleshooting
+## Section III - Troubleshooting
-### My Switch crashes on boot after I installed sys-con!:
+### My Switch crashes on boot after I installed sys-con!
**Cause:** While it's almost impossible for this to happen, if your Switch crashes with Error code `2162-0002 (0x4a2)` and Title ID `690000000000000D`, you're using a version of sys-con that's incompatible with your Switch firmware version. The expected firmware version is mentioned on each release page of a sys-con release.
-- **Note:** sys-con hasn't needed an update for years as of the moment of writing this. If it does need an update, an updated release will be mentioned here.
+* **Note:** sys-con hasn't needed an update for years as of the moment of writing this. If it does need an update, an updated release will be mentioned here.
-### sys-con isn't working!:
+### sys-con isn't working!
Assuming you've followed the installation instructions successfully, this is probably due to the archive bit being set on one or more folders/files on your microSD card. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
diff --git a/docs/homebrew/sysdvr.md b/docs/homebrew/sysdvr.md
index 08b7ed09e..233efa23f 100644
--- a/docs/homebrew/sysdvr.md
+++ b/docs/homebrew/sysdvr.md
@@ -4,9 +4,9 @@ SysDVR is a [sysmodule](index#terminologies) that allows you to stream the scree
## Usage
-Installation, usage, configuration and extensive troubleshooting information can be found on the [SysDVR Wiki](https://github.com/exelix11/SysDVR/wiki).
+Installation, usage, configuration and extensive troubleshooting information can be found on the [SysDVR GitHub wiki](https://github.com/exelix11/SysDVR/wiki).
-## SysDVR screenshots:
+## SysDVR screenshots

diff --git a/docs/homebrew/tesla-menu.md b/docs/homebrew/tesla-menu.md
index af8a734a0..d36ea8cab 100644
--- a/docs/homebrew/tesla-menu.md
+++ b/docs/homebrew/tesla-menu.md
@@ -1,6 +1,6 @@
# Tesla-Menu
-Tesla-Menu is an overlay menu developed by [WerWolv](https://github.com/WerWolv), Tesla-Menu is comparable to Rosalina menu on the 3DS and its purpose is to be able to load community made overlays for Homebrew apps and sysmodules that can be accessed at any time. Below you can find common use cases for Tesla-Menu. The official Github page for Tesla-Menu can be found [here](https://github.com/WerWolv/Tesla-Menu).
+Tesla-Menu is an overlay menu developed by [WerWolv](https://github.com/WerWolv), Tesla-Menu is comparable to Rosalina menu on the 3DS and its purpose is to be able to load community made overlays for Homebrew apps and sysmodules that can be accessed at any time. Below you can find common use cases for Tesla-Menu. More information can be found on the [Tesla-Menu GitHub](https://github.com/WerWolv/Tesla-Menu) repository.
::: tip
@@ -10,34 +10,40 @@ Tesla-Menu is dependent on a [sysmodule](index#terminologies) called `nx-ovlload
:::
-### Common use cases for Tesla-Menu:
-- Load community made Tesla-Menu overlays
-- Viewing the temperatures/clock speeds of your hardware
-- Editing sysmodule configs on the fly (if applicable)
-- Editing Homebrew app configs on the fly (if applicable)
-- Toggling cheats easily
-- Toggling sysmodules
+::: details Common use cases for Tesla-Menu
-## Installation requirements:
-- An archive manager like [7-Zip](https://www.7-zip.org/)
-- The latest release of [Tesla-Menu](https://github.com/DefenderOfHyrule/Tesla-Menu/releases/tag/v1.2.0) (the `ovlmenu.ovl` file)
-- The latest release of [nx-ovlloader](https://github.com/DefenderOfHyrule/nx-ovlloader/releases/tag/v1.2.0) (the `nx-ovlloader.zip` file)
+* Load community made Tesla-Menu overlays
+* Viewing the temperatures/clock speeds of your hardware
+* Editing sysmodule configs on the fly (if applicable)
+* Editing Homebrew app configs on the fly (if applicable)
+* Toggling cheats easily
+* Toggling sysmodules
+
+:::
+
+## Section I - Requirements
+
+* An archive manager like [7-Zip](https://www.7-zip.org/)
+* The latest release of [Tesla-Menu](https://github.com/DefenderOfHyrule/Tesla-Menu/releases/tag/v1.2.0) (the `ovlmenu.ovl` file)
+* The latest release of [nx-ovlloader](https://github.com/DefenderOfHyrule/nx-ovlloader/releases/tag/v1.2.0) (the `nx-ovlloader.zip` file)
+
+## Section II - Installation
-## Installation instructions:
1. Boot into hekate and go to `Tools` > `USB Tools` > `SD Card`, then plug your Switch into your PC via USB.
1. Your microSD card should now be accessible on your PC, open it.
1. Extract the nx-ovlloader `.zip` file to a location on your computer.
- - If your archive manager allows for it, you can also simply open the `.zip` file directly.
+ * If your archive manager allows for it, you can also simply open the `.zip` file directly.
1. Copy the *contents* of the (extracted) `.zip` file to the root of your microSD card, then copy `ovlmenu.ovl` to `sd:/switch/.overlays`.
- - **Optional:** You can verify if you've installed Tesla-Menu and nx-ovlloader correctly, you should have a folder called `420000000007E51A` (nx-ovlloader) in `sd:/atmosphere/contents` and the `ovlmenu.ovl` (Tesla-Menu) file in `sd:/switch/.overlays`.
+ * **Optional:** You can verify if you've installed Tesla-Menu and nx-ovlloader correctly, you should have a folder called `420000000007E51A` (nx-ovlloader) in `sd:/atmosphere/contents` and the `ovlmenu.ovl` (Tesla-Menu) file in `sd:/switch/.overlays`.
1. Boot into CFW.
-## Opening Tesla-Menu
+## Section III - Usage
+
Tesla-Menu can be opened by pressing `L` + `R Stick press (R3)` + `DPAD down`, assuming you use the default configuration.

-## Changing the button combination
+### Changing the button combination
If you wish to change the default button configuration, see the instructions below:
@@ -45,38 +51,42 @@ If you wish to change the default button configuration, see the instructions bel
1. Create a folder named `tesla` if it doesn't exist already.
1. Create a file named `config.ini` in `sd:/config/tesla`.
1. Paste the following text inside of `config.ini`:
- ```
+
+ ```ini
[tesla]
key_combo=L+R+RS
# A, B, X, Y, LS, RS, L, R, ZL, ZR, PLUS, MINUS, DLEFT, DUP, DRIGHT, DDOWN, SL, SR
```
+
1. Change the `key_combo` value to anything you desire and save the file. The accepted inputs are mentioned on the third line.
-## Commonly used Tesla-Menu overlays
-- [Status-Monitor-Overlay](https://github.com/masagrator/Status-Monitor-Overlay)
-- [EdiZon overlay](https://github.com/proferabg/EdiZon-Overlay)
-- [QuickNTP](https://github.com/nedex/QuickNTP)
-- [Emuiibo](https://github.com/XorTroll/emuiibo) (this requires you to also install the Emuiibo sysmodule)
-- [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) (this requires you to also install the TriPlayer sysmodule)
-- [ldn_mitm](https://github.com/DefenderOfHyrule/ldn_mitm) (this requires you to also install the ldn_mitm sysmodule)
-- [Fizeau](https://github.com/averne/Fizeau) (this requires you to also install the Fizeau sysmodule)
+### Commonly used Tesla-Menu overlays
+
+* [Status-Monitor-Overlay](https://github.com/masagrator/Status-Monitor-Overlay)
+* [EdiZon overlay](https://github.com/proferabg/EdiZon-Overlay)
+* [QuickNTP](https://github.com/nedex/QuickNTP)
+* [Emuiibo](https://github.com/XorTroll/emuiibo) (this requires you to also install the Emuiibo sysmodule)
+* [TriPlayer](https://github.com/DefenderOfHyrule/TriPlayer) (this requires you to also install the TriPlayer sysmodule)
+* [ldn_mitm](https://github.com/DefenderOfHyrule/ldn_mitm) (this requires you to also install the ldn_mitm sysmodule)
+* [Fizeau](https://github.com/averne/Fizeau) (this requires you to also install the Fizeau sysmodule)
+
+## Section IV - Troubleshooting
-## Troubleshooting
-### My Switch crashes on boot after I installed Tesla-Menu/nx-ovlloader!:
+### My Switch crashes on boot after I installed Tesla-Menu/nx-ovlloader!
**Cause:** If your Switch crashes with Error code `2001-0123 (0xf601)` and Title ID `420000000007E51A`, you didn't successfully install Tesla-Menu or you aren't using the latest release of Tesla-Menu, re-follow the installation instructions above.
-### My Switch crashes when I open an overlay via Tesla-Menu!:
+### My Switch crashes when I open an overlay via Tesla-Menu!
**Cause:** If your Switch crashes with Error code `2001-0123 (0xf601)` and Title ID `420000000007E51A`, the overlay you're trying to open/use isn't up to date. Check its source repository for updates.
-- If this overlay doesn't have an updated release, you may have to look for a forked (updated) release or compile it yourself using the latest `libtesla` library. The latter is for developers (or advanced users).
+* If this overlay doesn't have an updated release, you may have to look for a forked (updated) release or compile it yourself using the latest `libtesla` library. The latter is for developers (or advanced users).
-### Tesla-Menu is only showing while on the main menu and not in-game!:
+### Tesla-Menu is only showing while on the main menu and not in-game!
**Cause:** This issue will only happen when the Switch is docked, ensure that you've set the "Screen size" in `System Settings` > `TV Output` to 100%. Adjust your TV/monitor to fit the entirety of the screen of your Switch using its OSD (On Screen Display) or remote.
-### Tesla-Menu isn't opening when I press the correct button combination!:
+### Tesla-Menu isn't opening when I press the correct button combination!
Assuming you've followed the installation instructions successfully, this is probably due to the archive bit being set on one or more folders/files on your microSD card. This is usually the result of copying files to a microSD card via a Mac. If you are experiencing this issue, try running the archive bit fixer utility via hekate for all files.
diff --git a/docs/index.md b/docs/index.md
index d13b9733a..7b681b4f3 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -10,141 +10,204 @@ hero:
::: tip
-Prepare to set aside a minimum of an hour to follow this guide. This is specifically for you to carefully read and understand each page for safe execution for the safety and longevity of your Switch console. Some required device backups can also take around ten to thirty minutes to create, depending on your Switch model and your microSD card specifications.
+:clock1: **Estimated Completion Time: 1 Hour**
+
+Prepare to set aside a minimum of one hour to follow this guide. This is specifically for you to carefully read and understand each page, which will allow you to safely execute the guide instructions and preserve the safety and longevity of your Switch console.
+
+Some required device backups can also take around ten to thirty minutes to create, depending on your Switch model and your microSD card specifications.
+
+:::
+
+::: warning
+
+Before starting, we would advise users NOT to use video guides for a variety of reasons. These reasons include:
+
+* Uploaders typically do not edit their guides after uploading, even if there are mistakes. This can result in the guide becoming outdated as information develops.
+* Video guides are difficult to give assistance with on our server, and will not be supported if seeking assistance.
+* Videos typically refer users to a pre-packaged download, which can be poorly organized, outdated, or potentially even incorrect.
+
+Additionally, we are not currently, historically, or will ever be, associated with Anton Retro, sthetix, Ely M., or other derivative or YouTube/TikTok guide publishers, especially any that claim relation to us. We resent any implication to the contrary.
:::
::: danger
-# Notice
+**Important Notice**
-As of January 26th, 2026, the sole maintainer of Atmosphère, SciresM, has announced that they are [retiring from the public hacking scene](https://gist.github.com/SciresM/e760b192d873af67ce8f0f5c7000a651). Since they have retired, Atmosphère updates will likely take longer to release with future firmware updates. What this means is that, currently, firmware version 21.2.0 is the latest (officially) supported firmware, without any potential uncertainty.
+As of January 26th, 2026, the sole maintainer of Atmosphère, SciresM, has announced that they are [retiring from the public hacking scene](https://gist.github.com/SciresM/e760b192d873af67ce8f0f5c7000a651). Since they have retired, Atmosphère updates will likely take longer to release when future Nintendo Switch firmware updates arrive. What this means is that, currently, firmware version `21.2.0` is the latest (officially) supported firmware, without any potential uncertainty.
-Users should be cautious updating past firmware versions 21.2.0, as Atmosphère may not work on newer firmware versions if Nintendo has implemented any major changes.
+Users should be cautious when considering updating past firmware version `21.2.0`. Atmosphère may not function on newer firmware versions if Nintendo implements any major changes.
-Because of this, there is a large likelihood of (potentially dangerous) Atmosphère forks coming into existence because of this. Users are advised **not** to use these forks, and should wait for proper Atmosphère updates from developers who know what they're doing.
+In addition, due to the longer duration between updates, there is a large likelihood of **potentially dangerous** Atmosphère forks coming into existence. Users are advised **NOT** to use these forks, and should wait for proper Atmosphère updates from team members that are trusted and knowledgeable.
:::
-## What is Custom Firmware?
+## What do I need to know before starting?
+
+This page will explore:
+
+* Important terms used in the context of this guide, as well as in the Switch hacking scene in general
+* What this guide does to your Switch, and what we plan to install
+* What you can do with a hacked Switch
+* What you need to hack your Switch
+* Other important notices before proceeding
+
+## What do the terms on this guide mean?
-Custom FirmWare (“CFW”) is complex software that modifies the function of a device's operating system, also known as a system firmware.
-Atmosphère, for example, patches the Switch OS (named Horizon) on the fly.
+The primary terms used on this guide are explained in various sections below.
-Custom firmware can be considered a holy grail in terms of device modding, as it allows nearly limitless control and freedoms than you would get with more primitive "userland" access.
-
+### What is Custom FirmWare?
-## What is homebrew?
+Custom FirmWare (“CFW”) is complex software that modifies the function of a device's operating system, also known as a system firmware. Atmosphère, for example, patches the Switch OS (named Horizon) on the fly.
+
+Custom firmware can be considered the "holy grail" in terms of device modding, as it allows nearly limitless control and freedoms than you would get with more primitive "userland" access.
+
+### What is homebrew?
Homebrew refers to unofficial software written by hobbyists for locked down systems, like the Nintendo Switch. Homebrew can include original games, emulators, save-editing tools, and much, much more!
On the Switch in particular, you need CFW to run almost all available homebrew. Some first-gen ("V1") consoles can run homebrew for free, while all other ("patched") consoles require specialized hardware installation beforehand.
-
-## What are custom operating systems?
-Custom operating systems (OSes) are alternative system software installations, like Android or Linux, that install alongside the default Switch OS. These are usually perfect for powerusers who want to extend the functionality of their console beyond that of a gaming console, transforming Nintendo Switch to a full-fledged hybrid tablet or desktop. These custom OSes run completely independent of the Switch OS, meaning that anything you do in a custom OS cannot be reported back to Nintendo. Custom operating systems are not "emulated"; they run natively on the Switch's Tegra X1 SoC.
+### What is a custom operating system (OS)?
+
+Custom operating systems are alternative system software installations, like Android or Linux, that install alongside the default Switch OS. These are great for power users who want to extend the functionality of their console beyond what is normally allowed, transforming the Nintendo Switch to a full-fledged hybrid tablet or desktop. These custom OSes run completely independent of the Switch OS, meaning that anything you do in a custom OS cannot be reported back to Nintendo. Custom operating systems are not "emulated"; they run natively on the Switch's Tegra X1 SoC.
-This guide will give you the opportunity to set aside space on your microSD to install these custom OSes onto, if you desire. It is important to note that these installations are optional; you do not need to install any custom OS in order to complete this guide and install Atmosphère. However, it is better to decide sooner rather than later, as the installation process involves formatting your microSD card.
+This guide will give you the opportunity to set aside space on your microSD card to install these custom OSes onto your console, if you desire. It is important to note that these installations are optional; you do not need to install any custom OS in order to complete this guide and install Atmosphère. However, it is recommended to decide before starting the guide, as the installation process involves formatting your microSD card.
## What does this guide install?
-This guide has the end-goal of taking a completely unmodified Switch from stock firmware to a custom firmware named Atmosphère.
+This guide has the end-goal of taking a completely unmodified Switch from stock firmware to a custom firmware named Atmosphère. Upon completion, you should not lose any data. Your games, Nintendo Account, save data, etc. will be preserved. The functionality of your console will be enhanced, and you will be able to accomplish tasks like the below (and more)!
-[fusee-gelee](files/extras/fusee_gelee_nvidia.pdf) is currently the most widespread software entrypoint of launching custom firmware. It utilizes a vulnerability in the bootROM of the first-generation Switch systems, allowing us to boot the console via any payload we choose, instead of only ones that Nvidia and Nintendo authorize. The result allows full baremetal control over your console, including system storage backups, recovery, custom firmwares, and custom operating systems.
-
+fusee-gelee is currently the most widespread software entrypoint of launching custom firmware. It utilizes a vulnerability in the bootROM of the first-generation Switch systems, allowing us to boot the console via any payload we choose (instead of just approved payloads from Nvidia and Nintendo). The result allows full bare-metal control over your console, including system storage backups, recovery, custom firmware, and custom operating systems.
+
+More information about the fusee-gelee vulnerability can be found in its vulnerability disclosure, which can be viewed on a [dedicated guide page](fusee_gelee) or [PDF](files/extras/fusee_gelee_nvidia.pdf).
## What can I do with custom firmware?
-- Customize your HOME Menu with user-created themes and splash screens.
-- Run “ROM hacks” for games that you own.
-- Backup, edit, and restore saves for many games.
-- Play games for older systems with various emulators, using RetroArch or other standalone emulators.
-- Safely update to the latest system version without fear of losing access to homebrew.
-- Safely customise your device while retaining full access to Nintendo Switch Online services.
+* Customize your HOME Menu with user-created themes and splash screens.
+* Running game modifications on games that you own.
+* Backup, edit, and restore saves for many games.
+* Play games for older systems with various emulators, using RetroArch or other standalone emulators.
+* Safely update to the latest system version without fear of losing access to homebrew.
+* Safely customize your device while retaining full access to Nintendo Switch Online services.
-More on this can be found later on in the guide.
+More things to do with a CFW-installed Switch can be found later on in the guide.
-## What do I need to know before starting?
+## What do I need to follow this guide?
-As previously mentioned, this guide will take a minimum of an hour to fully complete. Please responsibly set aside this time before your first run-through.
+### For Desktop/Laptop Users
-Acknowledge that EVERY time you modify your system, there is always the potential for an UNRECOVERABLE brick. A brick is a damaged device that no longer functions; something that becomes as "useful as a brick". On the Switch, they're rare, but still a possibility -- so make sure you read the directions carefully before performing them, and follow them EXACTLY.
+* A desktop or laptop computer running Windows/macOS/Linux/chromeOS
+* A built-in microSD card reader, or an adapter that will allow you to read a microSD card
+* A USB cable capable of data transfer to connect your computer and Nintendo Switch together
-This guide will work on first-generation (V1) and modchipped Switch consoles in all regions on any firmware version.
+### For Android Users
-::: tip
+* An Android device
+* A built-in microSD card reader, or an adapter that will allow you to read a microSD card
+* A USB cable capable of data transfer to connect your Android device and Nintendo Switch together
+
+### For iOS Users
-**You will need ***one*** of the following in order to successfully follow this guide:**
+* A **jailbroken** iOS device
+* An adapter that will allow you to read a microSD card
+* A USB cable capable of data transfer to connect your iOS device and Nintendo Switch together
-- A PC, a microSD card reader, and a USB-C cable capable of data transfer to connect them together.
-- An Android device with microSD card reader and a USB-C cable capable of data transfer to connect them together.
- - This does not work on every Android phone.
-- A Lightning OTG adapter, a microSD card reader, a jailbroken iOS device, and a USB cable capable of data transfer to connect them together.
- - This method is not covered by the guide, but you can read more about it at [this website](https://mologie.github.io/nxboot/)
-- A successfully modchipped Switch and a microSD card reader.
+### For all users
If you choose the emuMMC path introduced later in the guide, you will also need a microSD card that is *at least* 128 gigabytes. In this path, it'll be important to disable the [Automatic Save Data Cloud](https://en-americas-support.nintendo.com/app/answers/detail/a_id/41209) function beforehand, as well as making sure [the Switch is set as the primary Pass-Enabled console](https://en-americas-support.nintendo.com/app/answers/detail/a_id/41221/~/how-to-set-or-change-the-primary-nintendo-switch-console-for-a-nintendo-account).
If you must use a smaller microSD card or don't wish to use an emuMMC, you can choose to use the sysCFW path instead.
-Additionally, on a V1 "unpatched" Switch, you will need a way to access the ReCovery Mode (this will be further explained in the "Entering RCM" section). While possible with household tools, you may want to shell money out for a "jig" that inserts into the Joy-Con rail to reliably enable RCM.
+Additionally, on a V1 "unpatched" Switch, you will need a way to access the ReCovery Mode (this will be further explained in the Entering RCM section of the guide). While possible with household tools, you may want to shell money out for a "jig" that inserts into the Joy-Con rail to reliably enable RCM.
-:::
+## What else should I know before proceeding?
+
+::: danger
+
+**Bricking Risks**
-Upon completion, you will lose no data, ending up with everything that you started with (games, Nintendo Account, save data, etc will be preserved). Your functionalities will only be enhanced.
+We ask that you acknowledge that EVERY time you modify your system, there is always the potential for an **UNRECOVERABLE** brick. A brick is a damaged device that can no longer function; in other words, something that becomes "as useful as a brick".
+
+Bricks are rare on the Nintendo Switch, but still a possibility — so make sure you read the directions **CAREFULLY** before performing them, and follow them **EXACTLY**.
Keep your device plugged in and charged throughout the entire process to avoid data loss or damage from an unexpected power-off.
-Custom firmware is not permanently installed and does not change anything on your console simply by running it. It will be entirely unloaded upon rebooting the console. However, CFW does allow you to make permanent changes to your console at your own will, so __be responsible and cautious with the abilities enabled by CFW__.
+:::
+
+::: warning
-It is advised that you read the entire guide from start to finish one or more times before actually running through the guide with your system.
+**Exploit Persistence**
-If something doesn't make sense while you follow the guide, please reach out and ask for clarification rather than fumble around on your own. If your English isn't the best, use a translator such as [Google Translate](https://translate.google.com/) to submit your questions, so we can help.
+Custom firmware is **not** permanently installed and does not change anything on your console simply by running it. It will be entirely unloaded upon rebooting the console. However, CFW does allow you to make permanent changes to your console at your own will, so **be responsible and cautious with the abilities enabled by CFW**.
+
+:::
::: tip
-[Continue to Getting Started](user_guide/getting_started)
+**Getting Assistance**
+
+It is advised that you read the entire guide from start to finish one or more times before actually running through the guide with your system, to help with your understanding of the information provided.
+
+If, despite this, something is hard to understand while you follow the guide, please reach out and ask for clarification on the [Nintendo Homebrew Discord server](https://discord.gg/C29hYvh).
+
+If your English isn't the best, use a translator such as [Google Translate](https://translate.google.com/) to submit your questions so that we can assist.
+
+:::
+
+::: tip
+
+**Compatability**
+
+This guide will work on first-generation (V1) and modchipped Switch consoles in all regions on any firmware version.
:::
------
+## Ready to start?
+
+If so, please follow the link below to proceed to the main guide.
+
+::: tip
+
+[Continue to Getting Started](user_guide/getting_started)
-Note: We are not currently, historically, or will we ever be, associated with Anton Retro, sthetix, Ely M., or other derivative or YouTube/TikTok guide publishers, especially any that claim relation to us.
+Once you have finished reading the above information, proceed to Get Started to determine your console exploitability, and resulting exploit method.
-Furthermore, we resent any implication to the contrary.
+:::
+
+---
::: details Frequently Asked Questions about this page
-- **Q: What are the differences between "first-generation" ("V1") consoles and "patched" consoles when it comes to running homebrew?**
+* **Q: What are the differences between "first-generation" ("V1") consoles and "patched" consoles when it comes to running homebrew?**
A: Once you boot into Horizon, not much. The primary things to keep in mind is that only V1 consoles support Atmosphère's "Reboot to Payload" function, but modchips automatically load payloads during reboots on their own.
-- **Q: What is Horizon?**
+* **Q: What is Horizon?**
A: Horizon is the name of the Switch's operating system. It is sometimes called "HorizonNX", because it is actually a derivative version of the Nintendo 3DS's operating system of the same name.
-- **Q: Why is it called Atmosphère?**
+* **Q: Why is it called Atmosphère?**
- A: Atmosphère "runs on top of the Horizon" operating system. Each layer of Horizon's security is referenced via the atmosphere's different layers. For example, the EL1 "kernel" reimplementation is called mesosphère, while the EL3 "TrustZone" reimplementation is called exosphère.
- Learn more about ARM Exception Levels [here](https://developer.arm.com/documentation/102412/0103/Privilege-and-Exception-levels/Exception-levels).
+ A: Atmosphère "runs on top of the Horizon" operating system. Each layer of Horizon's security is referenced via the atmosphere's different layers. For example, the EL1 "kernel" re-implementation is called mesosphère, while the EL3 "TrustZone" re-implementation is called exosphère. Learn more about ARM Exception Levels on the [ARM Developer](https://developer.arm.com/documentation/102412/0103/Privilege-and-Exception-levels/Exception-levels) site.
-- **Q: What exactly is the "emuMMC path," and why is it recommended for the microSD card to be at least 128GB for this path?**
+* **Q: What exactly is the "emuMMC path," and why is it recommended for the microSD card to be at least 128GB for this path?**
A: The purpose of an emuMMC/emuNAND is to give you a safe place to use custom firmware functions without Nintendo catching sight. As it is an offline clone of your internal storage ran entirely from your microSD card, you will need to set allocate up to 64GB on your microSD card for it (depending on the size of your internal storage), plus a duplicate of your digital game data (emuMMC uses a separate Nintendo folder for game installs).
-- **Q: Why do I need to set my console as primary before starting this guide?**
+* **Q: Why do I need to set my console as primary before starting this guide?**
A: The Switch will otherwise try to connect to Nintendo servers before starting apps, which can lead to unexpected delays and make emuMMCs completely unusable.
-- **Q: Can I follow this guide if I have a smaller microSD card, and what are the risks involved in choosing the sysCFW path?**
+* **Q: Can I follow this guide if I have a smaller microSD card, and what are the risks involved in choosing the sysCFW path?**
A: Nothing stops you from using sysCFW, but it is recommended for first-timers to get familiar with CFW by starting with an emuMMC. If used improperly, running sysCFW can cause software bricks and/or [bans](https://nx.eiphax.tech/ban.html).
-- **Q: Are there any specific restrictions or limitations imposed by Nintendo on consoles running custom firmware and homebrew?**
+* **Q: Are there any specific restrictions or limitations imposed by Nintendo on consoles running custom firmware and homebrew?**
- A: Nintendo has shown a distinct tolerance for users using CFW while online. They __do not__ ban for the presence of CFW, they ban for misbehavior - such as piracy or cheating online. Otherwise, you are treated like all other users.
+ A: Nintendo has shown a distinct tolerance for users using CFW while online. They **do not** ban for the presence of CFW, they ban for misbehavior - such as piracy or cheating online. Otherwise, you are treated like all other users.
-- **Q: Is there any community support or forums recommended for users who may have questions or issues during the process?**
+* **Q: Is there any community support or forums recommended for users who may have questions or issues during the process?**
A: Of course! As well as the [Nintendo Homebrew Discord server](https://discord.gg/C29hYvh), you can also try the [r/SwitchHacks subreddit](https://www.reddit.com/r/SwitchHacks/)!
diff --git a/docs/user_guide/all/cfw_environment.md b/docs/user_guide/all/cfw_environment.md
index 8d928ab48..a2d1fd361 100644
--- a/docs/user_guide/all/cfw_environment.md
+++ b/docs/user_guide/all/cfw_environment.md
@@ -1,5 +1,6 @@
---
aside: false
+outline: false
---
# CFW on sysMMC vs. CFW on emuMMC
@@ -7,9 +8,9 @@ aside: false
A "CFW Environment" describes the context in which you are using custom firmware (CFW).
As a reminder, custom firmware is never permanently installed, and runs independently on top of the system firmware. This means that you never have to commit to where you want to use custom firmware.
-Atmosphère temporarily patches HOS (HorizonOS, operating system of the switch) to enable customisations. You can choose what version of HOS it patches, each time you turn on your system. Each option has its own benefits and drawbacks.
+Atmosphère temporarily patches HOS (HorizonOS, operating system of the switch) to enable customizations. You can choose what version of HOS it patches, each time you turn on your system. Each option has its own benefits and drawbacks.
-- For the purposes of this guide, the suffix -NAND and -MMC are interchangeable.
+* For the purposes of this guide, the suffix -NAND and -MMC are interchangeable.
Generally, `sys-` refers to the physical storage chip (sysMMC/eMMC) inside of your Switch. It stands for "system".
@@ -19,39 +20,41 @@ For more information on terminology, please refer to the [glossary](../../extras
**You get to decide!** Your choices are between using the internal storage or emulated storage. We will go over the advantages and disadvantages of either decision below.
------
+---
::::: cards
:::: card
### emuMMC CFW
-#### CFW on emuMMC has the following benefits:
-- No risk of bans as long as emuMMC remains offline from Nintendo [[info]](https://nx.eiphax.tech/ban.html))
-- A safe area to test dangerous or risky mods and homebrew
-- No chance of bricking and losing console-unique information while using CFW
+#### CFW on emuMMC has the following benefits
+
+* No risk of bans as long as emuMMC remains offline from Nintendo [[info]](https://nx.eiphax.tech/ban.html))
+* A safe area to test dangerous or risky mods and homebrew
+* No chance of bricking and losing console-unique information while using CFW
+
+#### The following drawbacks
-#### The following drawbacks:
+* Large microSD size requirement (32GB or 64GB will be reserved, depending on if you use a Switch OLED or not). If you want a *decent* experience, a minimum of 128GB is required (unless you are an advanced user and can resize the USER partition of your NAND)
+* Slower console response times due to the limitation of your microSD card's classifications/specifications
+* No official online play while in CFW
+* More microSD card wear over time
+* Doubled digital game storage requirements
-- Large microSD size requirement (32GB or 64GB will be reserved, depending on if you use a Switch OLED or not). If you want a *decent* experience, a minimum of 128GB is required (unless you are an advanced user and can resize the USER partition of your NAND)
-- Slower console response times due to the limitation of your microSD card's classifications/specifications
-- No official online play while in CFW
-- More microSD card wear over time
-- Doubled digital game storage requirements
+#### And the following considerations
-#### And the following considerations:
No parity between sysMMC and emuMMC (Game installs, save data, and system settings will be separated when you boot between the two)
-#### In particular, here are just *some* popular use-cases for CFW on emuMMC:
+#### In particular, here are just *some* popular use-cases for CFW on emuMMC
-- Restoring modified save data for any game
-- Modding and cheating in any game
-- Custom fonts and home menu theming
-- Downgrading titles to base versions, without mandatory updates
-- Enjoying CFW features such as custom sysmodules and homebrew apps
+* Restoring modified save data for any game
+* Modding and cheating in any game
+* Custom fonts and home menu theming
+* Downgrading titles to base versions, without mandatory updates
+* Enjoying CFW features such as custom sysmodules and homebrew apps
-If you prefer foolproofing, and a separation between official features and custom features, you may consider using CFW on emuMMC. In this guide, emuMMC is assumed to be utilised for offline play.
+If you prefer foolproofing, and a separation between official features and custom features, you may consider using CFW on emuMMC. In this guide, emuMMC is assumed to be utilized for offline play.
::: info
@@ -74,31 +77,32 @@ To proceed with CFW on **emuMMC**, click on the button below:
:::: card
### sysCFW (CFW on sysMMC)
-#### CFW on sysMMC has the following benefits:
-- Parity of system settings, save data, and titles between CFW usage and standard usage (no need to duplicate digital games)
-- Significantly lower microSD card storage requirements
-- Possibility of online play during CFW use
-- Fast console response time by not having to rely on the speed of your microSD card
-- Longer microSD card lifespan
+#### CFW on sysMMC has the following benefits
-#### The following drawbacks:
+* Parity of system settings, save data, and titles between CFW usage and standard usage (no need to duplicate digital games)
+* Significantly lower microSD card storage requirements
+* Possibility of online play during CFW use
+* Fast console response time by not having to rely on the speed of your microSD card
+* Longer microSD card lifespan
-- A brick risk for risky behaviors, especially for modchip users [[info]](#modchip-instability)
-- A Nintendo server ban risk for misbehavior [[info]](https://nx.eiphax.tech/ban.html)
-- No possibility of custom profile pictures (guaranteed ban)
+#### The following drawbacks
-#### In particular, here are just *some* popular use-cases for sysCFW:
+* A brick risk for risky behaviors, especially for modchip users [[info]](#modchip-instability)
+* A Nintendo server ban risk for misbehavior [[info]](https://nx.eiphax.tech/ban.html)
+* No possibility of custom profile pictures (guaranteed ban)
-- Enjoying CFW features such as custom sysmodules and homebrew apps
-- Dumping eShop games, save data, and encryption keys for preservation or installation on emuMMC or external Switch emulators
-- Restoring modified save data for many games
-- Custom fonts and home menu theming
-- Modifying and cheating in most offline games (and some online games; [[info]](../../homebrew/edizon))
+#### In particular, here are just *some* popular use-cases for sysCFW
-If you prefer snappiness, online play, and a seamless transition between official features and custom features, you may consider using CFW on sysMMC. In this guide, sysMMC is assumed to be utilised for online play.
+* Enjoying CFW features such as custom sysmodules and homebrew apps
+* Dumping eShop games, save data, and encryption keys for preservation or installation on emuMMC or external Switch emulators
+* Restoring modified save data for many games
+* Custom fonts and home menu theming
+* Modifying and cheating in most offline games (and some online games; [[info]](../../homebrew/edizon))
------
+If you prefer snappiness, online play, and a seamless transition between official features and custom features, you may consider using CFW on sysMMC. In this guide, sysMMC is assumed to be utilized for online play.
+
+---
::: info
@@ -112,7 +116,7 @@ To proceed with CFW on **sysMMC**, click on the button below:
:::::
-### Modchip Instability
+## Modchip Instability
::: danger
@@ -124,10 +128,10 @@ Modchips directly infiltrate communication with the internal storage chip. Due t
::: details Frequently Asked Questions about this page
-- **Q: Why is CFW referred to as being "never permanently installed"?**
+* **Q: Why is CFW referred to as being "never permanently installed"?**
- A: Unless you have a modchip of any kind, turning the console off will disactivate the custom firmware. There is no current method for Atmosphère to install-to or permanently replace any part of the Nintendo Switch, so it will need to be triggered by an exploit every time you turn on the console. Atmosphère will then patch Horizon to bring you custom firmware features.
+ A: Unless you have a modchip of any kind, turning the console off will deactivate the custom firmware. There is no current method for Atmosphère to install-to or permanently replace any part of the Nintendo Switch, so it will need to be triggered by an exploit every time you turn on the console. Atmosphère will then patch Horizon to bring you custom firmware features.
-- **Q: Should I personally use sys/emuMMC?**
+* **Q: Should I personally use sys/emuMMC?**
A: These questions are answered in detail within the webpage. Please make sure that you are fully reading the page before jumping here.
diff --git a/docs/user_guide/all/launching_cfw.md b/docs/user_guide/all/launching_cfw.md
index e6b68fb63..5e755ad76 100644
--- a/docs/user_guide/all/launching_cfw.md
+++ b/docs/user_guide/all/launching_cfw.md
@@ -1,8 +1,12 @@
+---
+outline: false
+---
+
# Launching CFW
Now that the preparation work is out of the way, we're finally ready to launch custom firmware on the Switch.
-Unlike systems such as the DSi, Wii, or 3DS, Switch CFW is currently volatile (nonpersistent).
+Unlike systems such as the DSi, Wii, or 3DS, Switch CFW is currently volatile (nonpersistent).
It will only work as long as your Switch is on. As soon as your Switch completely loses power for any reason (shutting down, battery dying, etc.), CFW will no longer be active and you will need to enter RCM and inject the hekate payload if you wish to boot into CFW again (only relevant for users with unpatched consoles).
@@ -18,7 +22,7 @@ Your emuMMC (emuNAND) should never connect to Nintendo. For online play, eShop b
:::: tab default Instructions for emuMMC
-### Instructions:
+## Instructions
1. From Hekate's `Home` menu, navigate to the `Launch` menu.
1. Find `Atmosphere PKG3 emuMMC` and launch it.
@@ -37,14 +41,14 @@ If you wish to set up an extra method of blocking Nintendo's servers on your emu
:::: tab Instructions for sysCFW
-### Instructions:
+## Instructions
1. From Hekate's `Home` menu, navigate to the `Launch` menu.
1. Find `Atmosphere PKG3 sysMMC` and launch it.
Hekate is now booting into sysCFW. To verify that sysCFW launched properly, open System Settings and navigate to System. You should see `AMS` next to the version number (`AMS` indicating that you're booted into Atmosphère), as well as an `S` at the end (indicating you are booted into sysCFW).
-- **Note:** You will also have the `Atmosphere PKG3 EmuMMC` launch option in Hekate, launching it will just result in an error and is expected because you don't have an emuMMC.
+* **Note:** You will also have the `Atmosphere PKG3 EmuMMC` launch option in Hekate, launching it will just result in an error and is expected because you don't have an emuMMC.

@@ -60,9 +64,7 @@ Once booted into CFW, you can easily get back to Hekate by holding the power but
:::
------
-
-### Launching the Homebrew Menu
+## Launching the Homebrew Menu
You will now be able to launch the Homebrew Menu by opening the album or by holding the `R` button while launching any game (including demos/cartridges), or application (e.g. YouTube/Hulu). If `R` is not held, the game or application will launch like normal.
@@ -70,7 +72,7 @@ You will now be able to launch the Homebrew Menu by opening the album or by hold
**A note about using the album for the Homebrew Menu**
-- Using Album for the Homebrew Menu instead of a game or application has several limitations, including but not limited to: a smaller amount of available memory (RAM), as well as being unable to launch a full-featured web browser. It is strongly recommended to launch homebrew through applications or games instead.
+* Using Album for the Homebrew Menu instead of a game or application has several limitations, including but not limited to: a smaller amount of available memory (RAM), as well as being unable to launch a full-featured web browser. It is strongly recommended to launch homebrew through applications or games instead.
:::
@@ -80,11 +82,9 @@ See the [Homebrew](../../homebrew/index) tab for information about what the incl
If you wish to install more homebrew apps, place them (`.nro` files) in the `switch` folder on your microSD card.
------
-
-### Installing Android/Linux
+## Installing Android/Linux
-If you've partitioned your microSD card for preparation of Android/Linux earlier, you can continue with the installation of Android/Linux here with the guides below:
+If you've partitioned your microSD card for preparation of Android/Linux earlier, you can continue with installing either operating system with the guides below:
::: tip
@@ -100,16 +100,16 @@ If you've partitioned your microSD card for preparation of Android/Linux earlier
::: details Frequently Asked Questions about this page
-- **Q: How can you verify that sysCFW / emuMMC launched properly?**
+* **Q: How can you verify that sysCFW / emuMMC launched properly?**
A: Once you boot into the Switch's HOME Menu, navigate to Settings > System. The system version should be prefixed with an S or E, standing for SysMMC or EmuMMC respectively. Seeing either of these confirms which environment you are using.
-- **Q: What options do you have for rebooting to Hekate while booted into CFW?**
+* **Q: What options do you have for rebooting to Hekate while booted into CFW?**
A: If you use a modchip, your console will automatically boot into whatever payload that your modchip would normally boot into via a coldboot, after clicking the restart button in the power-off menu. This can be any payload, but ideally is Hekate.
If you use no modchip (and you're using a V1 console), your console will "reboot-to-payload" by default, triggering whatever fusee payload is located in `atmosphere/reboot_to_payload.bin`. This can be any payload, but ideally is Hekate.
-- **Q: Where can I find additional homebrew apps?**
+* **Q: Where can I find additional homebrew apps?**
A: One of the more convenient sources is the [Homebrew App Store](https://github.com/fortheusers/hb-appstore/releases), hosted by [4TU](https://gitlab.com/4TU). You can also browse the [r/SwitchHacks](https://www.reddit.com/r/SwitchHacks/) subreddit.
diff --git a/docs/user_guide/all/making_essential_backups.md b/docs/user_guide/all/making_essential_backups.md
index 7284309ff..5d5598862 100644
--- a/docs/user_guide/all/making_essential_backups.md
+++ b/docs/user_guide/all/making_essential_backups.md
@@ -1,6 +1,6 @@
# Making Essential Backups
-## Making a NAND Backup
+This guide will instruct you on how to create a NAND backup of your Nintendo Switch.
::: danger
@@ -14,16 +14,16 @@ It's highly recommended that you use an microSD card that is formatted to FAT32
:::
-### Instructions:
+## Instructions
1. Enter RCM and inject the hekate payload.
- - If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
+ * If you use a modchipped Switch, you can simply just turn your Switch on with the hekate payload renamed to `payload.bin` on the root of your microSD card.
1. Use the touch screen or Joy-Cons to navigate to `Tools` > `Backup eMMC`.
1. Tap on `eMMC BOOT0 & BOOT1`
- - This should only take a few seconds, but if your microSD card is very slow, it may take around a minute.
+ * This should only take a few seconds, but if your microSD card is very slow, it may take around a minute.
1. Tap on `Close` to continue, then tap on `eMMC RAW GPP`
- - This will take a long time. Expect it to take between 10 minutes to an hour (or more, if your microSD card is very slow).
- - If your microSD card has less than 32GB of space available, please follow the "**About microSD cards with less than 32GB of free space**" instructions at the end of this section instead.
+ * This will take a long time. Expect it to take between 10 minutes to an hour (or more, if your microSD card is very slow).
+ * If your microSD card has less than 32GB of space available, please follow the "**About microSD cards with less than 32GB of free space**" instructions at the end of this section instead.
1. Go to the top right and press `Close` > `Home`.
1. Navigate to `Tools` > `USB tools` > `SD card` and plug your Switch into your PC via USB.
1. Copy the `backup` folder on your microSD card to a safe location on your PC.
@@ -35,11 +35,13 @@ On FAT32 formatted microSD cards or cards that have less than 32 gigabytes of sp
hekate will stop producing these parts when it runs out of space. When this happens, do the following:
-1. Press `OK` when hekate tells you to back up your stuff.
- { width=600 }
+1. Press `OK` when hekate tells you to back up your stuff.
+
+ 
+
1. Press `Close` > `Close` > `USB Tools` > `SD Card` and connect your Switch to your PC via USB.
1. Your microSD card should now be accessible on your PC, move the `backup` folder on the root of your microSD card to a safe location on your PC.
- - *If* you are prompted to merge folders, do so.
+ * *If* you are prompted to merge folders, do so.
1. Eject the `UMS` device safely from within your computer's operating system and close the UMS window in hekate.
1. Press `Close` > `Backup eMMC` > `eMMC RAW GPP` and continue backing up your NAND.
1. Repeat step 2-5 until the NAND is completely dumped.
@@ -67,7 +69,7 @@ Click the link below to continue to Launching **sysCFW**!
::: details Frequently Asked Questions about this page
-- **Q: Why is making a NAND backup considered crucial?**
+* **Q: Why is making a NAND backup considered crucial?**
A: A NAND backup contains a complete snapshot of the internal files of your Switch, including console-specific files that cannot be regenerated if accidentally lost. This is why it is **mandatory** to keep at least one copy of your NAND backup in a safe place, even if it takes a lot of space. The consequence to not having one is, at best, a Switch that cannot connect to Nintendo Network, or at worst, a full brick. However, it is important to note that it is nearly impossible to permanently brick a hackable Nintendo Switch.
diff --git a/docs/user_guide/all/partitioning_sd.md b/docs/user_guide/all/partitioning_sd.md
index 04da10566..6ee9fbc96 100644
--- a/docs/user_guide/all/partitioning_sd.md
+++ b/docs/user_guide/all/partitioning_sd.md
@@ -1,30 +1,30 @@
# Partitioning the microSD Card and creating the emuMMC
-## What you need:
+## Section I - Requirements
-- Your Switch loaded into hekate
+* Your Switch loaded into hekate
::: danger
**Partitioning *WILL* wipe all data on your microSD card!**
-In case you missed the warning earlier, your microSD card will be wiped during this page. Go to `Tools` > `USB Tools` > `SD Card`, plug your switch into your PC via USB and back up the contents of your microSD card to your PC if you haven't done so yet. If you don't mind redownloading all the games stored on the microSD card and/or all other (potentially important) files getting deleted, you may skip this.
+In case you missed the warning earlier, your microSD card will be wiped during this page. Go to `Tools` > `USB Tools` > `SD Card`, plug your switch into your PC via USB and back up the contents of your microSD card to your PC if you haven't done so yet. If you don't mind re-downloading all the games stored on the microSD card and/or all other (potentially important) files getting deleted, you may skip this.
:::
-## Instructions:
+## Section II - Instructions
1. Navigate to `Tools` > `Partition SD card`
1. Set the `emuMMC (RAW)` slider to `29 FULL` in the middle of the bar.
- - Set the `emuMMC (RAW)` slider to `58 FULL` if you're on an OLED Switch.
- - If you wish to install Android and/or Linux later, partition your microSD card here accordingly by moving the sliders you see during this step. We recommend setting the `Android (USER)` and `Linux (EXT4)` sliders to at least 16GB.
+ * Set the `emuMMC (RAW)` slider to `58 FULL` if you're on an OLED Switch.
+ * If you wish to install Android and/or Linux later, partition your microSD card here accordingly by moving the sliders you see during this step. We recommend setting the `Android (USER)` and `Linux (EXT4)` sliders to at least 16GB.
1. Navigate to `Next Step` at the bottom right, then select `Start` in the menu that appears.
- - For Android; Select `Dynamic` partitioning for Android 13+ and `Legacy` partitioning for Android 10/11. Note that Android 10/11 are no longer supported, Legacy and Dynamic partitioning are also **NOT** intercompatible.
+ * For Android; Select `Dynamic` partitioning for Android 13+ and `Legacy` partitioning for Android 10/11. Note that Android 10/11 are no longer supported, Legacy and Dynamic partitioning are also **NOT** intercompatible.
1. From hekate's `Home` menu, navigate to `emuMMC` > `Create emuMMC` > `SD Partition` > `Part 1` and wait for Hekate to complete creating the emuMMC.
1. Close the emuMMC creation menu by navigating to the `Close` button, then navigate to `Change emuMMC` > `SD RAW 1` and press the `Close` button twice in the top right to return to hekate's `Home` menu.
1. Once done, go to `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
1. Continue with the next step of the guide.
- - Your microSD card should now be accessible on your PC, if not, consult the warning message below.
+ * Your microSD card should now be accessible on your PC, if not, consult the warning message below.
::: warning
@@ -32,7 +32,7 @@ In case you missed the warning earlier, your microSD card will be wiped during t
If you get the issue that Windows says the microSD card is unreadable and wants to format it, do not format! This is likely your emuMMC partition. After partitioning your SD, your microSD will show up as 2 drives on your PC. Use the accessible drive named `SWITCH SD`.
-If your microSD card isn't showing up at all, ensure that you're using a USB cable capable of data transfer and that, if you use Windows, Windows has assigned a drive letter to the FAT32 partition of your SD. If you still experience errors, join the NH-Discord server for support.
+If your microSD card isn't showing up at all, ensure that you're using a USB cable capable of data transfer and that, if you use Windows, Windows has assigned a drive letter to the FAT32 partition of your SD. If you still experience errors, join the [Nintendo Homebrew Discord server](https://discord.gg/C29hYvh) for support.
:::
diff --git a/docs/user_guide/all/partitioning_sd_syscfw.md b/docs/user_guide/all/partitioning_sd_syscfw.md
index 2dd0ff249..fd3457ff1 100644
--- a/docs/user_guide/all/partitioning_sd_syscfw.md
+++ b/docs/user_guide/all/partitioning_sd_syscfw.md
@@ -1,26 +1,26 @@
# Formatting and/or partitioning the microSD Card
-## What you need:
+## Section I - Requirements
-- Your Switch loaded into hekate
+* Your Switch loaded into hekate
::: danger
**Partitioning *WILL* wipe all data on your microSD card!**
-In case you missed the warning earlier, your microSD card will be wiped during this page. Go to `Tools` > `USB Tools` > `SD Card`, plug your switch into your PC via USB and back up the contents of your microSD card to your PC if you haven't done so yet. If you don't mind redownloading all the games stored on the microSD card and/or all other (potentially important) files getting deleted, you may skip this.
+In case you missed the warning earlier, your microSD card will be wiped during this page. Go to `Tools` > `USB Tools` > `SD Card`, plug your switch into your PC via USB and back up the contents of your microSD card to your PC if you haven't done so yet. If you don't mind re-downloading all the games stored on the microSD card and/or all other (potentially important) files getting deleted, you may skip this.
:::
-## Instructions:
+## Section II - Instructions
1. Navigate to `Tools` > `Partition SD card`
1. Navigate to `Next Step` at the bottom right, then select `Start` in the menu that appears.
- - If you wish to install Android and/or Linux later, partition your microSD card here accordingly by moving the sliders you see during this step. We recommend setting the `Android (USER)` and `Linux (EXT4)` sliders to at least 16GB.
- - For Android; Select `Dynamic` partitioning for Android 13+ and `Legacy` partitioning for Android 10/11. Note that Android 10/11 are no longer supported, Legacy and Dynamic partitioning are also **NOT** intercompatible.
+ * If you wish to install Android and/or Linux later, partition your microSD card here accordingly by moving the sliders you see during this step. We recommend setting the `Android (USER)` and `Linux (EXT4)` sliders to at least 16GB.
+ * For Android; Select `Dynamic` partitioning for Android 13+ and `Legacy` partitioning for Android 10/11. Note that Android 10/11 are no longer supported, Legacy and Dynamic partitioning are also **NOT** intercompatible.
1. Once done, go to hekate's `Home` menu and then `Tools` > `USB Tools` > `SD Card` and plug your Switch into your PC via USB.
1. Continue with the next step of the guide.
- - Your microSD card should now be accessible on your PC. If not, consult the warning message below.
+ * Your microSD card should now be accessible on your PC. If not, consult the warning message below.
::: warning
diff --git a/docs/user_guide/all/sd_preparation.md b/docs/user_guide/all/sd_preparation.md
index 66159e707..09f4b3b68 100644
--- a/docs/user_guide/all/sd_preparation.md
+++ b/docs/user_guide/all/sd_preparation.md
@@ -12,133 +12,139 @@ If you use Windows, you should enable file name extensions before continuing. Se
:::
-## What you need:
-- The latest release of [hekate](https://github.com/CTCaer/Hekate/releases/) (Download the `hekate_ctcaer_(version).zip` release of hekate)
-- The hekate config file: hekate_ipl.ini
-- The DNS.MITM DNS redirection config: emummc.txt
-- The bootlogo zip folder: bootlogos.zip
-- The latest release of [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere/releases). Download the `atmosphere-(version)-master-(version)+hbl-(version)+hbmenu-(version).zip` release of Atmosphère.
-- The latest release of [JKSV](https://github.com/J-D-K/JKSV/releases) (Download the `JKSV.nro` release of JKSV)
-- The latest release of [FTPD](https://github.com/mtheall/ftpd/releases) (Download the `ftpd.nro` release of FTPD)
-- The latest release of [NXThemesInstaller](https://github.com/exelix11/SwitchThemeInjector/releases) (Download the `NXThemesInstaller.nro` release of NXThemesInstaller)
-- The latest release of [NX-Shell](https://github.com/joel16/NX-Shell/releases) (Download the `NX-Shell.nro` release of nx-shell)
-- The latest release of [Goldleaf](https://github.com/XorTroll/Goldleaf/releases) (Download the `Goldleaf.nro` release of Goldleaf)
+## Section I - Requirements
+
+* The latest release of [hekate](https://github.com/CTCaer/Hekate/releases/) (Download the `hekate_ctcaer_(version).zip` release of hekate)
+* The hekate config file: [hekate_ipl.ini](/files/emu/hekate_ipl.ini){download}
+* The DNS.MITM DNS redirection config: [emummc.txt](/files/emummc.txt){download}
+* The bootlogo zip folder: [bootlogos.zip](/files/bootlogos.zip)
+* The latest release of [Atmosphère](https://github.com/Atmosphere-NX/Atmosphere/releases). Download the `atmosphere-(version)-master-(version)+hbl-(version)+hbmenu-(version).zip` release of Atmosphère.
+* The latest release of [JKSV](https://github.com/J-D-K/JKSV/releases) (Download the `JKSV.nro` release of JKSV)
+* The latest release of [FTPD](https://github.com/mtheall/ftpd/releases) (Download the `ftpd.nro` release of FTPD)
+* The latest release of [NXThemesInstaller](https://github.com/exelix11/SwitchThemeInjector/releases) (Download the `NXThemesInstaller.nro` release of NXThemesInstaller)
+* The latest release of [NX-Shell](https://github.com/joel16/NX-Shell/releases) (Download the `NX-Shell.nro` release of nx-shell)
+* The latest release of [Goldleaf](https://github.com/XorTroll/Goldleaf/releases) (Download the `Goldleaf.nro` release of Goldleaf)
::: danger
**About ChromeOS**
If you're on a Chromebook, the following section may prove to be difficult. The native file manager on ChromeOS does not support basic file manager functionalities such as replacing and/or merging files/folders. Please verify your file and folder placement using the "**Full folder/file structure**" section near the bottom of this page.
+
:::
-## Instructions:
+## Section II - Instructions
+
1. Navigate to the accessible drive (`SWITCH SD`).
1. Copy *the contents of* the Atmosphère`.zip` file to the root of your microSD card.
1. Copy the `bootloader` folder from the hekate `.zip` file to the root of your microSD card.
- - If you're asked to replace files or merge folders, do so.
- - On macOS, you will need to *merge* folders, *not* replace them.
+ * Merge and/or replace the content already on your microSD card with the files within the `.zip` file if asked to do so. On macOS, you will need to specifically select the `Merge` option if prompted.
1. Copy the `bootloader` folder from the `bootlogos.zip` file to the root of your microSD card.
- - If you're asked to merge the bootloader folders, do so.
+ * Merge the bootloader folders if asked to do so.
1. Copy `hekate_ipl.ini` to the `bootloader` folder on your microSD card.
- - If you're asked to replace the file, do so.
+ * Replace the file if asked to do so.
1. Create a folder named `hosts` inside the `atmosphere` folder on your microSD card, and put `emummc.txt` inside of the `hosts` folder.
1. Copy `JKSV.nro`, `ftpd.nro`, `NxThemesInstaller.nro`, `NX-Shell.nro` and `Goldleaf.nro` to the `switch` folder on your microSD card.
1. If you were already using your microSD card as a storage device for your games and backed up the Nintendo folder before partitioning your microSD card, please place it back on the root of your microSD card now.
- - *If* you created an emuMMC on the previous page; don't forget to copy the Nintendo folder to `sd:/emuMMC/RAW1/`, in addition to the Nintendo folder on the root of your microSD card.
-
- ::: danger
-
- **About emummc.txt**
-
- Putting the `emummc.txt` file provided by this guide into `/atmosphere/hosts` will prevent your emuMMC (emuNAND) from connecting to Nintendo. Not doing this will likely result in a ban.
-
- :::
-
- :::: tip
-
- Your microSD card should look similar to the image below. The `Nintendo` folder will not be present if your Switch has not already booted with the microSD card inserted and the `emuMMC` folder will not be present if you're following the sysCFW path of the guide/you haven't created an emuMMC! The `payload.bin` file will not be present if you're using an unpatched Switch, as it's only for modchipped console users.
-
- If you'd like to check the full folder/file structure of your microSD card, unfold the "**Full folder/file structure**" section below.
-
- ::: details Full folder/file structure (Click to unfold)
- Below you will find the full folder/file structure on your microSD card, `SWITCH SD:` indicates the root of the microSD card.
- ```
- SWITCH SD:
- ├── atmosphere
- │ ├── config
- │ ├── config_templates
- │ │ ├── exosphere.ini
- │ │ ├── override_config.ini
- │ │ ├── stratosphere.ini
- │ │ └── system_settings.ini
- │ ├── fatal_errors
- │ ├── flags
- │ ├── hbl_html
- │ │ └── accessible-urls
- │ │ └── accessible-urls.txt
- │ ├── hbl.nsp
- │ ├── hosts
- │ │ └── emummc.txt
- │ ├── kip_patches
- │ ├── package3
- │ ├── reboot_payload.bin
- │ └── stratosphere.romfs
- ├── bootloader
- │ ├── hekate_ipl.ini
- │ ├── ini
- │ ├── payloads
- │ ├── res
- │ │ ├── emu_boot.bmp
- │ │ ├── icon_payload.bmp
- │ │ ├── icon_switch.bmp
- │ │ ├── stock_boot.bmp
- │ │ └── sys_cfw_boot.bmp
- │ ├── sys
- │ │ ├── emummc.kipm
- │ │ ├── l4t
- │ │ │ ├── bpmpfw_b01.bin
- │ │ │ ├── bpmpfw.bin
- │ │ │ ├── mtc_tbl_b01.bin
- │ │ │ ├── sc7entry.bin
- │ │ │ ├── sc7exit_b01.bin
- │ │ │ └── sc7exit.bin
- │ │ ├── libsys_lp0.bso
- │ │ ├── libsys_minerva.bso
- │ │ ├── nyx.bin
- │ │ ├── res.pak
- │ │ └── thk.bin
- │ └── update.bin
- ├── emuMMC
- │ ├── emummc.ini
- │ └── RAW1
- │ ├── Nintendo
- │ │ ├── Album
- │ │ ├── Contents
- │ │ └── save
- │ └── raw_based
- ├── hbmenu.nro
- ├── Nintendo
- │ ├── Album
- │ ├── Contents
- │ └── save
- ├── payload.bin
- └── switch
- ├── daybreak.nro
- ├── ftpd.nro
- ├── Goldleaf.nro
- ├── haze.nro
- ├── JKSV.nro
- ├── NX-Shell.nro
- ├── NXThemesInstaller.nro
- └── reboot_to_payload.nro
- ```
-
- :::
-
- 
-
- ::::
-
+ * *If* you created an emuMMC on the previous page; don't forget to copy the Nintendo folder to `sd:/emuMMC/RAW1/`, in addition to the Nintendo folder on the root of your microSD card.
+
+::: danger
+
+**About emummc.txt**
+
+Putting the `emummc.txt` file provided by this guide into `/atmosphere/hosts` will prevent your emuMMC (emuNAND) from connecting to Nintendo. Not doing this will likely result in a ban.
+
+:::
+
+:::: tip
+
+Your microSD card should look similar to the image below. The `Nintendo` folder will not be present if your Switch has not already booted with the microSD card inserted and the `emuMMC` folder will not be present if you're following the sysCFW path of the guide/you haven't created an emuMMC! The `payload.bin` file will not be present if you're using an unpatched Switch, as it's only for modchipped console users.
+
+If you'd like to check the full folder/file structure of your microSD card, unfold the **Full folder/file structure** section below.
+
+::: details Full folder/file structure (Click to unfold)
+
+Below you will find the full folder/file structure on your microSD card.
+`💾 SWITCH SD:` indicates the root of the microSD card.
+
+```shell
+💾 SWITCH SD:
+├── 📁 atmosphere
+│ ├── 📁 config
+│ ├── 📁 config_templates
+│ │ ├── 📄 exosphere.ini
+│ │ ├── 📄 override_config.ini
+│ │ ├── 📄 stratosphere.ini
+│ │ └── 📄 system_settings.ini
+│ ├── 📁 fatal_errors
+│ ├── 📁 flags
+│ ├── 📁 hbl_html
+│ │ └── 📁 accessible-urls
+│ │ └── 📄 accessible-urls.txt
+│ ├── 📁 hosts
+│ │ └── 📄 emummc.txt
+│ ├── 📁 kip_patches
+│ ├── 📄 hbl.nsp
+│ ├── 📄 package3
+│ ├── 📄 reboot_payload.bin
+│ └── 📄 stratosphere.romfs
+├── 📁 bootloader
+│ ├── 📁 ini
+│ ├── 📁 payloads
+│ ├── 📁 res
+│ │ ├── 📄 emu_boot.bmp
+│ │ ├── 📄 icon_payload.bmp
+│ │ ├── 📄 icon_switch.bmp
+│ │ ├── 📄 stock_boot.bmp
+│ │ └── 📄 sys_cfw_boot.bmp
+│ ├── 📁 sys
+│ │ ├── 📁 l4t
+│ │ │ ├── 📄 bpmpfw_b01.bin
+│ │ │ ├── 📄 bpmpfw.bin
+│ │ │ ├── 📄 mtc_tbl_b01.bin
+│ │ │ ├── 📄 sc7entry.bin
+│ │ │ ├── 📄 sc7exit_b01.bin
+│ │ │ └── 📄 sc7exit.bin
+│ │ ├── 📄 emummc.kipm
+│ │ ├── 📄 libsys_lp0.bso
+│ │ ├── 📄 libsys_minerva.bso
+│ │ ├── 📄 nyx.bin
+│ │ ├── 📄 res.pak
+│ │ └── 📄 thk.bin
+│ ├── 📄 hekate_ipl.ini
+│ ├── 📄 nyx.ini
+│ └── 📄 update.bin
+├── 📁 emuMMC
+│ ├── 📁 RAW1
+│ │ ├── 📁 Nintendo
+│ │ │ ├── 📁 Album
+│ │ │ ├── 📁 Contents
+│ │ │ └── 📁 save
+│ │ └── 📄 raw_based
+│ └── 📄 emummc.ini
+├── 📁 Nintendo
+│ ├── 📁 Album
+│ ├── 📁 Contents
+│ └── 📁 save
+├── 📁 switch
+│ ├── 📄 daybreak.nro
+│ ├── 📄 ftpd.nro
+│ ├── 📄 Goldleaf.nro
+│ ├── 📄 haze.nro
+│ ├── 📄 JKSV.nro
+│ ├── 📄 NX-Shell.nro
+│ ├── 📄 NXThemesInstaller.nro
+│ └── 📄 reboot_to_payload.nro
+├── 📄 hbmenu.nro
+└── 📄 payload.bin
+```
+
+:::
+
+
+
+::::
+
::: tip
[Continue to Making Essential Backups](making_essential_backups)
diff --git a/docs/user_guide/getting_started.md b/docs/user_guide/getting_started.md
index 644f6fd44..b104831bc 100644
--- a/docs/user_guide/getting_started.md
+++ b/docs/user_guide/getting_started.md
@@ -18,20 +18,20 @@ Patched and Mariko units can be identified by their serial number. This number c

-
+
## Determining if your Switch is vulnerable
The community has crowdsourced a list of known serial numbers which are vulnerable to fusee-gelee.
-- If your serial number is on this list as "potentially patched", follow the notice directly after this list.
-- If your serial number is listed as "patched", there is nothing you can do besides installing a modchip (hardware modification. It __requires__ experience with microsoldering.).
+* If your serial number is on this list as "potentially patched", follow the notice directly after this list.
+* If your serial number is listed as "patched", there is nothing you can do besides installing a modchip (hardware modification. It **requires** experience with microsoldering.).
::: tip
**Notice**
-If you are unsure if your serial is patched, you can test your console yourself following the instructions [here](rcm/sending_payload).
+If you are unsure if your serial is patched, you can test your console yourself following the instructions on the [sending RCM payload](rcm/sending_payload) page.
:::
@@ -39,41 +39,43 @@ If you are unsure if your serial is patched, you can test your console yourself
The following information is based on [this GBATemp thread](https://gbatemp.net/threads/switch-informations-by-serial-number-read-the-first-post-before-asking-questions.481215/).
-| Serial Numbers | Unpatched | Potentially patched | Patched |
-| :----|:---------------------------------|:---------------------------------|:----------------------|
-| XAW1 | XAW10000000000 to XAW10074000000 | XAW10074000000 to XAW10120000000 | XAW10120000000 and up |
-| XAW4 | XAW40000000000 to XAW40011000000 | XAW40011000000 to XAW40012000000 | XAW40012000000 and up |
-| XAW7 | XAW70000000000 to XAW70017800000 | XAW70017800000 to XAW70030000000 | XAW70030000000 and up |
-| XAJ1 | XAJ10000000000 to XAJ10020000000 | XAJ10020000000 to XAJ10030000000 | XAJ10030000000 and up |
-| XAJ4 | XAJ40000000000 to XAJ40046000000 | XAJ40046000000 to XAJ40060000000 | XAJ40060000000 and up |
-| XAJ7 | XAJ70000000000 to XAJ70040000000 | XAJ70040000000 to XAJ70050000000 | XAJ70050000000 and up |
-| XAK1 | **N/A** | XAK10000000000 and up | **N/A** |
+| Serial Numbers | Unpatched | Potentially patched | Patched |
+| :------------- | :----------------------------------------- | :---------------------------------------------------- | :------------------------------------- |
+| XAW1 | XAW10000000000 to XAW10074000000 | XAW10074000000 to XAW10120000000 | XAW10120000000 and up |
+| XAW4 | XAW40000000000 to XAW40011000000 | XAW40011000000 to XAW40012000000 | XAW40012000000 and up |
+| XAW7 | XAW70000000000 to XAW70017800000 | XAW70017800000 to XAW70030000000 | XAW70030000000 and up |
+| XAJ1 | XAJ10000000000 to XAJ10020000000 | XAJ10020000000 to XAJ10030000000 | XAJ10030000000 and up |
+| XAJ4 | XAJ40000000000 to XAJ40046000000 | XAJ40046000000 to XAJ40060000000 | XAJ40060000000 and up |
+| XAJ7 | XAJ70000000000 to XAJ70040000000 | XAJ70040000000 to XAJ70050000000 | XAJ70050000000 and up |
+| XAK1 | **N/A** | XAK10000000000 and up | **N/A** |
If your serial number is not listed above, your device is not vulnerable to the fusee-gelee exploit.
## Version Table
-| System Version | Unpatched Switch Systems | Patched or Mariko Switch Systems |
-|:-----------------|:--------------------------------------|:---------------------------------|
-| 1.0.0 - 4.0.1 | [**RCM**](rcm/index) | **N/A** |
-| 4.1.0 | [**RCM**](rcm/index) | Caffeine |
-| 5.0.0+ | [**RCM**](rcm/index) | [**Modchip**](modchip/index) |
+| System Version | Unpatched Switch Systems | Patched or Mariko Switch Systems |
+| :------------- | :----------------------- | :------------------------------- |
+| 1.0.0 - 4.0.1 | [**RCM**](rcm/index) | **N/A** |
+| 4.1.0 | [**RCM**](rcm/index) | Caffeine |
+| 5.0.0+ | [**RCM**](rcm/index) | [**Modchip**](modchip/index) |
::: tip
**About Mariko Switch models**
-All Mariko (V2) Switch models (`HAC-001(-01)`, `HDH-001`, `HEG-001`) are unhackable via software. If **Modchip** is listed as a method for your console model, then that means the device is unhackable without a hardware modification (modchip). This guide assumes you have a functional modchip installation if you *do* have a Patched console.
+All Mariko (V2) Switch models (`HAC-001(-01)`, `HDH-001`, `HEG-001`) are un-hackable via software. If **Modchip** is listed as a method for your console model, then that means the device is un-hackable without a hardware modification (modchip). This guide assumes you have a functional modchip installation if you *do* have a Patched console.
:::
## **Console Preparation**
-### Important
+### Important Information
-Before setting up for homebrew, install at least one eShop title to utilize "title takeover", an Atmosphère feature that allows homebrew to use more resources than they would normally have. Try downloading a free game (like [Fallout Shelter](https://www.nintendo.com/games/detail/fallout-shelter-switch/)), application (like [YouTube](https://www.nintendo.com/games/detail/youtube-switch/)), or a game demo (like [10 Second Run RETURNS](https://www.nintendo.com/games/detail/10-second-run-returns-switch)). Running the Homebrew Menu via a game cartridge is an alternative, but requires the game to be inserted any time you want to launch the Homebrew Menu. Generally, title takeover doesn't permanently alter the donor game or application.
Once you obtain any bootable title, you are prepared to continue on with the guide.
+Before setting up for homebrew, install at least one eShop title to utilize "title takeover", an Atmosphère feature that allows homebrew to use more resources than they would normally have. Try downloading a free game (like [Fallout Shelter](https://www.nintendo.com/games/detail/fallout-shelter-switch/)), application (like [YouTube](https://www.nintendo.com/games/detail/youtube-switch/)), or a game demo (like [10 Second Run RETURNS](https://www.nintendo.com/games/detail/10-second-run-returns-switch)). Running the Homebrew Menu via a game cartridge is an alternative, but requires the game to be inserted any time you want to launch the Homebrew Menu. Generally, title takeover doesn't permanently alter the donor game or application.
------
+Once you obtain any bootable title, you are prepared to continue on with the guide.
+
+---
::: tip
@@ -93,11 +95,11 @@ Before setting up for homebrew, install at least one eShop title to utilize "tit
::: details Frequently Asked Questions about this page
-- **Q: How reliable is the crowdsourced list of vulnerable serial numbers, and what if my serial number is not listed?**
+* **Q: How reliable is the crowdsourced list of vulnerable serial numbers, and what if my serial number is not listed?**
A: To our knowledge, there hasn't been a single console which has disproved the trends documented here. Unless your serial is potentially patched, you can be certain that the table is accurate to reality.
-- **Q: Why is it essential to install at least one eShop title before setting up homebrew, and what is "title takeover"?**
+* **Q: Why is it essential to install at least one eShop title before setting up homebrew, and what is "title takeover"?**
A: By default, the homebrew menu and its apps inherit the resources of the Album applet. Applets don't have as many system resources as full apps, and as such have inconsistent behavior when used for homebrew purposes. Title takeover ensures the best performance, and is required for some homebrew.
:::
diff --git a/docs/user_guide/modchip/index.md b/docs/user_guide/modchip/index.md
index 4941f2ceb..efcda6459 100644
--- a/docs/user_guide/modchip/index.md
+++ b/docs/user_guide/modchip/index.md
@@ -13,6 +13,7 @@ A modchip is a physical modification to the motherboard of your Switch. It canno
**Note:** The above guide is not hosted or supported by NH Server; we cannot provide support for reviving consoles ruined by inexperience.
## Information
+
Unlike "unpatched" consoles, modchips enable CFW via CPU voltage glitching, which bypass bootROM firmware verifications. It allows a ``payload.bin`` file to be launched in place of BOOT0, loaded via a modchip firmware module named `sdloader`. This is much different from RCM and its exploit, [fusee-gelee](https://github.com/Qyriad/fusee-launcher/blob/master/report/fusee_gelee.md), which "unpatched" consoles use.
Modchips allow any console, including all patched consoles, to run CFW!
@@ -27,21 +28,21 @@ If you do turn on your Switch without a microSD card inserted, you should end up
::: details About modchips and their firmware versions (Click to unfold)
-Some modchip firmwares (e.g., Spacecraft-NX, Hwfly-NX and the Picofly firmware) allow bypassing `sdloader` by holding one - or both - of the volume buttons during power-on, enabling normal boot without a microSD card. Not all modchips support manual firmware updates.
+Some modchip firmware (e.g., Spacecraft-NX, Hwfly-NX and the Picofly firmware) allows bypassing `sdloader` by holding one - or both - of the volume buttons during power-on, enabling normal boot without a microSD card. Not all modchips support manual firmware updates.
:::
Modchipped Switch consoles allow untethered, coldboot CFW loading, directly entering custom firmware without external devices like dongles or jigs. This is in contrast to the tethered coldboot "RCM" entrypoint.
-- "Untethered coldboot" means being able to turn on your console from a fully-off ("cold") state directly into custom firmware, without external devices such as a dongle, payload injector, or jig.
+* "Untethered coldboot" means being able to turn on your console from a fully-off ("cold") state directly into custom firmware, without external devices such as a dongle, payload injector, or jig.
Running CFW on modchipped consoles is more simplistic, as it only requires you to have `payload.bin` present on the root of your microSD card when you turn on the system.
Furthermore, this guide assumes you have a functional modchip installation.
## Important
-If you do decide to follow the recommended emuMMC path later in the guide, make sure you disable [Automatic Save Data Cloud backups/downloads](https://www.nintendo.co.uk/Support/Nintendo-Switch/How-to-Enable-Disable-Automatic-Save-Data-Backups-and-Downloads-1434310.html) beforehand as well as making sure [the Switch is set as the primary Pass-Enabled console](https://en-americas-support.nintendo.com/app/answers/detail/a_id/41221/~/how-to-set-or-change-the-primary-nintendo-switch-console-for-a-nintendo-account).
+If you do decide to follow the recommended emuMMC path later in the guide, make sure you disable [Automatic Save Data Cloud backups/downloads](https://www.nintendo.co.uk/Support/Nintendo-Switch/How-to-Enable-Disable-Automatic-Save-Data-Backups-and-Downloads-1434310.html) beforehand as well as making sure [the Switch is set as the primary Pass-Enabled console](https://en-americas-support.nintendo.com/app/answers/detail/a_id/41221/~/how-to-set-or-change-the-primary-nintendo-switch-console-for-a-nintendo-account).
::: danger
@@ -65,25 +66,25 @@ We can give advice and installation tips for the installation as long as it's fo
::: details Frequently Asked Questions about this page
-- **Q: Can you provide more information about modchip firmwares, specifically regarding their impact on the boot process and the ability to bypass the sdloader?**
+* **Q: Can you provide more information about modchip firmware, specifically regarding their impact on the boot process and the ability to bypass the sdloader?**
- A: Modchip firmwares indirectly determine the functionality of your system. Modern modchips (such as Picofly) typically have firmware flashed to them that support all hardware configurations (namely eMMC brands like Hynix, Samsung and Toshiba) "out-of-the-box" and also allow you to bypass `sdloader`. If this is not the case however, flashing the firmware manually is required by opening up the Switch and using the USB debug port that comes with the modchip to flash the modchip directly. This is especially required in the cases where the eMMC brand is not supported, as your Switch wouldn't boot whatsoever and the modchip would be stuck while trying to glitch/train and write its payload to the `BOOT0` partition of the internal storage.
+ A: Modchip firmware indirectly determines the functionality of your system. Modern modchips (such as Picofly) typically have firmware flashed to them that support all hardware configurations (namely eMMC brands like Hynix, Samsung and Toshiba) "out-of-the-box" and also allow you to bypass `sdloader`. If this is not the case however, flashing the firmware manually is required by opening up the Switch and using the USB debug port that comes with the modchip to flash the modchip directly. This is especially required in the cases where the eMMC brand is not supported, as your Switch wouldn't boot whatsoever and the modchip would be stuck while trying to glitch/train and write its payload to the `BOOT0` partition of the internal storage.
-- **Q: What different types of modchips are there?**
+* **Q: What different types of modchips are there?**
A: There are three main types of modchips for the Nintendo Switch. Only two of them are relevant for this guide.
On the V1 Nintendo Switch, a chip can be installed which automatically injects a payload whenever the console is detected in RCM. This type of modchip is **not** supported by this guide.
- On all other Switch consoles, there are DIY "Picofly" modchips which can be created with Raspberry Pi parts and custom cables. These use special firmwares, and are not compatible with firmwares intended for other modchips.
+ On all other Switch consoles, there are DIY "Picofly" modchips which can be created with Raspberry Pi parts and custom cables. These use special firmware, and are not compatible with firmware intended for other modchips.
- There are also other "commercial" modchips of dubious origin by the name of "hwfly" or "SX Core/Lite"; we only will help with flashing new firmwares onto these, if you happen to already have one of them installed. Do not ask for assistance installing or sourcing this type of modchip.
+ There are also other "commercial" modchips of dubious origin by the name of "hwfly" or "SX Core/Lite"; we only will help with flashing new firmware onto these, if you happen to already have one of them installed. Do not ask for assistance installing or sourcing this type of modchip.
-- **Q: Can you further explain the concept of running homebrew "over a title" and why it allows for higher resource allocation?**
+* **Q: Can you further explain the concept of running homebrew "over a title" and why it allows for higher resource allocation?**
A: The default way to run homebrew within Atmosphère is via the Album applet on the HOME Menu. However, applets have significantly less resources compared to full applications, and homebrew tools often run into constraints with these limits. By holding a button while launching normal apps while in CFW, you can load the Homebrew menu in their stead with full resources.
-- **Q: What makes Picofly the only supported modchip, and what are the potential risks associated with installing a modchip on your Switch without proper experience?**
+* **Q: What makes Picofly the only supported modchip, and what are the potential risks associated with installing a modchip on your Switch without proper experience?**
A: Picofly is a fully open-source modchip, from the firmware to the RP2040 microcontroller it uses. Other "commercial" modchips have dubious origins, or were manufactured by [established illegal piracy groups](https://www.justice.gov/opa/pr/two-members-notorious-videogame-piracy-group-team-xecuter-custody) that have no place in the homebrew community. For the safety of your console and to respect the law of where NH Server is based, we will not assist with sourcing these types of modchips.
diff --git a/docs/user_guide/modchip/preparing_hekate.md b/docs/user_guide/modchip/preparing_hekate.md
index 25ff1db4f..e148ddf8b 100644
--- a/docs/user_guide/modchip/preparing_hekate.md
+++ b/docs/user_guide/modchip/preparing_hekate.md
@@ -10,11 +10,12 @@ Later in the guide, you will be formatting and/or partitioning your microSD card
:::
-## What you need:
-- The latest release of [hekate](https://github.com/CTCaer/Hekate/releases/) (Download the `hekate_ctcaer_(version).zip` release of hekate)
-- Your microSD card
+## Section I - Requirements
-## Instructions:
+* The latest release of [hekate](https://github.com/CTCaer/Hekate/releases/) (Download the `hekate_ctcaer_(version).zip` release of hekate)
+* Your microSD card
+
+## Section II - Instructions
1. Extract the hekate `.zip` to a location on your computer.
1. Insert your microSD card into your computer.
@@ -25,7 +26,7 @@ Later in the guide, you will be formatting and/or partitioning your microSD card
1. Insert your microSD card back into your Switch, then turn it on.
1. You should now be loaded into the hekate GUI (Nyx), pictured below, within seconds.
{ width="600" }
- - If you are unable to load into Nyx, consult the warning message below.
+ * If you are unable to load into Nyx, consult the warning message below.
::: warning
@@ -47,7 +48,7 @@ A: It is recommended that you use a microSD that is already formatted as FAT32 b
**Q: What makes hekate the recommended choice in this guide?**
-A: hekate is a polished, multi-purpose bootloader for the Switch. It has the tools to facilitate simple usage of custom firmware and custom operating systems, and aids with organisation and formatting later on in this guide.
+A: hekate is a polished, multi-purpose bootloader for the Switch. It has the tools to facilitate simple usage of custom firmware and custom operating systems, and aids with organization and formatting later on in this guide.
**Q: How do you pronounce "hekate"?**
diff --git a/docs/user_guide/rcm/entering_rcm.md b/docs/user_guide/rcm/entering_rcm.md
index b043d0d9e..44826ae41 100644
--- a/docs/user_guide/rcm/entering_rcm.md
+++ b/docs/user_guide/rcm/entering_rcm.md
@@ -1,3 +1,7 @@
+---
+outline: false
+---
+
# Entering RCM
The Switch's Tegra X1 processor has a recovery mode referred to shorthand as RCM, intended to be useless for end-users. Fortunately, due to the fusee-gelee vulnerability, this special mode acts as our gateway into CFW.
@@ -22,11 +26,11 @@ The order of methods on this page is in the order of ease. The easiest method to
:::
-## Instructions:
+## Instructions
1. Power off the Switch and short the pins on the right Joy-Con rail using one of the methods listed below.
1. While holding the `Volume Up` button, press the `Power` button once while holding `Volume Up`.
- - If your Switch displays the Nintendo logo and boots normally (or the screen was on and goes black), you didn't successfully enter RCM and should try again. Otherwise, if your console still has a black screen (even after tapping the power button again), your Switch is in RCM and you can let go of the `Volume Up` button.
+ * If your Switch displays the Nintendo logo and boots normally (or the screen was on and goes black), you didn't successfully enter RCM and should try again. Otherwise, if your console still has a black screen (even after tapping the power button again), your Switch is in RCM and you can let go of the `Volume Up` button.
1. Once your Switch is in RCM, remove the RCM jig (if applicable) and continue with the next page of the guide by clicking on the button at the bottom of this page.
::::: tabs
@@ -39,18 +43,18 @@ Once you have successfully entered RCM, you can take the jig out of the Joy-Con
This method is similar to the "metal bridge" / "paperclip method", but is more reliable and safer in many cases. Jigs hold a wire in place so the correct pins (10 and a ground) are reliably shorted.
-#### The RCM jig pictured below is the model we recommend:
+### The RCM jig pictured below is the model we recommend
{ width="250"}
------
+---
::: details Making your own RCM Jig
If you plan on making your own jig, the second image lays out the right Joy-Con pad out on the console. Make sure your jig NEVER touches pin 4. Pin 4 provides 5 volts of power to the Joy-Con, and can permanently damage the rail or console if shorted.
{ width="600"}
-{ width="600"}
+{ width="600"}
:::
@@ -64,30 +68,36 @@ This method comes to us from the mind of `pbanj` on Discord. All pictures of thi
The goal of this method is to open the right Joy-Con to the point that you can reach the contact pads easily. This is similar to the previous method, however you will be soldering wires to pins 7 and 10 (shown below) and wiring them to the "rail release button" at the top back of the right Joy-Con.
-#### JoyCon pad pinout:
+### JoyCon pad pinout
+
{ width="600"}
In order to start this method you will want to take two lengths of wire, and wrap one end of each into a small circle.
-#### Wire reference:
+### Wire reference
+
{ width="675"}
You will then want to take the circular end of one of the wires and add a small amount of solder, keeping it mostly flat (ONLY DO THIS TO ONE OF THE WIRES!). You will then glue this wire down to the below point on the rail release button. Make sure glue doesn't cover the top of the solder/wire as it will act as a contact point. Also, ensure that you leave enough space for the button to function correctly. Try pushing the button from the outside and observing its travel path so that you can see where and how you should safely glue the solder glob.
-#### Joy-Con button:
+### Joy-Con button
+
{ width="650"}
-#### Joy-Con button:
+### Joy-Con button
+
{ width="650"}
The first wire should now be in place as seen by the green circle below. The second wire does not need any solder, instead you will hold it in place using the screw as shown by the red circle in the picture below.
-#### Joy-Con button in place:
+### Joy-Con button in place
+
{ width="650"}
Pressing the Joy-Con button in you should now notice the solder point you created making contact with the piece of metal held in by the screw. Once you have these elements in place you want to connect one wire to pad 7 and the other to pad 10 (it doesn't matter which is which). After that you have successfully created an RCM button on your Joycon. You will now need to hold down the Joycon release button when attempting to boot RCM.
-#### Successful installation:
+### Successful installation
+
{ width="650"}
::::
@@ -98,13 +108,15 @@ This method requires opening your right Joy-Con, voiding its warranty. Not for t
The goal of this method is to open the right handed Joy-Con to the point that you can reach the contact pads easily. This is similar to the previous method, however the goal is to solder pins 7 and 10 (shown below) together with a surface-mount `0805 10k` resistor. Apart from using a physical switch/button, this is currently considered the safest method that involves soldering to pads.
-#### JoyCon pad pinout:
+### JoyCon pad pinout
+
{ width="600"}
Here is an example from `stuck_pixel` from the ReSwitched Discord server.
-#### Successful installation:
-{ width="650"}
+### Successful installation
+
+{ width="650"}
::::
@@ -116,12 +128,14 @@ This method requires opening your right Joy-Con, voiding its warranty. Not for t
The goal of this method is to open the right Joy-Con to the point that you can reach the contact pads easily. This is similar to the previous method, however the goal is to solder pads 9 and 10 (seen below) together. This can either be done using a small wire, or directly bridging the pads with solder.
-#### JoyCon pad pinout:
+### JoyCon pad pinout
+
{ width="600"}
Below is an example from `yami0666` from our Discord server.
-#### Successful soldering job:
+### Successful soldering job
+
{ width="650" }
::::
@@ -134,12 +148,14 @@ This method requires opening your right Joy-Con, voiding its warranty. Not for t
The goal of this method is to open the right handed Joy-Con to the point that you can reach the contact pads easily, and use a thin object such as a knife to gently bend pin 9 and 10 (shown below) slightly up and towards each other so they touch, shorting them.
-#### JoyCon pinout:
+### JoyCon pinout
+
{ width="600"}
Here is an example from `sonlen` on our Discord server.
-#### Bent Joy-Con pins:
+### Bent Joy-Con pins
+
{ width="650"}
::::
diff --git a/docs/user_guide/rcm/index.md b/docs/user_guide/rcm/index.md
index b92917974..28c15a5f7 100644
--- a/docs/user_guide/rcm/index.md
+++ b/docs/user_guide/rcm/index.md
@@ -2,7 +2,7 @@
RCM (short for **R**e**C**overy **M**ode) is a pre-boot mode for Tegra processors that allows NVIDIA and Nintendo to send the Switch tiny programs for various internal uses. On unpatched consoles, once a payload was sent, then quickly copied into the memory buffer behind the stack, it overflowed the memory buffer into the stack. This leads to a "smashed stack" and unsigned code execution within a bootROM context, giving us access to nearly everything on the console. We use it here to launch Atmosphère.
-If you choose the emuMMC path introduced later in the guide, it'll be important to disable the [Automatic Save Data Cloud](https://en-americas-support.nintendo.com/app/answers/detail/a_id/41209) function beforehand, as well as making sure [the Switch is set as the primary Pass-Enabled console](https://en-americas-support.nintendo.com/app/answers/detail/a_id/41221/~/how-to-set-or-change-the-primary-nintendo-switch-console-for-a-nintendo-account).
+If you choose the emuMMC path introduced later in the guide, it'll be important to disable the [Automatic Save Data Cloud](https://en-americas-support.nintendo.com/app/answers/detail/a_id/41209) function beforehand, as well as making sure [the Switch is set as the primary Pass-Enabled console](https://en-americas-support.nintendo.com/app/answers/detail/a_id/41221/~/how-to-set-or-change-the-primary-nintendo-switch-console-for-a-nintendo-account).
::: tip
@@ -11,11 +11,12 @@ If you choose the emuMMC path introduced later in the guide, it'll be important
:::
::: details Frequently Asked Questions about this page
-- **Q: How does the RCM exploit work on unpatched Nintendo Switch consoles?**
- A: For more information, please reference [this page](../../fusee_gelee). There is also a Medium article about it [here](https://medium.com/@SoyLatteChen/inside-fus%C3%A9e-gel%C3%A9e-the-unpatchable-entrypoint-for-nintendo-switch-hacking-26f42026ada0).
+* **Q: How does the RCM exploit work on unpatched Nintendo Switch consoles?**
-- **Q: Does RCM work on patched consoles?**
+ A: For more information, please reference [this page](../../fusee_gelee). There is also an article about it on [Medium](https://medium.com/@SoyLatteChen/inside-fus%C3%A9e-gel%C3%A9e-the-unpatchable-entrypoint-for-nintendo-switch-hacking-26f42026ada0).
+
+* **Q: Does RCM work on patched consoles?**
A: Yes. RCM is an intended mode for all Switch consoles. The exploit is the unintended effect that only some consoles can use. Consoles with the Tegra X1+ have a completely new bootROM with no evidence of the exploit, while "patched" V1 systems have an IROM patch to the bootROM applied that effectively removes fusee-gelee as well.
diff --git a/docs/user_guide/rcm/sending_payload.md b/docs/user_guide/rcm/sending_payload.md
index 35b6ab495..ba0e77c18 100644
--- a/docs/user_guide/rcm/sending_payload.md
+++ b/docs/user_guide/rcm/sending_payload.md
@@ -1,3 +1,7 @@
+---
+outline: false
+---
+
# Sending a Payload
::: warning
@@ -16,26 +20,26 @@ Now that the device is in RCM, we will need to send it a payload. The methods ar
:::: tab default Windows
-### What you need:
+### Section I - Requirements
-- The latest release of [TegraRcmGUI](https://github.com/eliboa/TegraRcmGUI/releases) (either the MSI or zip)
-- A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
-- The latest release of [hekate](https://github.com/CTCaer/Hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
+* The latest release of [TegraRcmGUI](https://github.com/eliboa/TegraRcmGUI/releases) (either the MSI or zip)
+* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
+* The latest release of [hekate](https://github.com/CTCaer/Hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
-### Instructions:
+### Section II - Instructions
1. Install and run TegraRcmGUI.
1. Navigate to the `Settings` tab, then press `Install Driver` and follow the on-screen instructions.
- - If you face issues when installing the driver, follow the [driver installation with Zadig](#driver-installation-with-zadig) section below.
+ * If you face issues when installing the driver, follow the [driver installation with Zadig](#optional---driver-installation-with-zadig) section below.
1. Connect your Switch in RCM to your PC using the USB cable.
1. Navigate to the `Payload` tab of TegraRcmGUI.
- - Your Switch should be shown as detected in the bottom left corner.
+ * Your Switch should be shown as detected in the bottom left corner.
1. Press the file button next to `Inject payload`, and navigate to and select the `hekate_ctcaer_X.X.X.bin` file.
- - Do not use the hekate payload included in TegraRcmGUI. It is outdated and missing a feature needed later in the guide.
+ * Do not use the hekate payload included in TegraRcmGUI. It is outdated and missing a feature needed later in the guide.
1. Click `Inject payload` to launch the payload you selected.
- - If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
+ * If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
-### Driver installation with Zadig
+### Optional - Driver installation with Zadig
Follow these steps if you face issues when installing the driver with TegraRcmGUI. You will need the latest version of [Zadig](https://zadig.akeo.ie).
@@ -45,25 +49,25 @@ Follow these steps if you face issues when installing the driver with TegraRcmGU
1. Select `libusbK (v3.1.0.0)` in the driver list.
1. Click `Install Driver` and wait for the installation to finish.
-If you experience issues with TegraRcmGUI or you just want to try a different payload injector, you can check out JTegraNX by unfolding the section below.
+If you experience issues with TegraRcmGUI or you just want to try a different payload injector, you can check out JTegraNX by unfolding the section below.
::: details Alternative payload injector for Windows {closed}
-### What you need:
+### Section I - Requirements
-- The latest release of [JTegraNX](https://github.com/DefenderOfHyrule/JTegraNX/releases)
-- A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
-- The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
-- At least Java 11+ (ideally 21 LTS)
+* The latest release of [JTegraNX](https://github.com/DefenderOfHyrule/JTegraNX/releases)
+* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
+* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
+* At least Java 11+ (ideally 21 LTS)
-### Instructions:
+### Section II - Instructions
1. Download and run the JTegraNX-X.X.X.jar file.
1. Connect your Switch in RCM to your PC using the USB cable.
1. Click the `Browse for payload` button, then navigate to- and select the `hekate_ctcaer_X.X.X.bin` file.
- - **Note:** You can also click the `Payloads` tab at the top of the JTegraNX window and select the latest hekate payload from there.
+ * **Note:** You can also click the `Payloads` tab at the top of the JTegraNX window and select the latest hekate payload from there.
1. Click the `Inject payload` button.
- - If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
+ * If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
:::
@@ -71,85 +75,85 @@ If you experience issues with TegraRcmGUI or you just want to try a different pa
:::: tab Linux
-### What you need:
+### Section I - Requirements
-- The latest release of [JTegraNX](https://github.com/DefenderOfHyrule/JTegraNX/releases)
-- A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
-- The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
-- At least Java 11+ (ideally 21 LTS)
+* The latest release of [JTegraNX](https://github.com/DefenderOfHyrule/JTegraNX/releases)
+* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
+* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
+* At least Java 11+ (ideally 21 LTS)
-### Instructions:
+### Section II - Instructions
-1. Download and run the JTegraNX-X.X.X.jar file. (This can be done from terminal or from your file manager.)
- - **Note:** You will need to run JTegraNX as root, unless you follow the instructions at [Linux injection without root](../../extras/adding_udev).
+1. Download and run the JTegraNX-X.X.X.jar file. (This can be done from terminal or from your file manager.)
+ * **Note:** You will need to run JTegraNX as root, unless you follow the instructions at [Linux injection without root](../../extras/adding_udev).
1. Connect your Switch in RCM to your PC using the USB cable.
1. Click the `Browse for payload` button, then navigate to- and select the `hekate_ctcaer_X.X.X.bin` file.
- - **Note:** You can also click the `Payloads` tab at the top of the JTegraNX window and select the latest hekate payload from there.
+ * **Note:** You can also click the `Payloads` tab at the top of the JTegraNX window and select the latest hekate payload from there.
1. Click the `Inject payload` button.
- - If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
+ * If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
---
-If you experience issues with JTegraNX, you just want to try a different payload injector or you don't want to use Java, you can check out fusee-nano by unfolding the section below.
-
-- **Note:** fusee-nano has a tendency to simply not work on *some* system configurations for unknown reasons. Please keep this in mind.
+If you experience issues with JTegraNX, you just want to try a different payload injector or you don't want to use Java, you can check out fusee-nano by unfolding the section below.
+
+* **Note:** fusee-nano has a tendency to simply not work on *some* system configurations for unknown reasons. Please keep this in mind.
::: details Alternative payload injector for Linux {closed}
-### What you need:
+### Section I - Requirements
-- The latest release of [fusee-nano](https://github.com/DefenderOfHyrule/fusee-nano/releases) (also available on the [AUR](https://aur.archlinux.org/packages/fusee-nano))
- - If you use Arch Linux or a derivative distro, the AUR package is recommended.
-- A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
-- The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
+* The latest release of [fusee-nano](https://github.com/DefenderOfHyrule/fusee-nano/releases) (also available on the [AUR](https://aur.archlinux.org/packages/fusee-nano))
+ * If you use Arch Linux or a derivative distro, the AUR package is recommended.
+* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
+* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
-### Instructions:
+### Section II - Instructions
1. Download and run the payload injector from your terminal. You will need to run the injector as root, unless you follow the instructions at [Linux injection without root](../../extras/adding_udev).
1. Connect your Switch in RCM to your PC using the USB cable.
1. Run fusee-nano with: `./fusee-nano /path/to/hekate-ctcaer_X.X.X.bin`
- - As mentioned earlier, unless you have followed the instructions at [Linux injection without root](../../extras/adding_udev), this will require root to run. For most systems, this is done with `sudo`
- - If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
+ * As mentioned earlier, unless you have followed the instructions at [Linux injection without root](../../extras/adding_udev), this will require root to run. For most systems, this is done with `sudo`
+ * If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
::::
:::: tab Mac
-### What you need:
+### Section I - Requirements
-- The latest release of [CrystalRCM](https://github.com/prayerie/CrystalRCM/releases) (the `CrystalRCM.(version).dmg` file)
-- A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
-- The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
+* The latest release of [CrystalRCM](https://github.com/prayerie/CrystalRCM/releases) (the `CrystalRCM.(version).dmg` file)
+* A USB-A to USB-C cable (or a standard USB-C cable if your computer natively supports USB-C)
+* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
-### Instructions:
+### Section II - Instructions
1. Download the latest release of CrystalRCM.
1. Mount the `CrystalRCM.(version).dmg` file, open the mounted disk image in File Explorer and copy the `CrystalRCM.app` file inside of the mounted disk image to any location on your Mac.
1. Open the `CrystalRCM.app` app, then click `Select payload` and select the `hekate_ctcaer_X.X.X.bin` file.
- - macOS may warn you about the application being downloaded from the internet. To get around this warning, hold the control key while clicking the application, then click Open and Open again.
- - **macOS Sequoia users:** Apple has changed how unsigned applications from the internet are opened. You will need to follow the instructions [here](https://wiki.hacks.guide/wiki/Open_unsigned_applications_on_macOS_Sequoia) to open the application.
+ * macOS may warn you about the application being downloaded from the internet. To get around this warning, hold the control key while clicking the application, then click Open and Open again.
+ * **macOS Sequoia users:** Apple has changed how unsigned applications from the internet are opened. You will need to follow the instructions on the [hacks.guide Wiki](https://wiki.hacks.guide/wiki/Open_unsigned_applications_on_macOS_Sequoia) to open the application.
1. Connect your Switch in RCM to your PC using the USB cable, make sure it's also detected in CrystalRCM.
1. Once selected, click `Push!`. The payload should now be injected successfully.
- - If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
+ * If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
::::
:::: tab Android
-### What you need:
+### Section I - Requirements
-- The latest release of Rekado
-- You will need to enable Unknown Sources in your device settings to install this
-- A USB-C cable
-- If your device has a USB-C port, you may use a C-C cable
-- If your device only has a Micro USB port, you will need a USB OTG adapter and a USB A-C cable
- - This **will not work** on every phone!
-- The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
+* The latest release of [Rekado](https://github.com/MenosGrante/Rekado/releases)
+* You will need to enable Unknown Sources in your device settings to install this
+* A USB-C cable
+* If your device has a USB-C port, you may use a C-C cable
+* If your device only has a Micro USB port, you will need a USB OTG adapter and a USB A-C cable
+ * This **will not work** on every phone!
+* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/). The hekate payload (`hekate_ctcaer_(version).bin`) is located inside of the `hekate_ctcaer_(version).zip`.
-### Instructions:
+### Section II - Instructions
1. Copy the hekate_ctcaer `.bin` file from the hekate `.zip` file to a location on your phone.
- - A tool such as Amaze File Manager can do this.
+ * A tool such as Amaze File Manager can do this.
1. Launch Rekado on your phone.
1. Navigate to `Payloads` (Signified by a downwards arrow with a line), then press the `+` button at the bottom right.
1. Navigate to your hekate_ctcaer `.bin` file and tap it to add it to Rekado's menu.
@@ -157,15 +161,15 @@ If you experience issues with JTegraNX, you just want to try a different payload
1. Connect your Switch in RCM to your phone using the USB cable.
1. If prompted, grant Rekado access to the Switch.
1. Select the `hekate_ctcaer_X.X.X.bin` file in the dialog that pops up.
- - If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
+ * If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
::::
:::: tab Chromebook
-### What you need:
+### Section I - Requirements
-- A USB-A to USB-C cable
+* A USB-A to USB-C cable
::: warning
@@ -175,14 +179,14 @@ If your Chromebook has a USB-C port, do note that this will not work using a C-C
:::
-### Instructions:
+### Section II - Instructions
1. Go to the injection [website](https://fusee.eiphax.tech/) and scroll all the way down
1. Open the dropdown menu and select `hekate_ctcaer_X_X_X` from the list.
1. Connect your Switch in RCM to your Chromebook using the USB cable.
1. Select "Deliver Payload". A pop-up will appear. Click the `APX` option.
1. Press the Connect button and the payload will be injected.
- - If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
+ * If your payload was successfully injected your switch should have yellow text that says "Update bootloader folder!", this will be resolved soon.
::::
@@ -197,7 +201,8 @@ If your console's screen remains black after you've sent hekate (or any other pa
:::
## Preparing hekate
-We will prepare the microSD card for formatting/partitioning before going to the next page. Removing the microSD card while in hekate is safe so turning off the console is not necessary and keeping it on will save time that would be spent reinjecting the payload.
+
+We will prepare the microSD card for formatting/partitioning before going to the next page. Removing the microSD card while in hekate is safe so turning off the console is not necessary and keeping it on will save time that would be spent re-injecting the payload.
::: danger
@@ -207,11 +212,13 @@ Later in the guide, you will be formatting and/or partitioning your microSD card
:::
-### What you need:
-- The latest release of [hekate](https://github.com/CTCaer/hekate/releases/).
-- Your microSD card
+### Section I - Requirements
+
+* The latest release of [hekate](https://github.com/CTCaer/hekate/releases/).
+* Your microSD card
+
+### Section II - Instructions
-### Instructions:
1. Without turning your Switch off, remove the microSD card from the Switch.
1. Insert your microSD card into your computer.
1. Copy the `Nintendo` folder (and any other important data) from the root of your microSD card to a safe space on your device.
@@ -221,6 +228,7 @@ Later in the guide, you will be formatting and/or partitioning your microSD card
1. Put your microSD card back into your Switch.
1. Press any button to continue to the hekate menu.
1. Use volume up and volume down to navigate the hekate menu. Hover over 'load nyx' and press the power button to select. Your screen should now have the hekate GUI (Nyx) pictured below.
+
{ width="600" }
::: tip