Guide to Making a Homebrew App for Beginners ​

guide

for makin

) (Well, except for the first step.

Requirements:

Knowledge of a programming language of either C or C++ (for C++ users make sure you know some basics of C). http://www.cplusplus.com/doc/tutorial/

A 3DS with a way to launch homebrew apps (not really needed, but best practice is to test your software for bugs and whatnot). http://www.nintendo.com/3ds and http://smealum.github.io/3ds/

DevKitPro. http://devkitpro.org/wiki/Getting_Started/devkitARM

Your favorite text editor. Mine is Notepad++. https://notepad-plus-plus.org/

Steps:

Go learn C or C++. It is literally impossible to do anything until you do so. You only need to know the basics, like the usage of the standard library, control statements, and some other really basic stuff. (Correction: you only need to know the basics in order to make basic homebrew. But by basic, when you finish the C++ tutorials in the link, you can probably make over 100 different games/utilities This will take, say, about a week to get used to and understand. That's pretty quick for being able to understand. A lot faster than learning even just the basics of a foreign language. Go learn C or C++. It is literally impossible to do anything until you do so. You only need to know the basics, like the usage of the standard library, control statements, and some other really basic stuff. (Correction: you only need to know the basics in order to make basic homebrew. But by basic, when you finish the C++ tutorials in the link, you can probably make over 100 different games/utilities This will take, say, about a week to get used tounderstand. That's pretty quick for being able to. A lot faster than learning even just the basics of a foreign language. http://www.cplusplus.com/doc/tutorial/ is a great place to start. You can use just the online interpreter here: http://cpp.sh/ , or get an IDE (integrated development environment). I don't want to sound advertising, but I personally use VS 2013, and I became addicted to it.

Edit: Umbyy on reditt suggested this: https://en.wikiversity.org/wiki/C++ . Seems pretty cool to me!

Download DevKitPro. http://devkitpro.org/wiki/Getting_Started/devkitARM . No, "Pro" doesn't mean you have to pay for it. It means it's awesome. Anyway, install it once you download it. It should be installed on the root of your hard drive by default. Code: cd C:\devkitPro\examples\3ds\graphics\printing\hello-world Code: make The "cd" command made MSys go to the directory you typed after it, and the "make" command compiled your source using instructions from a file called "Makefile" that was located in the directory you typed previously. Pretty neat! Test your compiler. Open up MSys (it's in \devkitPro\msys\msys.bat). Then typeThe "cd" command made MSys go to the directory you typed after it, and the "make" command compiled your source using instructions from a file called "Makefile" that was located in the directory you typed previously. Pretty neat! Test it on your 3DS. Go to \devkitPro\examples\3ds\graphics\printing\hello-world\ in your favorite file explorer. There should be something like "hello-world.3dsx", "hello-world.elf", and "hello-world.smdh". Copy/move them all into your sd card in \3ds\ folder. Eject your sd and plug it in into your 3ds. Start up the Homebrew Launcher, and play "hello-world". There should be an output of your previously compiled app! Go to \devkitPro\examples\3ds in your explorer. Notice the list of folders that contains the examples. From there go to .\graphics\printing\hello-world\source\ (in the explorer), and open up main.c. If you want to use C++, rename the extension to cpp. Fiddle and experiment with the contents, and make sure there are no syntax errors. Turn off your 3ds. Repeat step 4 to compile the edited code, except this time, "cd" into the directory of your customized code. (This is the directory where there has to exist a file called "Makefile". (The best way (I personally think) is to learn C or C++, and also at the same time, read the 3ds examples, and learn how to use some things, like input methods.) That's it! Now you can create homebrew apps of your choice, as long as you know how!(The best way (I personally think) is to learn C or C++, and also at the same time, read the 3ds examples, and learn how to use some things, like input methods.)

Credits:

Oh, where should I start?

#Cakey on Freenode for pretty much every development detail.

devkitPro developers.

Pretty much everyone who did stuff with exploiting the 3ds and making homebrew before I wrote this guide.

Nintendo for my crappy o3ds that require an exploit to run homebrew. <sigh>

If you think I forgot to mention you, please send me a pm, because I'm not on GBATemp often, and I probably won't read the comments after the 1st page.