Guide to Making a Homebrew App for Beginners
When I tried starting making homebrew apps, I had to ask a lot of different sources for info, so here is a (supposedly) easy-to-use, guide (not a tutorial) for making them.If you're really into it, you're going to be able to make apps in no time! (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/
- 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.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.
- Test your compiler. Open up MSys (it's in \devkitPro\msys\msys.bat). Then type
Code:
cd C:\devkitPro\examples\3ds\graphics\printing\hello-world
Code:make
- 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".
- 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.)
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.
Last edited by Owarai,