:: Navigation
:: Libère ta PSP
Les Downgrades (PSP Fat)

Version 2.80 vers 1.50 (Team Noobz)
Version 3.03 vers 1.50 (Team Noobz)
Version 3.50 vers 1.50 (Team Noobz)
Toute version vers 1.50 (Team Noobz)

Custom Firmware (PSP Fat)

Installation 3.52M33-4 (Dark_Alex)
Installation 4.01 M33-2 (Dark_Alex)

Custom Firmware (PSP Slim & Lite)

Installation 3.60 M33 (Dark-Alex)
Installation 4.01 M33-2 (Dark_Alex)

Despertar del Cementerio (Toutes PSP)

Toutes PSP vers 3.90M33-3 (Dark_Alex)


:: Derniers posts

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/575bf5e3c62051f9ae76828e61b15223/web/modules/Forum/blok.php on line 88

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/575bf5e3c62051f9ae76828e61b15223/web/modules/Forum/blok.php on line 88
PSP Ground RSS : Les 20 derniers sujets Sujets Auteur Réponses Vues Dernier message
   [News] La surprise dès ce soir à minuit! View94 9 2206 Par sham94
30.07.2008 11:08
   Downgrader une psp avec un firmware 4.xx? zoolk 0 1802 Par zoolk
29.07.2008 22:40
   [test] God Of War: Chain Of Olympus ( non fini) shino01 3 585 Par shino01
29.07.2008 21:10
   convertir theme F0 en ctf 007marvin 0 409 Par 007marvin
29.07.2008 20:57
   [Article] Convertir des themes rco en ctf bryce 9 2529 Par 007marvin
29.07.2008 19:31
   [News] La surprise arrive très bientôt ! Willy91 13 1544 Par Nicolas184
29.07.2008 18:03
   [PRE]shino01 shino01 9 269 Par shino01
29.07.2008 13:49
   Le jeu de la suite du mot... WinterX 1924 35257 Par salut-c-mike222
29.07.2008 12:48

[Article] [C] 2 : Faire un premier programme< Sujet précédent  Sujet suivant >
Accueil du Forum -> PSP -> Développement
AuteurMessage
  Baptiste



Messages : 2092
Inscrit(e) le: 03.06.2006
Firmware: 3.90 M33
Go!Messenger : batistuta15
Statut : Hors ligne
Avertissement : 0
Posté le 01.03.2008 22:25  
[Article] [C] 2 : Faire un premier programme

Après avoir installer un espace de développement sur votre ordinateur, il est temps de passer à la programmation pure.

Pour commencer, on va faire un premier programme assez basique (assez logique ).

Pour cela on va utiliser précisément 3 fonctions pour faire un ... Testeur de touche !

Je vous explique le principe, on arrive sur un écran noir où l'utilisateur doit appuyer sur ses touches ce qui aura pour effet d'afficher tel texte sur l'écran. Comme un exemple vaut toujours mieux qu'un long discourt :

J'appuie sur la touche Croix, le programme affiche sur l'écran: "Vous pressez actuellement la touche Croix".

On va donc utiliser :

  • Une boucle "WHILE"
  • Les callback (voir la définition en cliquant ici)
  • La fonction de la PSP pour écrire du texte
  • La fonction qui gére les touches

Tout ceci dans un fichier principal main.c

 

  • Une boucle "WHILE" qui tournera en boucle (sans rire ) et qui affichera tel texte pour telle touche pressée (=appuyée).
  • Les callback c'est ce qui est affiché lorsque l'on appuie sur la touche HOME pendant un jeu, cela permet de revenir vers le menu de la PSP (XMB). Comme une image vaut toujours mieux qu'un long discours :

 

 

  • La fonction de la PSP pour écrire du texte c'est :
    pspDebugScreenPrintf
    En C c'est
     Printf
       mais sur la PSP c'est la fonction ci-dessus, c'est comme ça
  •  La fonction qui gère les touches sur la PSP c'est :
SceCtrlData pad 

Maintenant on a toutes les clefs en main pour commencer le programme !

 

Les librairies à inclure :


#include 
On inclut la librairie  "pspkernel.h" dans le programme
#include 
On inclut  "pspdebug.h"
#include 
On inclut  "pspctrl.h"

 

Les attributions des fonctions :

 

#define printf pspDebugScreenPrintf
On attribue printf à pspDebugScreenPrintf
Donc on écrira printf au lieu de pspDebugScreenPrintf

Note : il y a toujours une tabulation entre les deux fonctions en question ( ici entre "printf "et "pspDebugScreenPrintf" )

 

Les informations du programme donné au compilateur :

 

PSP_MODULE_INFO("monprogramme", 0, 1, 1); Ne pas mettre d'espace entre les " ", ne pas changer au mieux, cela importe peu
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
 On ne change rien

 

Les prototypes qui préparent la PSP aux fonctions :

 

int exit_callback(int arg1, int arg2, void *common);
prototype callback ligne 1
int CallbackThread(SceSize args, void *argp);
prototype callback ligne 2
int SetupCallbacks(void);
prototype callback ligne 3

 

On ouvre la fonction principale "main" :

J'espère que vous savez faire ça quand même

 

int main()
{
main = principale donc fonction principale ; int = -2 147 483 648 à 2 147 483 647

 

 

On initialise les fonctions et variables :

 

pspDebugScreenInit();
Initialise le mode debug
SetupCallbacks();
Initialise les callback
SceCtrlData pad;
Initalise le controle des touches

 

Création de la boucle WHILE  :

Ca aussi vous devez savoir faire ;)

 

while (1)

{

On donne la valeur 1 pour que la boucle continue

(en numérique 1 = Vrai ; 0 = Faux)

sceCtrlReadBufferPositive (&pad, 1);

Il s'agit d'une fonction de la librairie "pspctrl.h".

Elle nous permet d'utiliser la reconnaissance des touches

 

Création de condtion avec IF, else ... :

On va créer plusieurs conditions à la suite avec les différentes touches, cela pour effet pendant l'exécution du programme d'afficher à l'écran tel texte pour telle touche appuyée, d'où le principe du testeur de touche ...

Remarque : X représente l'axe des abscisses et Y l'axe des ordonnées (si vous ne vous rappelez pas de vos cours de maths, >> cliquez ici << ).

 

 

if (pad.Buttons & PSP_CTRL_CROSS)
	{
	pspDebugScreenSetXY(1,2);
	printf("Vous appuyez actuellement sur la touche Croix");
	}

 

Que l'on peut traduire par :

si (touche pressée et qu'il sagit de Croix)
	{
	le texte sera affiché à : (1,2);
	écrire : "Vous appuyez actuellement sur la touche Croix");
	}

C'est aussi simple que cela, on a fait pour Croix, on va maintenant faire pour les autres touches :

if (pad.Buttons & PSP_CTRL_CIRCLE)
	{
	pspDebugScreenSetXY(1,4);
	printf("Vous appuyez actuellement sur la touche Rond");
	}
 
	if (pad.Buttons & PSP_CTRL_SQUARE)
	{
	pspDebugScreenSetXY(1,6);
	printf("Vous appuyez actuellement sur la touche Carre");
	}	
 
	if (pad.Buttons & PSP_CTRL_TRIANGLE)
	{
	pspDebugScreenSetXY(1,8);
	printf("Vous appuyez actuellement sur la touche Triangle");
	} 
if (pad.Buttons & PSP_CTRL_SQUARE) { pspDebugScreenSetXY(1,8); printf("Vous appuyez actuellement sur la touche Carre"); }


Revenir en haut
  voldemort09
[50-120] Messages



Messages : 54
Inscrit(e) le: 11.12.2007
Firmware:
Statut : Hors ligne
Avertissement : 0
Posté le 01.03.2008 22:30  
Réponse au sujet : [Article] 2 : Faire un premier programme en C
Moi je suis d'accord de faire des tuto je suis programmeur, je peux ?

PSP :fat
En 3.90M33-2+kernel 1.50
MS: 1GO+4GO+2GO+1GO+512MB j'en ai beaucoup XD


Revenir en haut
  Baptiste



Messages : 2092
Inscrit(e) le: 03.06.2006
Firmware: 3.90 M33
Go!Messenger : batistuta15
Statut : Hors ligne
Avertissement : 0
Posté le 01.03.2008 23:44  
Réponse au sujet : [Article] 2 : Faire un premier programme en C
Oui bien sûr, donne nous ton adresse







Revenir en haut
  voldemort09
[50-120] Messages



Messages : 54
Inscrit(e) le: 11.12.2007
Firmware:
Statut : Hors ligne
Avertissement : 0
Posté le 01.03.2008 23:47  
Réponse au sujet : [Article] 2 : Faire un premier programme en C
C'est g*a*b*c*o*1*1@hotmail.com
Sans le "*" bien sur^^

PSP :fat
En 3.90M33-2+kernel 1.50
MS: 1GO+4GO+2GO+1GO+512MB j'en ai beaucoup XD


Revenir en haut
  Baptiste



Messages : 2092
Inscrit(e) le: 03.06.2006
Firmware: 3.90 M33
Go!Messenger : batistuta15
Statut : Hors ligne
Avertissement : 0
Posté le 02.03.2008 00:16  
Réponse au sujet : [Article] 2 : Faire un premier programme en C
Ajouté!







Revenir en haut
  SeanPaul223



Messages : 184
Inscrit(e) le: 23.02.2008
Firmware: 3.90 M33
Statut : Hors ligne
Avertissement : 0
Posté le 02.03.2008 00:58  
Réponse au sujet : [Article] 2 : Faire un premier programme en C
belle initiative ce tutorial..que je trouve tout de même beaucoup plus indiqué pour ceux qui ont une base bien assise en connaissance du C/C++

Revenir en haut
  Baptiste



Messages : 2092
Inscrit(e) le: 03.06.2006
Firmware: 3.90 M33
Go!Messenger : batistuta15
Statut : Hors ligne
Avertissement : 0
Posté le 02.03.2008 13:23  
Réponse au sujet : [Article] 2 : Faire un premier programme en C
Je l'ai indiqué dans le premier tuto de Programmation, les bases du C doivent être acquises, aidez-vous des tutos sur www.siteduzero.com







Revenir en haut
  mrafenne
[0-50] Messages



Messages : 3
Inscrit(e) le: 09.03.2008
Firmware: 3.80 M33
Statut : Hors ligne
Avertissement : 0
Posté le 10.03.2008 17:28  
RE : [Article] 2 : Faire un premier programme en C
gracie pour le travail j'ai sorti mes anciens libres de programmation.










http://img87.imageshack.us/img87/6461/userbar598649ea2.gif
Revenir en haut

Fermer
PSP ground devient Console Life.

Console Life - PC, PS3, Xbox360, Wii, PSP, DS
:: Chat
0 utilisateur est connecté sur le chat !

:: Sondage
Nos News vous semblent-elles suffisament précises ?
 Oui, elles sont parfaites
 Oui, mais je ne comprends pas tout desfois
 Non, il manque des détails
 Non, je n'ai rien compris à tout ça

 
Autres Sondages
:: Syndication

Suivez PSP Ground 
grâce aux fils RSS 2.0

Les 20 dernières news
Les 20 derniers articles
Les 20 derniers téléchargements
Les 20 derniers liens
Les 20 dernières images
Les 20 derniers sujets

:: Publicité