Tutoriel
newpspgen2

GUIDE - Vos premiers pas dans la programmation PSP

par

Worldgen, membre de nos forums, a décidé d'expliquer pas à pas les orientations possibles à tous ceux voulant débuter, ou se perfectionner dans le développement sur PSP.

Nous y voilà, les langages C/C++, qui vont vous permettre de créer des logiciels très poussés sur PSP. Évidemment, ce sera plus compliqué que le Lua, mais le jeu en vaut fortement la chandelle, d'autant plus si vous avez de l'inspiration, de la patience et de bonnes compétences. Le C et le C++ sont deux langages différents et peuvent être complémentaires, comme c'est souvent le cas. Ce sont deux méthodes de programmation complètement différentes. Le C++ est né après le C et il est destiné à faire de la programmation orientée objet.

Ce sont deux langages de bas niveau, c'est à dire que les étapes avant que le processeur de la PSP ne comprenne ce que veut le programmeur sont peu nombreuses. Le code source est transformé en code machine par le compilateur, et celui-ci est directement lu. Cela implique que ce sont des langages rapides et puissants, et vous pourrez faire des opérations plus délicates avec le C/C++, en codant des plugins ou des bouts de Custom Firmware.

Ken_n_dennis

Voici Kenneth Thompson et Dennis Ritchie, les deux inventeurs du langage C

BjarneStroustrup

Voici Bjarne Stroustrup, le créateur du C++

À nouveau, voici une liste non exhaustive de ce qui sera appris via ces deux langages:

Partie du C

  • Lecture au clavier et affichage à l'écran
  • Constantes et variables numériques
  • Instructions, expressions et opérateurs
  • Les instructions de contrôle (boucles, tableaux)
  • Les principes de base des entrée/sorties
  • Utilisation des tableaux numériques
  • Les pointeurs
  • Caractères et chaînes
  • Les structures
  • Travailler avec l'écran et le clavier
  • Utilisation des fichiers sur disque
  • Exploration de la bibliotèque des fonctions
  • Gestion de la mémoire, utilisation avancée du compilateur, travail avec les nombres binaires et hexadécimaux, etc...


Partie du C++.

  • Bases du C++ (comprend les variables, conditions, boucles, fonctions, etc...).
  • Instructions conditionnelles et conversion de types.
  • Itération.
  • Fonctions.
  • Tableaux.
  • Pointeurs et références.
  • Chaînes.
  • Classes.
  • Opérateurs de surcharge.
  • Composition et héritage.
  • Flux d'entrée/de sortie.
  • ...


Quels sont les outils à posséder ?

Faisons simple, le C et le C++ étant des langages compilés, ils vous faudra un certain nombre de choses:

  • Un éditeur de texte


Pour cela, suivez l'exemple donné pour le Lua.

  • Un compilateur


C'est ce programme qui va compiler votre code source, et le convertir en langage binaire, qui donnera votre fichier EBOOT.PBP, lisible par votre PSP. Le compilateur dédié à la PSP est compris dans le psptoolchain, développé par ps2dev. Cela comprend également de très nombreuses bibliothèques utiles à la programmation. PSPGen vous conseille d'utiliser cette méthode.

  • Un débugueur


Ceci permet de retrouver de façon plus ou moins efficace, les erreurs que vous aurez fait dans votre code; bien utile pour en faire la correction.

Après avoir réuni ces outils, vous aurez de quoi travailler très efficacement, tout en améliorant vos connaissances. Pour trouver une base de connaissances, nous vous conseillons de visiter la rubrique de Devsgen dédiée au C/C++. Lorsque vous aurez un niveau suffisant, vous pourrez également utiliser des kits de développement tels que Nanodesktop, qui est un outil très puissant pour le développement.

 

J'ai d'énormes connaissances en programmation PSP, et j'aimerais aller encore plus loin. Que faire?

Vous avez évolué au sein de la programmation sur PSP, vous pensez être apte à passer au cran supérieur et votre soif de connaissance n'est toujours pas étanchée. Il est peut-être temps d'aller encore plus loin.

Commenter 51 commentaires

AngelV1
Hum... Très intéressant et utile !!!
Personnellement je conseillerais plutôt l'apprentissage du language machine (asm) en premier... ou du moins une rapide lecture en diagonale de bouquin pour comprendre le fonctionnement de base des processus et des fonctions.
Certe, au départ c'est très difficile, mais il y aura plus de difficulté éprouvé lorque que l'on commence directement en C.
En gros ce que je pense c'est qu'avant de se lancer sur une programmation précise, il faudrai commencer par du b.a-ba du genre :

-asm, basic en premier lieu

-C et C++ après

Peut être que cela peut intéressé ceux qui n'ont pas peur de commencé de zéro, d'y laisser beaucoup d'heures (et des hectolitres de café) et de se prendre la tête bien comme il faut :mrgreen: .

:wink:
Signaler Citer
Avatar de l’utilisateur
Tom Vivares
Salut ,
Et le langage python dans tout ça???!!! Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans l'imposer) une approche modulaire et orientée objet de la programmation. Il ne faut pas oublier que certains homebrews sont développés en python. Comme pour Lua, il est destiné au débutant voir plus.
Signaler Citer