Installer et configurer Free Pascal pour la Nintendo DS

krachik

Traducteurs

| wormful_sickfoot | Alcatîz |

Cet article présente une façon simple pour configurer et installer FPC 4 NDS (Free Pascal Compiler For Nintendo DS) sur les plateformes Linux et Windows.

Commentez

- Titre : Installer et configurer Free Pascal pour la Nintendo DS

- Auteur : krachik

- Traducteurs : wormful_sickfoot, Alcatîz

- Parution : 22 janvier 2010

- Mise à jour : 22 janvier 2010

- Licence : Copyright ® 2010 AKAKPO-TOULAN Jules. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Installation et Configuration

- II-A. Sous Linux

- II-A-1. Création des répertoires d'installation

- II-A-2. Installation de devkitARM

- II-A-3. Installation de libnds

- II-A-4. Installation de default_arm7

- II-A-5. Installation de fpc4nds

- II-A-6. Modification de .bashrc

- II-A-7. Création de .fpc.cfg

- II-B. Sous Windows

- II-B-1. Création des répertoires d'installation

- II-B-2. Installation de devkitARM

- II-B-3. Installation de libnds

- II-B-4. Installation de default_arm7

- II-B-5. Installation de fpc4nds

- II-B-6. Création des variables d'environnement

- II-B-7. Création de fpc.cfg

- III. Compilation et exécution

- III-A. Compilation et exécution sous Linux

- III-B. Compilation et exécution sous Windows

- III-C. Brève explication

- III-D. Utilisation d'un émulateur

- IV. Conclusion

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:

- DeSmuME

- NeonDS

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.