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.

Pour quelqu'un qui n'a jamais touché à la programmation, il est nécessaire de suivre une certaine démarche d'apprentissage, pour ne pas être démotivé devant une difficulté certaine que l'on rencontre tous un jour en développant, et d'acquérir de l'expérience et de la pratique petit à petit.

Ainsi, le premier langage qui s'offre à vous est le Langage Lua. Ce langage, simple dans sa syntaxe (comparé à d'autres), permet déjà aux débutants de réaliser bien plus de choses qu'ils n'imaginent:

  • Un jeu en 2D ou en 3D (hors ligne ou en ligne, via les modes Ad-Hoc et Infrastructure); ceux que l'on nomme habituellement homebrews
  • Des programmes riches et variés tels des lecteurs MP3, lecteurs et éditeurs de texte
  • Un shell (un menu proposant diverses fonctions), on en trouve beaucoup dans la scène PSP comme vous l'aurez remarqué
  • Un utilitaire, qui peut aller du simple programme pour créer les dossiers sur la Memory Stick, à celui qui gère au grand complet le flash0, voire le nand complet de la PSP
  • Tout ce qui pourrait vous passer par la tête !

 

Toutefois, on note quelques restrictions dans ce langage. En effet, le Lua en dépit de sa simplicité, est limité. Son plus grand défaut (qui reste tout de même un grand avantage du Lua) est le fait que ce langage est interprèté. Il est donc vraiment lent à exécuter, et vous ne pourrez programmer que des homebrews relativement basiques. Vous ne pourrez donc pas réaliser des programmes comme :

  • Un Custom Firmware
  • Un émulateur, comme par exemple gpSP, Masterboy, Snes9xTYL, Daedalus et bien d'autres
  • Un lecteur vidéo
  • D'autres logiciels poussés de ce type

 

Il vous faudra donc commencer de préférence par le Lua, qui vous donnera un nombre conséquent de bases très solides, tout en utilisant des commandes simple et logiques.

Vous apprendrez, par exemple...

  • L'affichage de texte
  • L'affichage d'images
  • Les variables
  • Les opérations mathématiques
  • Les commandes de la console
  • Les conditions
  • Les boucles
  • Les fonctions
  • La gestion des fichiers
  • Les tableaux
  • Les notions de collision
  • Les co-routines, et timers
  • ...

 

Si vous ne comprenez pas la plupart de ces termes, ne vous inquiétez pas, ils ne vous resteront pas  longtemps inconnus quand vous vous serez lancés dans le Lua.

lua

C'est bien beau, mais comment je commence?

Le Lua est un langage interprété, c'est-à-dire qu'il n'a pas besoin d'être compilé. Vous n'avez donc qu'à créer un fichier texte (format TXT), puis y taper votre code. Pour cela, voici quelques uns des éditeurs de texte les plus connus sur PC:

  • Notepad++, un must, avec coloration syntaxique (cliquez ici pour télécharger Notepad++ sur 01net)
  • Le bloc-notes de Windows
  • Gedit ou Vim pour les utilisateurs de Linux
  • Smultron, similaire à Notepad++, mais pour les utilisateurs de Mac

 

Il vous faudra ensuite changer le nom du fichier en "script.lua" et le tour est joué. Pour lire votre programme sur PSP, il faut faire exécuter le code via un interpréteur:

  • Luaplayer HM 7, le plus connu et le plus utilisé en général. (cliquez ici pour télécharger Luaplayer HM 7)
  • Luaplayer HM v2, plus avancé que son prédécesseur, mais les instructions ont bien changé, il faudra vous aider de la documentation fournie avec. (cliquez ici pour télécharger Luaplayer HM v2)
  • LuaPlayer Euphoria, fraîchement débarqué, mais qui fonctionne à merveille (cliquez ici pour télécharger LuaPlayer Euphoria v3). Son intérêt réside dans le fait qu'il est beaucoup plus rapide que les autres interpréteurs Lua.

Sachez que tous ces interpréteurs sont basés sur LuaPlayer 0.20, qui commence à se faire vieux, mais qui a lancé le Lua sur PSP.

Sachez que Luaplayer 0.20 n'est pas compatible en Custom Firmware 5.02 GEN, dû à un prx trop ancien maintenant. Il l'est cependant toujours en 5.00 M33.

Pour entrer pleinement dans l'action, nous vous invitons à visiter cette partie du site Devsgen. De là, vous pourrez progresser dans la programmation Lua.

 

Une fois que vous aurez appris, et pris une bonne expérience en Lua (en ayant réalisé des petits programmes, bouts de code), vous voudrez sûrement agrandir vos compétences en programmation.
Et rien de plus efficace après avoir étudié et maîtrisé le Lua, que de se lancer dans les Langages C/C++.

Ceux-ci seront un peu plus compliqués à apprendre, mais l'avantage certain est que ces langages vous permettront de réaliser tout et n'importe quoi. Oui, c'est avec du C et du C++ que vous aurez la possibilité de vous lancer enfin dans un projet conséquent tel qu'un début de Custom Firmware, un émulateur, et la création de plugins au format PRX.

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