User:Botman/3ds Assistance Regular Guide

User page
< User:Botman
Revision as of 22:44, 14 November 2023 by Lily (talk | contribs) (fix bulleting)

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.
  • Don’t expect anything for helping out, if you are, you are deeply mistaken

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.

OOjs UI icon information-progressive.svg the 3ds in some commands is not required in the 3ds assistance 1 and 3ds assistance 2 channels.

.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.

CTR: Short for citrus. the 3ds’ code name.

  • Examples include: CTRcheck, CTRtransfer and CTRnand.

NTR: Short for nitro. the ds’ code name.

  • Examples include: NTRboot, NTR CFW.

TWL: short for twilight. the dsi’s code name.

  • Examples include: TWLnand, TWLmenu++.

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.

FTPD: used to transfer files from your 3ds to your PC wirelessly.


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 when opening 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 a helpee has more than 1 id0, tell them to do the following steps.
    1. Rename the Nintendo 3DS folder to BACKUP_Nintendo 3DS
    2. Reinsert your SD card into your console
    3. Power on your console
    4. Wait for the console to generate the SD card data
      • Your applications will have disappeared. This is normal and will be resolved shortly
    5. Power off your console
    6. Insert your SD card into your computer
    7. Navigate to the Nintendo 3DS folder on your SD card
      • this is the helpee’s true Id0.
    8. Delete the Nintendo 3DS folder
    9. Rename the BACKUP_Nintendo 3DS folder to Nintendo 3DS
  • 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

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.

OOjs UI icon information-progressive.svg Setups marked with an (E) use a 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.

If you are upgrading from one of these setups to B9S, it is advised to move the emuNAND into your sysNAND.
  1. Userland: Any exploit that allowed non-persistent Homebrew Launcher access, such as by running a modified save file from a cartridge game.
    • Upgrade to boot9strap: Depends on your system version. If 11.15.0 or below, follow uloader; if 11.16.0 or above, follow nimdsphax.
  2. Gateway (E): 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.
  3. Sky3DS: Gateway's second attempt to take control. A piracy-focused 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
  4. 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 Updating B9S.
  5. Menuhax (E): 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.
  6. 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.
  7. B9S 1.0-1.3: Just older versions of boot9strap. Very few practical differences aside from the older versions not having LED status codes.