Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

User:Botman/3ds Assistance Regular Guide: Difference between revisions

User page
(Oi botman here’s the edit (added broken NAND as a reason to use a emuNAND))
Tags: Mobile edit Mobile web edit
(Fixed linky link)
(30 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{#approvable_by: users = Botman}}
Welcome to the 3DS assistance guide! If you're reading this, you most likely want to be better at helping in the Nintendo Homebrew Discord, but don't know where to start. This guide should serve as a helpful glossary and FAQ for those purposes.
Welcome to the 3DS assistance guide! If you're reading this, you most likely want to be better at helping in the Nintendo Homebrew Discord, but don't know where to start. This guide should serve as a helpful glossary and FAQ for those purposes.


Line 6: Line 5:
** Having only enough info to make educated guesses is fine, you're not expected to instantly find a solution. That's sometimes how it works even for the helpers.
** Having only enough info to make educated guesses is fine, you're not expected to instantly find a solution. That's sometimes how it works even for the helpers.
* You don't have to keep helping if someone's getting on your nerves. There will always be other people to find that person's issue.
* You don't have to keep helping if someone's getting on your nerves. There will always be other people to find that person's issue.
* Don't assist people in DMs. It is against the server rules, as we cannot monitor it.
* Do NOT assist in dm. It is against the server rules, as we cannot monitor it.
* Don’t expect anything for helping out. Ideally, the helping should be its own reward anyway.
** That isn't an excuse to get burnt out, though. There's a difference between being selfless and being self-destructive.


== Difference between software, firmware and hardware ==
== Difference between software, firmware and hardware ==
Line 17: Line 14:


== Basic info on SOAP transfers ==
== Basic info on SOAP transfers ==
All information on SOAP transfers can be found under [[3DS:cleaninty|cleaninty's page.]]
When a console connects to anything that uses the eShop servers, the eShop gets a full list of the titles available in that console's "eShop region" (including system apps) and compares this list against what is installed on the console. (Note that the eShop region is distinct from the region of the console's firmware.)
<br>After a console is region changed, the eShop gets a list of system apps that do not exist in the console's eShop region. This causes the error that blocks access to various online services.


You almost always need donor files from an unusable console to do SOAP transfers, so if you need a SOAP for your console, don't try to do it yourself. Ask on the Nintendo Homebrew Discord, and one of the people with a large number of donors will be able to help.
To fix this, [[3DS:cleaninty|cleaninty]] is used along with the console's unique files to create a new eShop account in the correct region.


== Command list ==
This usually requires donor files from an unusable console, so don't try to do it yourself. Ask on the Discord, and someone who already regularly does SOAPs will be able to help.
[https://docs.google.com/spreadsheets/d/1Bz-8qddZqubr7toWiW402C-WWp3R_RpsX1njt1rO46M/edit?usp=sharing This Google Doc] contains a list of every single command relating to 3ds assistance.


== Useful Keywords ==
Below is a list of keywords that are nice to know.


== Useful Commands and Keywords ==
Here are some commands that are useful to know, as well as terms that are in common usage.


sysNAND: The console's internal file storage. CFW can be safely installed to this without any notable risks.
<code>.homext</code>: Shows how to delete the home menu data, in case it's causing a crash.
 
<code>.deltheme</code>: Shows how to delete the currently installed theme, in case it's causing a crash.
 
<code>.id0</code>: Shows what and where the id0 and id1 are.
 
<code>.luma</code>: Sends the download links to three versions of Luma: the latest version, v7.0.5, and v7.1.
 
<code>.luma latest</code>: Sends the download links to the latest version of luma: 13.0.2.
 
<code>.ntrboot</code>: Sends the 3DS guide page that lists [[3dsguide:ntrboot|flashcarts that work with ntrboot]].
 
<code>.r#</code> and <code>.tag piracy</code>: Display their respective rules' text, i.e. <code>.r4</code> shows rule 4, <code>.r11</code> shows rule 11, etc. .tag piracy adds to .r11 and sends [https://docs.google.com/document/d/1Uqm1FlouzBu7ih3JxF3vlT28fYIFY6PDcmZrItms7-o/edit?usp=sharing this] instead.
 
<code>.skater</code>: Brings up a embed for troubleshooting of [[3dsguide:installing-boot9strap-(super-skaterhax)|super-skaterhax]].
 
<code>.sdroot</code>: Shows what the root of the SD card is (and is not).
 
<code>.tag 17</code>: sends you the 11.17 interactive troubleshooter.
 
<code>.tag 3dsgames</code>: The best answer to "how do I download games", handles homebrew software, cart install and piracy all in one.
 
<code>.tag yarrharr</code>: Explains why Nintendo Homebrew doesn't allow piracy from a legal standpoint and why it's harmful to homebrew developers.


emuNAND: Short for emulated NAND. Used to be the way CFW was separated from the "stock" NAND, but this is no longer required. emuNANDs' only practical uses now are for Korean games' fonts or a broken NAND chip.
<code>.update 3ds</code>: Brings up a embed that walks through whether your console's luma version is safe to update with.
* redNAND: An improved type of emuNAND that doesn't take up as much space on the SD. Otherwise identical.


CTR: Short for Citrus and/or Centrair, the code names for the 3DS.
<code>.vc 3ds</code>: Sends the download link to NSUI (New Super Ultimate Injector) and its usage guide.
* Examples include: [[3DS:ctrcheck|'''ctr'''check]], [[3dsguide:ctrtransfer|'''ctr'''transfer]] and the '''CTR'''NAND.


NTR: Short for Nitro, the code name for the DS.
emuNAND: Short for emulated NAND. Used to be the way CFW was separated from the "stock" NAND, but this is no longer required. emuNANDs' only practical use now are for Korean games' fonts.
* Examples include: [[3DS:ntrboot|'''ntr'''boot]] and '''NTR''' CFW.
* redNAND: An improved type of emuNAND that doesn't take up as much space on the SD. Otherwise identical.


TWL: short for Twilight, the code name for the DSi.
sysNAND: The console's internal file storage. CFW can be safely installed to this without any notable risks.
* Examples include: '''TWL'''Fix, '''TW'''i'''L'''ightMenu++, and the '''TWL'''NAND.


== Useful Programs ==
== Useful Programs ==
Line 48: Line 64:
[[3DS:Anemone3DS|Anemone3DS]]: A theme and splash screen manager.
[[3DS:Anemone3DS|Anemone3DS]]: A theme and splash screen manager.


[[Checkpoint]]: A save file and cheat manager.
[[Checkpoint]]: A save backup tool and cheat manager.


[[3DS:FBI|FBI]]: A file explorer and title manager with significantly less safety checks than GodMode9.
[[3DS:FBI|FBI]]: A file explorer and title manager.


[[3DS:GodMode9|GodMode9]]: The Swiss Army Knife of the 3DS world. Mainly used as a file explorer, game dumper, title manager, and to create/restore NAND backups.
[[3DS:GodMode9|GodMode9]]: A heavily multi-use tool, mainly used as a file explorer, game dumper, title manager, and to create NAND backups.


[[3DS:Luma3DS|Luma3DS]]: The sole remaining CFW for the 3DS. Has [[3DS:Luma3DS/Configuration|several]] useful features and a [[3DS:Luma3DS/Rosalina|built-in menu]].
[[3DS:Luma3DS|Luma3DS]]: The sole remaining CFW for the 3DS. Has [[3DS:Luma3DS/Configuration|several]] useful features and a [[3DS:Luma3DS/Rosalina|built-in menu]].


[[3DS:Universal-Updater|Universal-Updater]]: Homebrew browser and updater.
[[3DS:Universal-Updater|Universal-Updater]]: Homebrew browser and updater.
[[3DS:FTP|FTPD]]: used to transfer files from your 3ds to your PC wirelessly.


----
----
Line 66: Line 80:
[[3DS:rverse|rverse]]: A third-party revival of Miiverse.
[[3DS:rverse|rverse]]: A third-party revival of Miiverse.


[[3DS:rehid|rehid]]: Allows remapping of the buttons and touchscreen based on specific inputs, and can be configured to run differently based on what game is being played.
[[3DS:rehid|rehid]]: Allows remapping of the buttons and touchscreen based on specific inputs or what game is being played.


[[3DS:TWiLightMenu|TWiLightMenu++]]: A DSi Menu upgrade/replacement, mainly used on the 3DS to play dumps of NDS games [[3DS:DS|directly from the SD card.]]
[[3DS:TWiLightMenu|TWiLightMenu++]]: A DSi Menu upgrade/replacement, mainly used on the 3DS to play dumps of NDS games [[3DS:DS|directly from the SD card.]]


[[3DS:TWPatch|TWPatch]]: Enhances TWiLightMenu++'s visual capabilities, most notably by allowing for widescreen support.
[[3DS:TWPatch|TWPatch]]: Expands TWiLightMenu++'s visual capabilities, most notably by allowing for widescreen support.


[[3DS:ctrcheck|ctrcheck]]: A GodMode9 script that checks the NAND for damage. Cannot detect most hardware issues.
[[3DS:Hardware test|3ds_hw_test]]: A <code>.firm</code> payload that checks for RAM issues.


== Common troubleshooting situations ==
== Common troubleshooting situations ==
Line 80: Line 91:


{{info|1=Above all else, always remember to check [[3DS:ERR]] if you don't know what an error means - one of those pages is relatively likely to have it. If it doesn't and the error is either a stock error code or an ErrDisp, try using <code>.err</code> through Kurisu.}}
{{info|1=Above all else, always remember to check [[3DS:ERR]] if you don't know what an error means - one of those pages is relatively likely to have it. If it doesn't and the error is either a stock error code or an ErrDisp, try using <code>.err</code> through Kurisu.}}
* If the SD card is the problem, it may be worth it to reinsert the SD card to see if that works.
 
* If an error is occurring on boot and there is no known cause, see whether it keeps happening (including whether the error changes) if the SD is taken out. If it does, the issue is with the NAND.
* If an error is occurring on boot and there is no known cause, see whether it keeps happening (including whether the error changes) if the SD is taken out. If it does, the issue is with the NAND.
* If an error with the code <code>0xd900458b</code> is happening when opening a game, use [[3DS:FCG]].
* If an error with the code <code>0xd900458b</code> is happening within a game, use the tag with the same name. it will lead to [https://gist.github.com/lifehackerhansol/ba13b2adb40ecbe65fd299385aec57ff] here.
* If someone has Parental Controls enabled and wants to remove it, direct them to [[udb:3ds/3ds-parentalunlock|3DS-ParentalUnlock]] if they have CFW, or [https://mkey.eiphax.tech mkey.eiphax.tech] if they don't. (not salthax - it was never updated to work on the latest system version).
* If someone has Parental Controls enabled and wants to remove it, direct them to [https://mkey.eiphax.tech] (not salthax, as that site isn't updated for the latest sys version).
* If an <code>0xC8804478</code> error happens when opening anything that uses DS mode (a fast way to test is by opening Download Play -> Nintendo DS), link the <code>.twlfix</code> command (which is itself a redirect to [[3DS:TWLFix]]).
* If an <code>0xC8804478</code> error happens when opening any DS mode software (a fast way to test is by opening Download Play -> Nintendo DS), link the <code>.twlfix</code> command (which is itself a redirect to [[3DS:TWLFix]]).
* If a helpee has more than 1 ID0, tell them to do [[3DS:MID0]].
* If any '''one''' of the following things is happening to a console, link the hardware test (<code>3ds_hw_test.firm</code>) and have the helpee send the contents of <code>hwtest.log</code> after it finishes. This will test the RAM for errors.  
* If any '''one''' of the following things is happening to a console, link [[3DS:Hardware test|the hardware test]] and have the helpee send the contents of <code>hwtest.log</code> after it finishes. This will test the RAM for errors.  
*# The console repeatedly fails to boot and the notification LED is either [[3DS:boot9strap#LED_Status_Codes|red or magenta]] when it fails.
*# The console repeatedly fails to boot and the notification LED is either [[3DS:boot9strap#LED_Status_Codes|red or magenta]] when it fails.
*# The console randomly and inconsistently crashes, regardless of whether the SD is inserted or not.
*# The console randomly and inconsistently crashes, regardless of whether the SD is inserted or not.
Line 92: Line 102:


== Info on Older Setups ==
== Info on Older Setups ==
[[3DS:boot9strap|B9S]] is the newest of a long list of homebrew/CFW setups. Below is a list of all the mainstream older setups, in mostly chronological order, and instructions on how to upgrade from them to B9S.
Before B9s, there were many other setups. below is a list of them and how to effectively move from that setup to B9s.
 
Gateway: Using the ds profile exploit (mset exploit) to load a 3ds flashcart (note: this doesnt meant Ntrboot)
 
Upgrade to B9s:  [[3dsguide:ntrboot|Flash NTRBoot to the blue cartridge and install boot9strap via NTRBoot.]]
 
Userland: Homebrew Launcher access, before cfw.
 
Upgrade to B9s: Follow [[3ds:Alternate Exploits/Installing boot9strap (uloader)|uloader]] on 11.15.0 and below and [[3ds:Alternate Exploits/Installing boot9strap (nimdsphax)|nimdsphax]] on 11.16.0 and above.  


{{info|text=Setups marked with an <span style="color: red">(E)</span> use an [[3DS:EmuNAND and RedNAND|emuNAND]]. emuNANDs are unnecessary under boot9strap, as they were only used on these setups because modifying the sysNAND with homebrew was considered unsafe at the time.<br><br>
Menuhax: (description WIP)


If you are upgrading from one of these setups to B9S, it is advised to [[3ds:Move EmuNAND|move the emuNAND]] into your sysNAND.}}
Upgrade to B9s: [[3ds: Migrate from menuhax|Follow migrate from menuhax]]


{{info|text=If a setup is marked as N/A, it only means there's no easier way to migrate to boot9strap. If you were using a setup marked with N/A, you can still go to [[3dsguide:index|our guide to 3DS custom firmware]] and insert your system version to install CFW normally.}}
Arm9loaderhax: basically old b9s before old b9s. supports up to Luma3ds version 7.0.5.


# '''Userland''': Any exploit that allowed non-persistent Homebrew Launcher access, such as by running a modified save file from a cartridge game.
Upgrade to B9s: [[3dsguide:A9LH To B9S | Follow A9LH to B9S]]
#* Upgrade to boot9strap: Depends on your system version. If 11.15.0 or below, follow [[3ds:Alternate Exploits/Installing boot9strap (uloader)|uloader]]; if 11.16.0 or above, follow [[3ds:Alternate Exploits/Installing boot9strap (nimdsphax)|nimdsphax]].
# '''Gateway''' <span style="color: red">(E)</span>: Gateway's first attempt to take control of the 3DS homebrew scene. Uses a old/downgraded sysNAND combined with one of multiple exploits to load the Gateway Menu, from which an emuNAND on a newer version (known as Gateway Mode) is used for most homebrew functionality.
#* Upgrade to boot9strap:  [[3dsguide:ntrboot|Flash NTRBoot to the blue cartridge and install boot9strap via NTRBoot.]]
# '''Sky3DS''': Gateway's second attempt to take control. A piracy-focused [[3DS:Flashcarts|flashcart]] that spoofs a legitimate game, letting it run 3DS games directly from the HOME Menu on any firmware version without installing an exploit. Has an enormous ban risk unless you add a file that can only be extracted via CFW, and is thus obsolete.
#* Upgrade to boot9strap: N/A
# '''Stargate''': Gateway’s last attempt to take control. A piracy-focused flashcart that can run 3DS games the same way Sky3DS does, but also can run DS games and ntrboot. Has the same ban risk as Sky3DS when running 3DS games.
#* Upgrade to boot9strap: Usually N/A, but if you used their Easy CFW Mode pack, wipe the console's SD card and then follow [[3dsguide:Updating B9S|Updating B9S]].
# '''Menuhax''' <span style="color: red">(E)</span>: A set of secondary exploits that all triggered on Home Menu startup, allowed HBL access when opening Home Menu settings, and used a emuNAND. It was sometimes also used as an entrypoint for Gateway Mode.
#* Upgrade to boot9strap: Follow [[3ds:Migrate from menuhax|Migrate from menuhax]].
# '''[[3DS:arm9loaderhax|A9LH (arm9loaderhax)]]''': The direct predecessor to boot9strap - also a coldboot CFW, but with reduced functionality and safety because of how it's implemented. Supports Luma3DS versions up to 7.0.5.
#* Upgrade to boot9strap: Follow [[3dsguide:A9LH To B9S|A9LH to B9S]].
# '''B9S 1.0-1.3''': Just older versions of boot9strap. Very few practical differences aside from the older versions not having [[3DS:boot9strap#LED Status Codes|LED status codes]].
#* Upgrade to (latest) boot9strap: Follow [[3dsguide:Updating B9S|Updating B9S]]
#'''[[3DS:Fastboot3DS|FB3DS (fastboot3ds)]]''': An alternate bootloader option to B9S, trading out LED status codes for an interactive on-boot menu, FCRAM boot (useful for {{GitHub|SUOlivia/That-Shortcut-Thingy|That-Shortcut-Thingy}}), a chainloader with more flexibility and power than [[3DS:Luma3DS|Luma3DS]], and a system for backups of critical system files. Mainly useful for power users.
#* Return to boot9strap: Follow [[3dsguide:Updating B9S|Updating B9S]].

Revision as of 17:02, 23 October 2023

Welcome to the 3DS assistance guide! If you're reading this, you most likely want to be better at helping in the Nintendo Homebrew Discord, but don't know where to start. This guide should serve as a helpful glossary and FAQ for those purposes.

General Advice

  • Don't try to solve an issue if you have no idea how to fix it.
    • Having only enough info to make educated guesses is fine, you're not expected to instantly find a solution. That's sometimes how it works even for the helpers.
  • You don't have to keep helping if someone's getting on your nerves. There will always be other people to find that person's issue.
  • Do NOT assist in dm. It is against the server rules, as we cannot monitor it.

Difference between software, firmware and hardware

  • Hardware is the console's physical parts, such as the RAM and CPU. This also includes things like the n3DS' NFC touchpoint.
  • Software is the 'encoded instructions' that cause the hardware to do specific things. This includes games, homebrew apps, system apps, etc.
  • Firmware is any software that runs directly on top of the hardware, such as its operating system. Despite its name, 'custom firmware' usually only patches the existing firmware rather than being an entirely new one.


Basic info on SOAP transfers

When a console connects to anything that uses the eShop servers, the eShop gets a full list of the titles available in that console's "eShop region" (including system apps) and compares this list against what is installed on the console. (Note that the eShop region is distinct from the region of the console's firmware.)
After a console is region changed, the eShop gets a list of system apps that do not exist in the console's eShop region. This causes the error that blocks access to various online services.

To fix this, cleaninty is used along with the console's unique files to create a new eShop account in the correct region.

This usually requires donor files from an unusable console, so don't try to do it yourself. Ask on the Discord, and someone who already regularly does SOAPs will be able to help.


Useful Commands and Keywords

Here are some commands that are useful to know, as well as terms that are in common usage.

.homext: Shows how to delete the home menu data, in case it's causing a crash.

.deltheme: Shows how to delete the currently installed theme, in case it's causing a crash.

.id0: Shows what and where the id0 and id1 are.

.luma: Sends the download links to three versions of Luma: the latest version, v7.0.5, and v7.1.

.luma latest: Sends the download links to the latest version of luma: 13.0.2.

.ntrboot: Sends the 3DS guide page that lists flashcarts that work with ntrboot.

.r# and .tag piracy: Display their respective rules' text, i.e. .r4 shows rule 4, .r11 shows rule 11, etc. .tag piracy adds to .r11 and sends this instead.

.skater: Brings up a embed for troubleshooting of super-skaterhax.

.sdroot: Shows what the root of the SD card is (and is not).

.tag 17: sends you the 11.17 interactive troubleshooter.

.tag 3dsgames: The best answer to "how do I download games", handles homebrew software, cart install and piracy all in one.

.tag yarrharr: Explains why Nintendo Homebrew doesn't allow piracy from a legal standpoint and why it's harmful to homebrew developers.

.update 3ds: Brings up a embed that walks through whether your console's luma version is safe to update with.

.vc 3ds: Sends the download link to NSUI (New Super Ultimate Injector) and its usage guide.

emuNAND: Short for emulated NAND. Used to be the way CFW was separated from the "stock" NAND, but this is no longer required. emuNANDs' only practical use now are for Korean games' fonts.

  • redNAND: An improved type of emuNAND that doesn't take up as much space on the SD. Otherwise identical.

sysNAND: The console's internal file storage. CFW can be safely installed to this without any notable risks.

Useful Programs

The following are apps or scripts that are commonly used or have extremely useful functionality for damaged consoles.
Apps that are packaged with Finalizing Setup will be listed first.

Anemone3DS: A theme and splash screen manager.

Checkpoint: A save backup tool and cheat manager.

FBI: A file explorer and title manager.

GodMode9: A heavily multi-use tool, mainly used as a file explorer, game dumper, title manager, and to create NAND backups.

Luma3DS: The sole remaining CFW for the 3DS. Has several useful features and a built-in menu.

Universal-Updater: Homebrew browser and updater.


faketik: Creates new tickets for installed apps that lost theirs. Doesn't work if the apps themselves were deleted.

rverse: A third-party revival of Miiverse.

rehid: Allows remapping of the buttons and touchscreen based on specific inputs or what game is being played.

TWiLightMenu++: A DSi Menu upgrade/replacement, mainly used on the 3DS to play dumps of NDS games directly from the SD card.

TWPatch: Expands TWiLightMenu++'s visual capabilities, most notably by allowing for widescreen support.


Common troubleshooting situations

Some of the problems here are not actually "common" per se, but are instead included because they have a common cause and well-known solution.

OOjs UI icon information-progressive.svg Above all else, always remember to check 3DS:ERR if you don't know what an error means - one of those pages is relatively likely to have it. If it doesn't and the error is either a stock error code or an ErrDisp, try using .err through Kurisu.
  • If an error is occurring on boot and there is no known cause, see whether it keeps happening (including whether the error changes) if the SD is taken out. If it does, the issue is with the NAND.
  • If an error with the code 0xd900458b is happening within a game, use the tag with the same name. it will lead to [1] here.
  • If someone has Parental Controls enabled and wants to remove it, direct them to [2] (not salthax, as that site isn't updated for the latest sys version).
  • If an 0xC8804478 error happens when opening any DS mode software (a fast way to test is by opening Download Play -> Nintendo DS), link the .twlfix command (which is itself a redirect to 3DS:TWLFix).
  • If any one of the following things is happening to a console, link the hardware test (3ds_hw_test.firm) and have the helpee send the contents of hwtest.log after it finishes. This will test the RAM for errors.
    1. The console repeatedly fails to boot and the notification LED is either red or magenta when it fails.
    2. The console randomly and inconsistently crashes, regardless of whether the SD is inserted or not.
    3. GodMode9 crashes.

Info on Older Setups

Before B9s, there were many other setups. below is a list of them and how to effectively move from that setup to B9s.

Gateway: Using the ds profile exploit (mset exploit) to load a 3ds flashcart (note: this doesnt meant Ntrboot)

Upgrade to B9s: Flash NTRBoot to the blue cartridge and install boot9strap via NTRBoot.

Userland: Homebrew Launcher access, before cfw.

Upgrade to B9s: Follow uloader on 11.15.0 and below and nimdsphax on 11.16.0 and above.

Menuhax: (description WIP)

Upgrade to B9s: Follow migrate from menuhax

Arm9loaderhax: basically old b9s before old b9s. supports up to Luma3ds version 7.0.5.

Upgrade to B9s: Follow A9LH to B9S