I. Introduction▲
Après avoir découvert FPC 4 NDS qui permet de faire des applications pour la plateforme Nintendo DS,
j'ai voulu partager la façon de l'installer et de le configurer.
Passé les étapes d'installation/configuration nous ferons un petit programme en guise d'exemple.
L'utilisation d'un émulateur sera nécessaire pour les tests avant de déployer sur une vraie Nintendo DS.
Voici la liste de quelques émulateurs DS:
Programmer avec FPC4NDS suppose que vous ayez déjà des notions du langage Pascal.
Les différentes étapes d'installation et de configuration de Free Pascal pour Nintendo DS abordés dans ce tutoriel ont été testé sur les plateformes Linux Ubuntu 9.10, Mandriva 2008, Windows 2000, Windows XP et Windows Vista
II. Installation et Configuration▲
Nous aurons besoin de:
- fpc 4 ndsarm-nds-fpc (plateforme Nintendo DS)
- devkitARM (sélectionner devkitARM dans la liste)
- libnds (disponible sous le même lien que devkitARM)
- default_arm7 (disponible sous le même lien que devkitARM)
II-A. Sous Linux▲
II-A-1. Création des répertoires d'installation▲
Il s'agit maintenant de choisir le répertoire dans lequel seront installés tous ces composants. Nous allons choisir le répertoire opt. Créez dans ce répertoire deux dossiers nommés devkitPro et fpc4nds
II-A-2. Installation de devkitARM▲
1. placez-vous dans le repertoire devkitPro,
2. créez un nouveau dossier devkitARM ,
3. téléchargez la version de devkitARM
correspondant à votre architecture Linux.
4. mettez son contenu après l'avoir extrait dans le dossier devkitARM
II-A-3. Installation de libnds▲
Créez également dans le répertoire (devkitPro) le dossier libnds. Téléchargez (libnds-1.4.0.tar.bz2) et mettez son contenu dans ce dernier
II-A-4. Installation de default_arm7▲
Après avoir téléchargé default arm7 (default_arm7-0.5.8.tar.bz2), mettez le contenu (default.arm7 et default.elf) du fichier dézippé dans libnds.
II-A-5. Installation de fpc4nds▲
La prochaine étape consiste à télécharger le contenu du répertoire
fpc4nds. Nous allons
choisir la version récente c'est à dire arm-nds-fpc-2.4.0.i386-linux.tar
Après avoir extrait son contenu mettez-le dans le dossier fpc4nds
Voilà en détail le contenu de opt
II-A-6. Modification de .bashrc▲
Ajoutez les lignes ci-dessous à la fin de votre fichier .bashrc
export PATH=/opt/fpc4nds/bin/arm-nds:$PATH
export DEVKITPRO=/opt/devkitPro
export DEVKITARM=$DEVKITPRO/devkitARM
II-A-7. Création de .fpc.cfg▲
Nous allons mettre en place le fichier de configuration nécessaire à notre
environnement d'exécution.
Créez dans votre profil
(/home/[user]/) un fichier .fpc.cfg avec ce contenu
-Tnds
-XParm-eabi-
-Fu/opt/fpc4nds/units/arm-nds
-FD/opt/fpc4nds
-FD/opt/fpc4nds/lib
-Fu/opt/fpc4nds/units/arm-nds/libndsfpc
-FD/opt/fpc4nds/bin/arm-nds
-Fl/opt/devkitPro/libnds/lib
-Fl/opt/devkitPro/devkitARM/lib/gcc/arm-eabi/4.4.2/thumb
-Fl/opt/devkitPro/devkitARM/arm-eabi/lib/thumb
-Fl/opt/devkitPro/devkitARM/lib/gcc/arm-eabi/4.4.2
-Fl/opt/devkitPro/devkitARM/arm-eabi/lib
II-B. Sous Windows▲
II-B-1. Création des répertoires d'installation▲
Il faut également, comme nous l'avons fait pour Linux, choisir le répertoire dans lequel seront installés tous les composants nécessaires. Nous allons choisir La racine C:\ du disque dur. Créez-y deux dossiers nommés devkitPro et fpc4nds
II-B-2. Installation de devkitARM▲
1. placez-vous dans le répertoire devkitPro,
2. créez un nouveau dossier devkitARM ,
3. téléchargez la version Windows de devkitARM.
4. mettez son contenu après l'avoir extrait dans le dossier devkitARM
II-B-3. Installation de libnds▲
Créez également dans le répertoire (devkitPro) le dossier libndsTéléchargez (libnds-1.4.0.tar.bz2) et mettez son contenu dans ce dernier
II-B-4. Installation de default_arm7▲
Après avoir téléchargé default arm7 (default_arm7-0.5.8.tar.bz2), mettez le contenu (default.arm7 et default.elf) du fichier dézippé dans libnds.
II-B-5. Installation de fpc4nds▲
La prochaine étape consiste à télécharger le contenu du répertoire
fpc4nds. Nous allons
choisir la version récente c'est à dire la arm-nds-fpc-2.4.0.i386-win32.zip
Après avoir extrait son contenu, mettez-le dans le dossier fpc4nds.
Nous obtenons à la racine C:\ ceci:
+C\(racine)
|____+devkitPro
|_____+devkitARM
|_____+libnds
|______autres fichiers + dossiers
|______default.elf
|______default.arm7
|____+fpc4nds
|_____+units
|_____+bin
|_____+msg
|_____+[examples]
II-B-6. Création des variables d'environnement▲
Nous allons créer à présent les variables d'environnement DEVKITPRO et DEVKITARM.
Faites un click droit sur Poste de travail, ensuite choisissez propriétés,
puis dans l'onglet Avancé:
Créez les variables d'environnement systèmeDEVKITPRO et DEVKITARM en cliquant sur le bouton nouveau.
II-B-7. Création de fpc.cfg▲
Le fichier de configuration nécessaire à l'exécution des sources pour la Nintendo DS doit ressembler à ceci.
-Tnds
-XParm-eabi-
-FuC:\fpc4nds\units\arm-nds
-FuC:\fpc4nds\units\arm-nds\libndsfpc
-FDC:\fpc4nds
-FDC:\fpc4nds\bin\arm-nds
-FlC:\devkitPro\libnds\lib
-FlC:\devkitPro\devkitARM\lib\gcc\arm-eabi\4.4.2
-FlC:\devkitPro\devkitARM\lib\gcc\arm-eabi\4.4.2\thumb
-FlC:\devkitPro\devkitARM\arm-eabi\lib
-FlC:\devkitPro\devkitARM\arm-eabi\lib\thumb
Créez le fichier fpc.cfg avec le contenu ci-dessus dans le répertoire C:\fpc4nds\bin\arm-nds
III. Compilation et exécution▲
A ce stade, tout est installé et configuré, vous pouvez dès à présent écrire votre premier programme à déployer
sur la Nintendo DS. Il existe une série d'exemples dans le répertoire fpc4nds.
Nous allons compiler et exécuter notre 'hello world'. Créez dans le répertoire examples (fpc4nds/examples)
le dossier premier_prog; créez-y le fichier helloworld.pp avec le code ci-dessous
program
helloworld;
{$mode objfpc}
uses
nds9;
begin
consoleDemoInit();
printf('Hello World !!!'
);
end
.
III-A. Compilation et exécution sous Linux▲
Pour compiler/exécuter sous Linux, entrez dans le répertoire premier_prog
krachik@kraserver:/opt/fpc4nds/examples/premier_prog$ /opt/fpc4nds/bin/arm-nds/ppcarm helloworld.pp
Nintendo DS rom tool 1.46 - Dec 2 2009
by Rafael Vuijk, Dave Murphy, Alexei Karpenko
En cas d'échec de compilation, vérifiez que vous avez les droits d'exécution sur le fichier helloworld.pp
III-B. Compilation et exécution sous Windows▲
C:\fpc4nds\examples\premier_prog>C:\fpc4nds\bin\arm-nds\ppcarm.exe helloworld.pp
Nintendo DS rom tool 1.46 - Nov 30 2009
by Rafael Vuijk, Dave Murphy, Alexei Karpenko
III-C. Brève explication▲
consoleDemoInit() permet d'initialiser l'écran console de la Nintendo DS pour un affichage futur; pour ce,
faire nous avons besoin de l'unité nds9 d'où le uses nds9;. Pour afficher à l'écran un texte vous
pouvez utiliser printf ou iprintf.
La Nintendo DS exécute des applications faites pour les environnements ARM7 ou ARM9.
Si tout se passe bien, les fichiers *.nef.bin,*.nds et *.nef seront générés. Si l'environnement d'exécution n'est pas
précisé c'est {$apptype arm9} qui est pris en compte par défaut.
III-D. Utilisation d'un émulateur▲
Nous avons besoin d'un émulateur pour visualiser ce que
nous venons de faire (cf. liste des émulateurs plus haut). A titre d'exemple je vais choisir No$gba
Il ne nous reste plus qu'Ã lancer NO$GBA.EXE et charger helloworld.nds
Résultat
IV. Conclusion▲
A travers ce tutoriel, vous avez appris à installer et configurer votre environnement pour exécuter
vos applications destinées à la Nintendo DS. Suivant les applications que vous développerez, vous
aurez besoin des librairies disponibles sous le même lien que devkitPro (par exemple :
dswifi, libfat etc) .
Vous pouvez utiliser également les émulateurs DS sous Linux avec l'émulateur wine.
Liens utiles:
Wiki Free Pascal - Nintendo DS
Site de Francesco Lombardi
Merci à Alcatîz
pour ses tests, ses conseils et sa relecture.