Difference between revisions of "Setting up Development Environment"

From 3dbrew
Jump to navigation Jump to search
(Update for devkitARM r43)
(added instructions for Linux)
Line 1: Line 1:
== Setup ==
+
= Setup =
 
* 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 [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.
 
* 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.
 
* 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.
  
== Building the examples ==
+
==Linux==
 +
* First get the devkitARM updater Perl script for Linux.
 +
* Run it with superuser privileges if your /opt directory is not marked world read-writeable.
 +
* Get ctrulib from Smealum's GitHub repository, build and install it.
 +
 
 +
<pre>sudo -s
 +
curl -L http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitARMupdate.pl/download -o devkitARMupdate.pl
 +
chmod +x ./devkitARMupdate.pl
 +
./devkitARMupdate.pl
 +
cd /opt/devkitpro
 +
git clone git@github.com:smealum/ctrulib.git
 +
cd ctrulib/libctru
 +
make
 +
make install
 +
</pre>
 +
 
 +
 
 +
= Building the examples =
 
3DS examples are still being created. Currently there are a few examples in the separate ctrulib download under the "examples" folder.
 
3DS examples are still being created. Currently there are a few examples in the separate ctrulib download under the "examples" folder.
  
Line 11: Line 28:
 
* '''gpu:''' demonstrates how to render 3D geometry with the GPU
 
* '''gpu:''' demonstrates how to render 3D geometry with the GPU
  
== Building homebrew for distribution ==
+
= Building homebrew for distribution =
 
To build your homebrew 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.
  

Revision as of 12:37, 23 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.

Linux

  • First get the devkitARM updater Perl script for Linux.
  • Run it with superuser privileges if your /opt directory is not marked world read-writeable.
  • Get ctrulib from Smealum's GitHub repository, build and install it.
sudo -s
curl -L http://sourceforge.net/projects/devkitpro/files/Automated%20Installer/devkitARMupdate.pl/download -o devkitARMupdate.pl
chmod +x ./devkitARMupdate.pl
./devkitARMupdate.pl
cd /opt/devkitpro
git clone git@github.com:smealum/ctrulib.git
cd ctrulib/libctru
make
make install


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]