Difference between revisions of "Setting up Development Environment"

From 3dbrew
Jump to navigation Jump to search
(Update for devkitARM r43)
Line 1: Line 1:
 
== Setup ==
 
== Setup ==
* Install [http://devkitpro.org/ devkitPro]. If it's already installed, give it an update, it can't hurt. On Windows there's a GUI installer. On Linux/Mac there's a perl-script.
+
* Install [http://devkitpro.org/ devkitARM]. If it's already installed, update it. On Windows there's a GUI installer. On Linux/Mac there's a perl-script. Make sure you also select ctrulib when installing.
* Install the [http://mtheall.com/~fincs/3dsdkA/ 3dsxtools] on top of devkitPro according to the website.
+
* Download the files in the [https://github.com/smealum/ctrulib/archive/master.zip ctrulib repository] (even though the library has already been installed) because the repository contains a 3DS project template and examples.
* On Linux/Mac cd into your devkitPro folder and execute:
 
git clone https://github.com/smealum/ctrulib
 
* If you're on Windows you can download ctrulib as a [https://github.com/smealum/ctrulib/archive/master.zip zip] and extract it into your devkitPro folder.
 
 
 
'''Note:''' devkitPro/ctrulib/libctru contains ctrulib itself, and devkitPro/ctrulib/examples contains a few 3DS homebrew examples.
 
 
 
== Building ctrulib ==
 
In the form under which it's provided, ctrulib needs to be built before you can build homebrew.
 
 
 
Open a terminal (cmd window under Windows) and browse to ctrulibs directory (the one you entered in the CTRULIB variable of the previous step). Run the following commands:
 
make clean
 
make
 
 
 
If everything goes right, a lib folder should be created with a file named 'libctru.a' in it.
 
  
 
== Building the examples ==
 
== Building the examples ==
You can build from the examples provided with ctrulib.
+
3DS examples are still being created. Currently there are a few examples in the separate ctrulib download under the "examples" folder.
  
 
* '''arm11u:''' simple homebrew example
 
* '''arm11u:''' simple homebrew example
Line 26: Line 12:
  
 
== Building homebrew for distribution ==
 
== Building homebrew for distribution ==
To build your homebrew, it works the same way as for building ctrulib. Open a terminal, browse to your homebrew's folder and run make.
+
To build your homebrew open a terminal, browse to your homebrew's folder and run make.
  
 
* This will build a .elf file and a .3dsx file together with an icon. The icon and .3dsx file are the format required for the [[Homebrew Channel]].
 
* This will build a .elf file and a .3dsx file together with an icon. The icon and .3dsx file are the format required for the [[Homebrew Channel]].

Revision as of 17:50, 21 November 2014

Setup

  • Install devkitARM. If it's already installed, update it. On Windows there's a GUI installer. On Linux/Mac there's a perl-script. Make sure you also select ctrulib when installing.
  • Download the files in the ctrulib repository (even though the library has already been installed) because the repository contains a 3DS project template and examples.

Building the examples

3DS examples are still being created. Currently there are a few examples in the separate ctrulib download under the "examples" folder.

  • arm11u: simple homebrew example
  • sdmc: demonstrates how to access files on the SD card
  • mic: demonstrates how to read sound from the microphone
  • gpu: demonstrates how to render 3D geometry with the GPU

Building homebrew for distribution

To build your homebrew open a terminal, browse to your homebrew's folder and run make.

  • This will build a .elf file and a .3dsx file together with an icon. The icon and .3dsx file are the format required for the Homebrew Channel.
  • To build a Gateway-compatible .3ds file you need to strip the .elf file and use makerom on it (with the provided RSF file):
arm-none-eabi-strip [ELF file]
makerom -f cci -o [.3ds file] -rsf [RSF file] -target d -exefslogo -elf [ELF file] -icon [icon file] -banner [banner file]