Programmez sur votre Nintendo DS !

Formation

En Semi-présenciel Paris

Prix sur demande

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Description

  • Typologie

    Formation

  • Méthodologie

    En semi-présentiel

  • Lieu

    Paris

Grâce à cette formation vous pourrez acquérir les connaissances nécessaires qui vous permettrons d’ajouter des compétences à votre profil et obtenir de solides aptitude qui vous offriront de nombreuses opportunités professionnelles.

Les sites et dates disponibles

Lieu

Date de début

Paris ((75) Paris)
Voir plan
7 Cité Paradis, 75010

Date de début

Consulter

Questions / Réponses

Ajoutez votre question

Nos conseillers et autres utilisateurs pourront vous répondre

À qui souhaitez-vous addresser votre question?

Saisissez vos coordonnées pour recevoir une réponse

Nous ne publierons que votre nom et votre question

Les Avis

Le programme

Introduction du cours

Programmer sur ordinateur c'est chouette..
.. Mais sur Nintendo DS ?

La bibliothèque PAlib permet d'écrire des programmes en C / C++ pour votre Nintendo DS. Elle permet de tout faire (gestion des écrans, touches, stylet, son, image, etc.).

Le hic ? Bien qu'elle soit facile d'accès, les tutoriels sur le Net sont soit bancals soit très mal expliqués. Voilà pourquoi nous, Gambit2099 et snake_48, nous sommes associés pour vous faire découvrir cette lib !

En avant ! ^^

Les bases de PAlib

Parce qu'il faut bien commencer quelque part, cette partie vous expliquera les notions de base de PAlib. Il n'y aura pas que du hello world, sinon ça ne serait pas marrant, avouez :D .

Note : vous devez avoir lu et compris les deux premières parties du cours sur le C de M@teo21 ! La partie consacrée à la SDL est facultative mais ça peut toujours aider.

Avant propos

Vous vous doutiez sûrement que les outils nécessaires à la programmation sur DS ne se trouvaient pas déjà sur votre ordinateur et qu'il ne suffisait pas de dire abracadabra pour que vous puissiez utiliser vos programmes sur votre DS :p . C'est pourquoi dans ce chapitre nous allons vous expliquer en détail ce dont vous avez besoin.

Vous n'apprendrez donc "rien" dans ce chapitre mais ne vous inquiétez pas ça arrivera plus vite que vous ne le pensez :-° .

Parlons hardware

À ce stade-ci deux chemins qui s'offrent à vous :

  • vous programmez des applications et jeux pour Nintendo DS mais vous ne les utilisez que sur votre PC avec un émulateur ;

  • ou alors vous décidez de mettre vos programmes directement dans votre DS pour pouvoir les utiliser partout :) .

Le deuxième choix semble le plus intéressant, cela va de soi ! Toutefois, renseignez-vous sur son utilisation, car vous pouvez rapidement tomber dans l'illégalité. Voilà pourquoi nous n'expliquerons pas ici comment fonctionne un linker (tel que la R4, M3, etc.).

En choisissant la sage voie, vous ne pourrez jamais tester la gestion des fichiers, ni le Wifi dans vos programmes.

C'était juste à titre d'information, rien de plus. ;)

Installation des outils nécessaires

Bien ! Après vous avoir expliqué les deux possibilités qui s'offraient à vous, il est enfin temps d'installer PAlib et tout le nécessaire pour enfin programmer pour notre chère NDS. En avant :pirate: !

Pour ce faire, nous allons utiliser un auxiliaire de programmation utilisant le BATCH pour sa compilation. Il est donc important d'avoir un ordinateur sous WINDOWS. Pour les utilisateurs de Linux, ne vous inquiétez pas, on va arriver à votre cas ;) ! Pour ceux qui utilisent autre chose, il faudra, bien entendu, vous adapter au tutoriel.

L'auxiliaire de programmation

Nous utiliserons DevkitPro pour ce tutoriel. Téléchargez la dernière version (à l'heure où j'écris ces lignes c'est la version 1.5.0).

La bibliothèque : PALib

Pour information, PA veut dire Programmer's Arsenal et Lib veut dire Library (qui signifie "bibliothèque") tout simplement. Il nous sera très utile : c'est la bibliothèque que nous utiliserons pour la programmation sur DS. Télécharger PALib.
Actuellement c'est la version la plus récente est la 100707, selon le site elle serait maintenue jusqu'à ce qu'un autre développeur reprenne le projet...

Ce tutoriel a été conçu au départ avec la version 080823 que vous pourrez télécharger ici, puis a été repris avec la 100707, donc il se peut qu'il y ait des incohérences voire des codes qui ne compilent pas...

L'installation

Ça y est, nous allons enfin installer les éléments nous permettant de programmer !

Si vous êtes sous Vista, faites clic droit->propriété->Windows Xp (service pack 2) pour chaque installateur.

Tout d'abord lancez l'installateur devkitpro pour qu'il aille rechercher les fichiers nécessaires à l'installation.
Lors de celle-ci vous pouvez laisser le chemin par défaut (C:\devkitPro ; ce qui est conseillé si vous n'êtes pas très à l'aise avec les changements de répertoire et de variables d'environnement qui risquent d'arriver), et au choix des composants à installer vous pouvez ne cocher que les cases correspondant à la DS (si vous avez peur de faire une bêtise, laissez tout coché ce n'est pas gênant :) ).

Vous devez impérativement laisser cochées "PAlib", "Examples", "Other tools", "shortcuts". Vous pouvez cocher la doc. Les émulateurs sont facultatifs puisque nous allons télécharger un émulateur plus tard, VisualHAM est un IDE, mais nous ne l'utiliserons pas. Et il est toujours bon d'avoir des bibliothèques supplémentaires, je vous recommande de cocher "Additional Libs".

Si vous avez téléchargé DevkitArm 20, alors remplacez la nouvelle version par l'ancienne (présente dans votre dossier devkitpro).

Ensuite il faut installer .Net framework pour que PAlib fonctionne correctement, il se peut qu'il soit déjà installé sur votre ordinateur, mais si vous hésitez téléchargez-le ici et (ré)installez-le ! Ne vous inquiétez pas si vous avez une erreur disant qu'il n'a pas pu l'installer, la raison est souvent qu'il est déjà installé.

Il nous reste plus que PALib ! Installez-la dans le même le dossier devkitpro, c'est très important.

Si vous utilisez une version ultérieure à 080823 vous serez confrontés à une archive et non à un installateur. Par conséquent vous devrez tout décompresser dans le dossier C:\devkitPro\PAlib (au besoin, créez ce sous-dossier).

Pour vérifier que tout a bien été installé rendez-vous dans C:\devkitPro\palib\examples\Text\Normal, choisissez un dossier (HelloWorld par exemple) et double cliquez sur build.bat. Une fenêtre de console devrait apparaître (le projet HelloWorld se compile en fait), s'il n'y a pas d'erreur vous devriez trouver un fichier HelloWorld.nds et HelloWorld.ds.gba dans le répertoire :) !

En cas d'erreur semblable à celle-ci vers la fin du texte affiché par build.bat :

Citation

make[1]: *** [/c/devkitPro/palib/examples/Text/Normal/HelloWorld/HelloWorld.elf]
Error 1
make: *** [build] Error 2

Il vous faudra remplacer DevkitArm que vous avez par un DevkitARM antérieur.

Si vous avez une erreur qui s'apparente à celle-ci :

Citation

arm-eabi-gcc.exe: CreateProcess: No such file or directory

Il faudra modifier la valeur de la variable Path. Pour y accéder sous Vista, faites Démarrer -> Panneau de configuration -> Système -> Paramètres Système Avancés (colonne à gauche). Cliquez sur le bouton "Variable d'environnement", puis sur "PATH" et "Modifier...". Une fenêtre apparaîtra et, à la fin du texte éditable, mettez un point-virgule et ajoutez ce code :

Citation

C:\devkitPro\devkitARM\arm-eabi\bin;C:\devkitpro\devkitARM\bin;\msys\bin;c:\devkitpro\msys\bin;c:\devkitpro\devkitarm;C:\devkitPro\devkitARM\libexec\gcc\arm-eabi\4.1.1;

Vous pouvez remplacer C:\ par le chemin jusqu'à devkitpro (exemple : C:\bidule\).

Si votre compilateur se met à vous injurier comme ce n'est pas permis, c'est peut-être que la libnds ne correspond pas à PALib. Il faudra donc la changer en remplaçant le dossier "libnds" de devkitpro par le contenu de libnds (si le lien est mort vous pouvez recomposer le dossier à l'aide de : libnds, le dossier ; libfat, à ajouter dans le même dossier et dswifi, toujours dans le même dossier).

Il se peut que la compilation se fasse avec beaucoup de warnings, ignorez-les.

Si vous avez un autre type d'erreur, recommencez l'installation à zéro, ou cherchez sur le Web une solution (n'oubliez pas les forums du site) :) .

L'émulateur

Un émulateur est une application servant à visualiser un jeu (de DS ou autre). Il vous servira beaucoup pour tester vos jeux, c'est plus pratique que de prendre chaque fois sa DS :p . Sauf comme expliqué plus tôt, les émulateurs ne gèrent pas / gèrent mal les fichiers et le Wifi.

Nous vous conseillons un excellent émulateur : No$GBA que vous pouvez télécharger ici (plus bas choisissez "Download windows version" et non DOS).

Sinon pour votre gouverne sachez qu'il en existe pleins d'autres : PicoDriveDS, Spec DS, DeSmuMe, DSEMU, SnezziDS, GeoSIDeaS, Dualis, NDS NeoPop, etc.

Malgré le nombre d'émulateurs, nous vous conseillons no$gba qui est actuellement l'un des émulateurs DS (et GBA) les plus performants.

L'éditeur

Il est évident qu'il nous en faut un. Et bien que Bloc-Note pourrait suffire, pour une meilleure lisibilité du code (on parlera d'indentation et de coloration syntaxique du code), nous vous conseillons d'utiliser un éditeur plus évolué. En premier choix, nous vous proposons Notepad++ (version zip) / Notepad++ (version installateur, plus complet que le zip).
Toutefois vous pouvez continuer sous votre IDE préféré si ça vous chante, de toute façon nous ne compilerons pas avec eux, mais comme dit plus haut avec un fichier .bat. Si vous prenez un IDE, pensez bien à changer de Makefile !

Tiens d'ailleurs ça me fait penser qu'il est enfin temps de se jeter dans le vif du sujet, allons-y ! :pirate:

Création d'un projet

Juste avant de nous lancer dans la programmation nous devons créer un projet ! Voici les étapes (très simples) :

  • pour commencer, créez un dossier "projets" dans le répertoire de devkitpro ;

  • ensuite, dans ce dossier, créez un dossier NomDeMonProjet (ne mettez pas d'espace) ;

  • puis allez dans le dossier palib/template et copiez son contenu à l'exception des dossiers data, include et source ;

  • retournez dans votre dossier et collez ces fichiers ;

  • rajoutez-y un dossier nommé "source" (il est important de garder le nom "source" sinon, au moment de la compilation, votre fichier source ne sera pas trouvé o_O ).

Et voilà, il ne vous restera plus qu'à renouveler cette action pour créer un nouveau projet !
A partir de là il suffit de créer un fichier main.c (ou .cpp si vous programmez en C++) dans le dossier source.

Comment compiler un projet ?

Il faut lancer build.bat (en double-cliquant dessus, ça suffit). Tiens en parlant de programme, ça vous dirait qu'on s'y mette ? Alors allons-y !! :D

Et sous Linux ?L'installation

Téléchargez le devkitpro pour Linux (tout est réuni dans un gros fichier).
Décompressez-le dans votre dossier personnel (soit /home/nomdutilisateur/) :

tar -jxvf devkitpro-pour-linux.tar.bz2

Normalement, le chemin vers le devkitpro est donc /home/NOMDUTILISATEUR/devkitpro/. Allez donc dans ce dossier et décompressez-y les fichiers devkitARM-r21-linux.tar.bz2 et PAlib.tar.bz2 comme nous venons de le faire.

tar -jxvf devkitARM-r21-linux.tar.bz2 tar -jxvf PAlib.tar.bz2

Vous devriez avoir cette arboresence :

/ |--home         |--NOMDUTILISATEUR                         |--devkitpro                         |-devkitARM                         |-libnds                         |-Other Libs                         |-PAlib

Modifiez maintenant le fichier .bashrc (situé dans votre dossier personnel) en y ajoutant les 3 lignes suivantes :

export DEVKITPRO=/home/NOMDUTILISATEUR/devkitpro export DEVKITARM=$DEVKITPRO/devkitARM export PAPATH=$DEVKITPRO/PAlib/lib

N'oubliez pas d'adapter la première ligne en fonction de votre nom d'utilisateur !

Exécutez la commande suivante dans un terminal pour appliquer les changements :

source .bashrc

Pour vérifier que les changements ont été appliqués, exécutez ensuite cette commande :

env | grep PAPATH

Si vous voyez quelque chose s'afficher à l'écran (un chemin, comme PAPATH=/home/rayman3640/devkitpro/PAlib/lib
), alors les changements ont été appliqués. Sinon, redémarrez votre terminal et réessayez.

Maintenant, il ne reste plus qu'à tester ! Le mieux est de compiler un exemple.
Allez dans le dossier du devkitpro, puis dans /PAlib/examples/Text/Normal/HelloWorld.
Exécutez cette commande :

make

Vous pouvez obtenir ceci :

bash: make : commande introuvable

Cela signifie que make n'est pas installé. Pour l'installer, exécutez donc cette commande avant de réessayer :

sudo apt-get install build-essential

Si vous obtenez quelque chose comme ceci après avoir exécuté make (noté que j'ai légèrement raccourci le code) :

arm-eabi-g++ -g -mthumb-interwork -mno-fpu -L/home/rayman3640/devkitpro/PAlib/lib/lib -Wl  Nintendo DS rom tool 1.36 - Oct 23 2007 23:03:47 by Rafael Vuijk, Dave Murphy, Alexei Karpenko built ... HelloWorld.ds.gba dsbuild 1.21 - Oct 23 2007 using default loader

Alors vous avez réussi ! :)

L'émulateur

Sous Linux, le choix d'émulateurs est un peu plus réduit. Je vous recommande desMuMe, car il en existe une version pour Linux. Sur certaines distributions, il est possible de l'installer via un dépôt (c'est le cas notamment d'Ubuntu). Si votre distribution utilise des paquets DEB, essayez comme ceci :

apt-get install desmume

Si votre distribution utilisez des paquets RPM, essayez ceci :

yum install desmume

Sinon, allez dans le dossier du devkitpro puis dans /PAlib/emulators/desmume-linux et exécutez ces commandes pour installer desMuMe :

chmod +x desmume-gtk-0.7.0.x86.package./desmume-gtk-0.7.0.x86.package

Enfin, il est possible d'utiliser no$gba (qui se trouve dans le dossier /PAlib/emulators/no$gba/ avec Wine en faisant :

wine no\$gba.exe

Vous pouvez même essayer d'utiliser les autres émulateurs du dossier avec Wine, mais desMuMe et no$gba sont meilleurs ;) .

Un grand merci à Rastagong d'avoir complété notre tutoriel :) !

Appeler le centre

Avez-vous besoin d'un coach de formation?

Il vous aidera à comparer différents cours et à trouver la solution la plus abordable.

Programmez sur votre Nintendo DS !

Prix sur demande