3DS Homebrew Thread

Forum rules
Anything made by Nintendo, or made for Nintendo systems.

3DS Homebrew Thread

Postby Dr. Ocsid » March 5th, 2016, 6:21 pm

The 3DS homebrew scene has grown quite a bit in the past couple years, so I figured I'd make this thread and talk about some of the cool stuff surrounding 3DS homebrew.

Key Terms
Spoiler: show
CFW - Standing for "Custom FirmWare", this is series of patches that runs on an emulated version of your system firmware, emuNAND. Can be used to bypass region locking and signature checks, allowing you to install custom .CIA files.

sysNAND - Your normal system firmware, basically what you always boot into on a 3DS barring certain homebrew modifications.

emuNAND - The “emulated” version of your system firmware that CFW uses, which you have complete control over. You generally enter this through methods such as the homebrew launcher, or a boot manager. With some certain modifications, you can even boot your 3DS directly into this.

.CIA - The file format the eshop uses to install games and other software to your 3DS home menu. With a CFW, you can install homebrew .CIAs and game backups. Think of them like .wad files on the Wii.

“Legit” .CIA - These are the games that come preinstalled on some special edition 3DSes. These are special in that they can be installed on sysNAND without CFW, although if you have a means of doing that, then you have a means of downgrading to 9.2 and just using a CFW. Note that despite the term being “Legit” .CIAs, these are as illegal to download off the internet as any other 3DS rom.

.3ds - File format used for games on carts. Generally only used by the consumer with 3ds flashcarts.

Entrypoint - An exploit used to boot your console into the homebrew launcher.

*hax - The most common sort of name used for an entrypoint into the homebrew launcher. (menuhax, ironhax, ninjhax, etc)

Brick - Your 3DS is now a paperweight. Better hope you can get into recovery mode or have a backup of your sysNAND, along with a hardmod.

Hardmod - A hardware modification for your 3DS that allows you to flash only your own nand backups to your 3DS. Don’t try to flash a NAND backup that didn’t come from that specific 3DS, or else your console is getting bricked.

ARM11 - This is the 3DS’s main processor it uses for games and such. Userland homebrew (described under “Two main types of homebrew”) runs on this.

ARM9 - This processor handles Nintendo DS backwards compatibility, but a lot of kernel exploits revolve around it as well.

Kernel exploit - As the name would imply, an exploit that allows you to run kernel-access homebrew. (also described under “Two main types of homebrew”) Currently only for firmware versions v9.2 and below.


Why install homebrew?
So you can run homebrew. Duh. But, to be more specific, depending on your firmware version, you can run emulators, homebrew games, FTP clients, custom firmwares, and all sorts of other things that Nintendo doesn't want you to do. Hell, you can even bypass region lock, allowing you to play all your imported adult Japanese visual novels or whatever. Of course, as with all homebrew, there is a risk of messing some stuff up with your 3DS depending on the sort of stuff you do, so proceed with caution.

Two main types of homebrew

Userland Homebrew: show
Userland homebrew is what most emulators and homebrew games fall under. These apps don't have any real access to the system, and thus don't have much potential exploit-wise aside from being normal 3DS apps. The upside to that is that you have zero chance of bricking your 3DS with this type of homebrew, unless you download a malicious app that deliberately messes with your system. Stick with reputable homebrew sites (such as GBAtemp) and you should be fine.


Kernel-access Homebrew: show
This right here, this is what's simultaneously the good and potentially bad stuff. First and foremost, this is the stuff that has the potential to mess with your 3DS. The good thing is, as long as you actually know what you’re doing, that won’t happen. And with that comes the ability to do a hell of a lot more with your 3DS. Backup and restore your system’s NAND, install a custom firmware, downgrade your firmware version, stuff along those lines. You can even dump games off of 3DS carts and install them to your home menu, so you don’t have to worry about switching out your carts all the time.


Firmware version compatibility
Spoiler: show
Everything listed below applies to both old and new 3DS.
The first thing you need to know about installing 3DS homebrew is your firmware version. This is extremely important, as exploits get patched over time. Let’s outline which major firmwares let you do what. You can check your firmware version by going into system settings and looking at the bottom right of the top screen.

First and foremost, if you’re on 10.6, the only way to run homebrew currently is to use ninjhax or OOT3Dhax, which, respectively, require a copy of either “Cubic Ninja” or “The Legend of Zelda: Ocarina of Time 3D”. Unfortunately, Cubic Ninja has become very expensive due to its extensive use as a homebrew entrypoint, and Ocarina of Time 3D went out of print a while ago, so good luck finding a cheap copy of either one. But if you already own one, then yay you!

Kernel exploits, required for running kernel-access homebrew, work exclusively on firmware versions 9.2 and under. (Don’t despair, there’s still hope if you’re above that, which I’ll elaborate on later.) This means you’d best not update your 3DS, or you’ll lose whatever kernel homebrew you happen to be using. One of the biggest benefits to being on 9.2 is that you can set up an emuNAND CFW, which is essentially an emulated version of your normal 3DS firmware you can trick your 3DS into running, which you have complete control over. You can update emuNAND all the way to latest firmware while keeping your sysNAND (your normal system firmware) at v9.2, meaning you can access the eshop and whatnot on emunand.

Userland exploits, on the other hand, currently work on firmwares up to 10.6. While it doesn’t at all mean it’s safe to keep your 3DS updated if you want to use these, they are more well-maintained regarding working on newer firmware versions.


I’m on a firmware version above 9.2!
Spoiler: show
I’ve got good news. You’re fine if you want to do userland homebrew. Even better news is that as long as you are on 10.6 or lower, you can actually downgrade your system to 9.2, enabling to yourself all those sweet sweet benefits. A tutorial for doing so on 10.3 and below is right over at this link: https://gbatemp.net/threads/simple-guid ... ds.407888/
Sysupdater build for 10.4 to 10.6: https://www.reddit.com/r/3dshacks/comme ... e_on_o3ds/

I warn you, however, downgrading your 3DS carries a risk of bricking it, especially on versions 10.4 to 10.6 where it's even more unstable. While you can go into recovery mode and update your 3DS, fixing the issue, you’ll end up on latest firmware, which you can’t downgrade from. Be sure you know what you’re doing.


So, how do I install homebrew?
Spoiler: show
That’s the million dollar question, isn’t it? To install homebrew, what you first need is an entrypoint. This entrypoint will get you into the homebrew launcher, where you can, well, launch homebrew. A list of entrypoints can be found here: http://smealum.github.io/3ds/

At least one of these will suit your firmware version at the time of writing, although as stated earlier, 10.6 requires either Ocarina of Time 3D or Cubic Ninja.


Recommended homebrews
Spoiler: show
Menuhax
Works on versions up to: v10.5 (Requires firmware version with theme support)
Purpose: The most convenient way of launching the homebrew launcher
Due to an exploit regarding themes, this entrypoint allows you to launch the homebrew launcher simply by holding L at boot. It’s exceptionally convenient, though it has a tendency to freeze one out of every ten or so times.

Homebrew Grid Launcher
Works on all versions
Purpose: An improved version of the default homebrew launcher that uses a grid layout rather than a single-file scrolling list. Pretty essential if you have a large amount of homebrew apps.

3DS Play Coin Setter
Works on all versions
Purpose: UNLIMITED PLAY COINS! With this tool, you can set your play coin amount to the max allowed, 300. Then you can spend them all and set them to 300 again! Money money money, and without all the walking/shaking your 3DS.

HANS
Works on all versions
Purpose: Included with the 3DS homebrew starter pack on the linked page, this homebrew app allows you to play romhacks of 3DS games! Custom Mario Kart courses, custom music for Smash 4, things like that. If you’re on a New 3DS, you can even overclock your processor to run normal 3DS games at higher framerates.

Any CFW (Google “3DS custom firmware”, there’s quite a few different ones and no true “best”)
Works on versions up to: v9.2
Purpose: This uses a sort of “copy” of your system firmware called emuNAND. You have complete control over this copy, allowing you to do… well, whatever you want, really. Most people use it to install pirated games, but you’d only use it to install your own personal, legal backups, right?

arm9loaderhax
Works on versions up to: v9.2
Purpose: This uses an exploit to launch homebrew *very* early in the boot process. This allows you to be able to do things such as launch emuNAND as fast as you would sysNAND, along with giving you a hell of a lot more control over the 3DS boot process. With this, you can potentially be on latest firmware and still have CFW and such. However, the process is long and rather dangerous, involving downgrading your 3DS all the way down to firmware version 2.1 to get ahold of your OTP, a line of code integral for this to work. You can upgrade back to 9.2 after it’s over, but the entire process involves a lot of steps that can potentially brick your 3DS. So just be very ♥♥♥♥ aware of what you’re doing. The process took me about three hours total on my old 3DS, and you can expect it to take even longer if you have a new 3DS.


Not-so-frequently asked questions
Spoiler: show
Q: Can’t I just install the homebrew launcher as a “channel”, like on the Wii?
A: Yes and no. You can do that after everything else is set up, but only if you have a CFW, as sysNAND will not boot .CIA files that are not properly signed.

Q: arm9loaderhax says it needs an OTP file. Can’t I just use someone else’s?
A: NO. Try that, and you absolutely will brick your 3DS. You’ll have to get your own by downgrading.

Q: I bricked my 3DS. What now?
A: Two options. The first is booting into recovery mode. Hold A+R+L+Up on the dpad to boot into this and update your firmware to latest. If this doesn’t work, hope to hell you have a NAND backup. If you do, you need a hardmod to restore that back onto your 3DS. Google “3DS hardmod” for more info on that process.

Q: Will new exploits ever get released for latest firmware?
A: Only time will tell. It’ll probably happen, but it takes a while to find new exploits.

Q: Can I use homebrew to play New 3DS games on old 3DS?
A: Nope. They’re on New 3DS for a reason, they legitimately require the newer hardware to run.

Q: Can I install DS games to my home menu?
A: Not possible at the moment, though efforts are being made.

Q: What sort of systems can I emulate?
A: Most systems still can’t be reliably emulated. Some SNES games work, even on the old 3DS, but don’t expect to be playing Super Mario RPG, at least for a while. GBA emulation is coming along, but emulation for that only really works decently on the New 3DS.

Q: Wait, doesn’t the old 3DS run the GBA ambassador games?
A: Yes, it runs them quite perfectly. This is because it’s actually not emulating them, unlike with Game Boy and NES games. Rather, the 3DS actually has GBA hardware (likely left over from the original DS) that allows it to natively run GBA games. This is, obviously, way faster than attempting to emulate the GBA. Not that GBA emulation on 3DS won't ever happen, it just hasn't been fully optimized yet.

Q: Can I make my own custom virtual console games?
A: Yes! Provided you have a ROM file, you can inject it into a virtual console .CIA and install it to CFW. It even works with GBA games!


Have interest in 3DS homebrew, or just 3DS stuff in general? Consider joining the 3DS Discord chat: https://discordapp.com/invite/0UFdpe0x69ZguQw8

Happy hacking.
Image
You may know me by another name...: show
toleboy
toleboy1
Stupid Chatter
Da ♥♥♥♥
Mariox63
Mootiepointy
Mariox64
TheMX64
Discord
User avatar
Dr. Ocsid
Code: Awesome

Error contacting Twitter
 
Posts: 480
Joined: September 15th, 2010, 3:36 pm
Location: Over the river and through the woods

Thumbs Up given: 15 times
Thumbs Up received: 11 times

Return to Nintendo