forked from Patater/manual-git
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
toolchains: Replace devkitARM by BlocksDS
devkitARM seems to be migrating to calico and leaving libnds as a backwardws-compatibility helper. BlocksDS still treats it as a first-class library.
- Loading branch information
Showing
1 changed file
with
25 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,6 +17,14 @@ the Nintendo DS, GBA, and GP32; all of which are run by the ARM processor. | |
However, we will be using something to make our job much easier in addition to | ||
just devkitARM. | ||
|
||
### All About BlocksDS | ||
|
||
BlocksDS is an SDK created as a fork of most NDS devkitARM libraries as they | ||
were at the beginning of 2023. It only consists of libraries used to build NDS | ||
programs (libnds, DSWiFi, Maxmod, etc) and tools to convert graphics and audio | ||
into formats understood by the NDS. The toolchain (compiler, C and C++ standard | ||
libraries) are provided by Wonderful Toolchain: <https://wonderful.asie.pl/> | ||
|
||
### The Wonderful World of libnds | ||
|
||
libnds, the library for Nintendo DS, started out its life as NDSLIB. NDSLIB was | ||
|
@@ -30,48 +38,27 @@ the DS. This is useful, as you can simply reference `BG_BMP_RAM` instead of | |
other useful constructs that help to simplify the programmers job and abstract | ||
certain portions of the hardware from the programmer. | ||
|
||
Today, libnds is an incredibly useful library that over 96% of the Nintendo DS | ||
homebrew community uses. | ||
|
||
### Installing devkitARM | ||
Later, even more high level utilities were added to simplify the interaction | ||
with the Nintendo DS hardware. For example, `bgInit()` can now be used to setup | ||
backgrounds instead of accessing low level registers. | ||
|
||
Installing devkitARM is quite simple. Directions are already documented on | ||
their website. Visit <http://www.devkitpro.org/setup.shtml> for directions. | ||
Although more geared towards Windows, the installation is fairly straight | ||
forward. Automated installers are available for Windows, Macintosh, and Linux. | ||
|
||
### Installing libnds from source | ||
Today, libnds is an incredibly useful library that most of the Nintendo DS | ||
homebrew community uses. | ||
|
||
libnds's source install is less documented than devkitPro's source install, but | ||
is also quite simple in comparison. libnds is automatically installed by the | ||
automated installers of devkitARM. However, if you want to view the libnds | ||
source code, you'll have to install it from source. | ||
### Installing BlocksDS | ||
|
||
#### Procedure 4.1. To install libnds from source | ||
Installing BlocksDS is quite simple. Directions are already documented on | ||
their website. Visit <https://blocksds.github.io/docs/setup/options/> for | ||
directions. Although more geared towards Linux, the installation is fairly | ||
straight forward. It's possible to install it natively on Windows and Linux, but | ||
it can be run in other operating systems by using their Docker images. | ||
|
||
1. Simply download the latest source from | ||
[SourceForge.net](http://sourceforge.net/project/showfiles.php%3Fgroup_id%3D114505%26package_id%3D151608). | ||
1. Extract it to `$DEVKITPRO/libnds`. | ||
```sh | ||
[email protected]:~$ mkdir $DEVKITPRO/libnds | ||
[email protected]:~$ mv libnds-src-*.tar $DEVKITPRO/libnds/ | ||
[email protected]:~$ cd $DEVKITPRO/libnds | ||
[email protected]:~$ tar -xvjf libnds-src-*.tar.bz2 $DEVKITPRO/libnds | ||
``` | ||
1. Change your current directory to `$DEVKITPRO/libnds` and type `make`. | ||
```sh | ||
[email protected]:~$ cd $DEVKITPRO/libnds | ||
[email protected]:~$ make | ||
``` | ||
1. If devkitARM is installed properly, libnds will compile in a matter of | ||
seconds and you'll be on your way to developing software for the Nintendo | ||
DS. | ||
It is also possible to find instructions on how to build and install the | ||
libraries in the official setup instructions. | ||
|
||
### The Next Step | ||
|
||
Now that you have devkitARM and libnds installed on your computer, you have | ||
everything you need to start coding, excepting perhaps a bit of knowledge on | ||
how to code specifically for the unique hardware of the Nintendo DS. In the | ||
next chapter, we'll cover the basics of displaying a bitmap on the screen. | ||
|
||
![](./images/devkitlogo.png) | ||
Now that you have installed this on your computer, you have everything you need | ||
to start coding, excepting perhaps a bit of knowledge on how to code | ||
specifically for the unique hardware of the Nintendo DS. In the next chapter, | ||
we'll cover the basics of displaying a bitmap on the screen. |