Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
psp [Le 18/07/2011, 19:47]
84.7.181.11 [Développement et programmation]
psp [Le 11/09/2022, 11:57] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>dapper edgy jeu matériel audio vidéo}}+{{tag>​jeu matériel audio vidéo ​VÉTUSTE}}
  
  
 ====== Sony Playstation Portable (PSP) & Linux Ubuntu ====== ====== Sony Playstation Portable (PSP) & Linux Ubuntu ======
  
-===== Présentation ===== +===== Présentation ​de la PSP ===== 
-{{materiel:psp.jpg?​373x144|PlayStation Portable}}+{{http://​android-france.fr/​wp-content/​uploads/​2011/​04/​logo_sony.jpg?​373x144}}
  
 La PSP est une console portable conçu par Sony et visant un public au premier abord hard-gamer. Néanmoins, cette page dédiée à la console va permettre de mettre à la portée de tous ce petit bijou et de l'​exploiter à 100% ! La PSP est une console portable conçu par Sony et visant un public au premier abord hard-gamer. Néanmoins, cette page dédiée à la console va permettre de mettre à la portée de tous ce petit bijou et de l'​exploiter à 100% !
  
 +==== Caractéristiques des modèles ====
  
 +Ces informations serviront quelque peu pour les néophytes qui veulent savoir ce que cache le ventre de leur console, mais surtout aux développeurs qui s'​intéresseront au hardware de la machine pour en faire bon usage.
  
 +=== PSP 1000 (Fat) ===
  
 +{{http://​www.gchangetout.com/​images_int/​h/​hbk95370/​94580/​383051.jpg?​350x350}}
 +
 +<​note>​
 +  * Couleurs : noire, blanche, grise, bleue, rose, rouge, argentée, etc...
 +  * Dimensions : 170mm (longueur) x 74mm (largeur) x 23mm (épaisseur).
 +  * Dimensions de l'​écran : 95mm (longueur) x 54mm (hauteur).
 +  * Poids : 280g environ, batterie incluse.
 +  * Son : haut-parleurs stéréo internes.
 +  * Batterie : 3,6 V, 1800 mAh.
 +----
 +  * Processeur central (CPU Core) : MIPS RS4000 sur 32 bits (architecture MIPS), cadencé à 333 MHz (pour les micrologiciels officiels inférieurs à 3.5, la vitesse disponible n'est que de 222 MHz) sur un bus mémoire 128 bits. Deux unités de calcul intégrées : FPU et VFPU (unité de traitement en parallèle). Puissance de traitement de 2,6 GFLOPS.
 +  * Mémoire principale : 32 MiB RAM et 4 MiB eDRAM (embedded DRAM) à 2,6 Gio/s.
 +  * Processeur multimédia (Media Engine) : second processeur RS4000 avec 2 Mio de mémoire eDRAM dédiée.
 +  * Deux processeurs graphiques : 3D Curved Surface + 3D Polygon (Core 1) et moteur de rendu 3D et de traitement des surfaces (Core 2), cadencé à 166 MHz sur un bus 256 bits, 2 Mio mémoire vidéo eDRAM à 5,3 Gio/s pour une puissance de traitement maximale de 664 M pixels/s, 34 M polygones/s (T&L).
 +  * Processeur audio (Sound Core Virtual Mobile Engine) : DSP 128 bits reconfigurable,​ 5 GFLOPS.
 +  * Décodeur matériel MPEG-4 AVC (H.264) Main Profile Level3.
 +</​note>​
 +=== PSP 2000 (Slim & light) ===
 +
 +{{http://​www.techoso.com/​images/​sony-psp-2000-slim.jpg?​500x215}}
 +<​note>​
 + * Couleurs : noire, blanche, grise, bleue, rose, rouge, argentée, etc...
 +  * Dimensions : 170mm (longueur) x 7mm (largeur) x 18mm (épaisseur).
 +  * Dimensions de l'​écran : 95mm (longueur) x 54mm (hauteur).
 +  * Poids : de 50g 180g environ, batterie incluse.
 +  * Son : haut-parleurs stéréo internes.
 +  * Batterie : 3,6 V, 1200 mAh.
 +----
 +  * Processeur central (CPU Core) : MIPS RS4000 sur 32 bits (architecture MIPS), cadencé à 333 MHz (pour les micrologiciels officiels inférieurs à 3.5, la vitesse disponible n'est que de 222 MHz) sur un bus mémoire 128 bits. Deux unités de calcul intégrées : FPU et VFPU (unité de traitement en parallèle). Puissance de traitement de 2,6 GFLOPS.
 +  * Mémoire principale : 32 MiB RAM et 4 MiB eDRAM (embedded DRAM) à 2,6 Gio/s.
 +  * Processeur multimédia (Media Engine) : second processeur RS4000 avec 2 Mio de mémoire eDRAM dédiée.
 +  * Deux processeurs graphiques : 3D Curved Surface + 3D Polygon (Core 1) et moteur de rendu 3D et de traitement des surfaces (Core 2), cadencé à 166 MHz sur un bus 256 bits, 2 Mio mémoire vidéo eDRAM à 5,3 Gio/s pour une puissance de traitement maximale de 664 M pixels/s, 34 M polygones/s (T&L).
 +  * Processeur audio (Sound Core Virtual Mobile Engine) : DSP 128 bits reconfigurable,​ 5 GFLOPS.
 +  * Décodeur matériel MPEG-4 AVC (H.264) Main Profile Level3.
 +</​note>​
 +
 +=== PSP 3000 (Brite) ===
 +
 +{{http://​news.idealo.fr/​wp-content/​uploads/​2008/​08/​sony-psp-3000.jpg?​500x253}}
 +<​note>​
 + * Couleurs : noire, blanche, grise, bleue, rose, rouge, argentée, etc...
 +  * Dimensions : 170mm (longueur) x 7mm (largeur) x 18mm (épaisseur).
 +  * Dimensions de l'​écran : 95mm (longueur) x 54mm (hauteur).
 +  * Poids : de 50g 180g environ, batterie incluse.
 +  * Son : haut-parleurs stéréo internes.
 +  * Batterie : 3,6 V, 1200 mAh.
 +  * Processeur central (CPU Core) : MIPS RS4000 sur 32 bits (architecture MIPS), cadencé à 333 MHz (pour les micrologiciels officiels inférieurs à 3.5, la vitesse disponible n'est que de 222 MHz) sur un bus mémoire 128 bits. Deux unités de calcul intégrées : FPU et VFPU (unité de traitement en parallèle). Puissance de traitement de 2,6 GFLOPS.
 +  * Mémoire principale : 32 MiB RAM et 4 MiB eDRAM (embedded DRAM) à 2,6 Gio/s.
 +  * Processeur multimédia (Media Engine) : second processeur RS4000 avec 2 Mio de mémoire eDRAM dédiée.
 +  * Deux processeurs graphiques : 3D Curved Surface + 3D Polygon (Core 1) et moteur de rendu 3D et de traitement des surfaces (Core 2), cadencé à 166 MHz sur un bus 256 bits, 2 Mio mémoire vidéo eDRAM à 5,3 Gio/s pour une puissance de traitement maximale de 664 M pixels/s, 34 M polygones/s (T&L).
 +  * Processeur audio (Sound Core Virtual Mobile Engine) : DSP 128 bits reconfigurable,​ 5 GFLOPS.
 +  * Décodeur matériel MPEG-4 AVC (H.264) Main Profile Level3.
 +  * Micro intégré
 +</​note>​
 +
 +=== PSP N1000 (Go) ===
 +
 +{{http://​www.jeux-internet.be/​images/​psp-go.jpg}}
 +
 +En cours de rédaction par **Mickleman**
 ===== Connexion à l'​ordinateur ===== ===== Connexion à l'​ordinateur =====
  
Ligne 98: Ligne 161:
   * Codec Audio: AAC   * Codec Audio: AAC
   * Codecs Video:   * Codecs Video:
-    * MPEG-4 AVC, autrement appelé [[http://​fr.wikipedia.org/​wiki/​H.264|H.264]],​ encodé en profil "​Main"​ ou bien "​Baseline"​. Le codec Open Source '​x264'​ peut encoder suivant ces profils. +    * MPEG-4 AVC, autrement appelé [[wpfr>H.264|H.264]],​ encodé en profil "​Main"​ ou bien "​Baseline"​. Le codec Open Source '​x264'​ peut encoder suivant ces profils. 
-    * MPEG-4 Simple profile with AAC. Ce profil particulier de la norme MPEG-4 Part 2 est implémenté,​ entre autre, dans le codec Open Source [[http://​fr.wikipedia.org/​wiki/​XviD|XviD]].+    * MPEG-4 Simple profile with AAC. Ce profil particulier de la norme MPEG-4 Part 2 est implémenté,​ entre autre, dans le codec Open Source [[wpfr>XviD|XviD]].
  
  
Ligne 117: Ligne 180:
     * 400x192     * 400x192
     * 480x160     * 480x160
-  * Firmwares récents seulement ( Vérifié sur une PSP Slim en 3.71 "​officiel"​. ) +  * Firmwares récents seulement ( Vérifié sur une PSP Slim en 3.71 "​officiel"​. )
     * 480x272     * 480x272
     * 720x480     * 720x480
Ligne 133: Ligne 196:
 Pour transcoder des DVDs vers la PSP, le plus simple est sans doute d'​utiliser [[http://​handbrake.m0k.org|Handbrake]],​ un soft Open Source qui possède une version en ligne de commande pour Linux. Pour transcoder des DVDs vers la PSP, le plus simple est sans doute d'​utiliser [[http://​handbrake.m0k.org|Handbrake]],​ un soft Open Source qui possède une version en ligne de commande pour Linux.
  
-Typiquement,​ une simple commande comme: ​+Typiquement,​ une simple commande comme:
  
 <​code>​./​HandBrakeCLI -i /​media/​cdrom0/​VIDEO_TS -L -N -f mp4 -w 720 -l 480 -m -e x264 -x level=30:​trellis=1:​cabac=1 -S 700 -2 -E faac -B 128 -a 3 -R 48 -o "​VIDEO.mp4"</​code>​ <​code>​./​HandBrakeCLI -i /​media/​cdrom0/​VIDEO_TS -L -N -f mp4 -w 720 -l 480 -m -e x264 -x level=30:​trellis=1:​cabac=1 -S 700 -2 -E faac -B 128 -a 3 -R 48 -o "​VIDEO.mp4"</​code>​
Ligne 143: Ligne 206:
 Il existe une interface graphique en paquet deb pour amd64 et i386 ici : Il existe une interface graphique en paquet deb pour amd64 et i386 ici :
  
-[[http://​handbrake.fr/?​article=download]]+[[https://​handbrake.fr/?​article=download]]
  
 ==== AVIDEMUX ==== ==== AVIDEMUX ====
Ligne 194: Ligne 257:
 {{materiel:​pspvc_02.png}} \\ {{materiel:​pspvc_02.png}} \\
 C'est un soft graphique (basé sur [[ffmpeg]]) qui permet d'​encoder des vidéos sous format de la PSP : MPEG4/SP (all firmware), H264/AVC (firmware 2.0+) ou H264/AVC 480x272 (firmware 3.03-OE-B+). Très  simple d'​utilisation et d'​installation une fois les dépendances installées. C'est un soft graphique (basé sur [[ffmpeg]]) qui permet d'​encoder des vidéos sous format de la PSP : MPEG4/SP (all firmware), H264/AVC (firmware 2.0+) ou H264/AVC 480x272 (firmware 3.03-OE-B+). Très  simple d'​utilisation et d'​installation une fois les dépendances installées.
-  * Dépendances ​+  * Dépendances
     * nasm     * nasm
     * libfaac     * libfaac
Ligne 241: Ligne 304:
 ==== qPSP Manager ==== ==== qPSP Manager ====
  
-qPSP Manager est un outil créé par Bernat Ràfales Mulet pour gérer sa PSP, il permet entre autres gérer les PBP, compresser/​décompresser les ISO/CSO, gérer les sauvegardes de jeux... ​+qPSP Manager est un outil créé par Bernat Ràfales Mulet pour gérer sa PSP, il permet entre autres gérer les PBP, compresser/​décompresser les ISO/CSO, gérer les sauvegardes de jeux...
 Il est aussi capable de transférer le tout sur votre PSP à partir d'​Ubuntu. Il est aussi capable de transférer le tout sur votre PSP à partir d'​Ubuntu.
  
Ligne 266: Ligne 329:
   - Ensuite on va commencer à compiler, tapez : <​code>​qmake</​code>​   - Ensuite on va commencer à compiler, tapez : <​code>​qmake</​code>​
   - Ensuite : <​code>​make</​code>​   - Ensuite : <​code>​make</​code>​
-<​note>​ Il peut arriver que la commande make donne : <​code>​ src/​isocompressor.h:​38:​ error: '​uint32_t'​ does not name a type </​code>​ Dans ce cas, éditez le fichier /​src/​isocompressor.h en ajoutant sous <​code>#​ include <​cstdint>​+<​note>​ Il peut arriver que la commande make donne : <​code>​ src/​isocompressor.h:​38:​ error: '​uint32_t'​ does not name a type </​code>​ Dans ce cas, éditez le fichier /​src/​isocompressor.h en vérifiant que les 2 lignes ci dessous soient présente : (Ajouter la/les lignes manquantes ) 
 +<​code>​ 
 +# include <​cstdint>​
 la ligne la ligne
-# include <​iostream>​ </​code>​. Puis lancez la commande qmake. Enfin éditez le fichier Makefile fraichement créé en remplaçant <​code>​CXXFLAGS ​     = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)+# include <​iostream>​ </​code>​. 
 + 
 +Puis lancez la commande qmake. Enfin éditez le fichier Makefile fraichement créé en remplaçant <​code>​CXXFLAGS ​     = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
 par par
 CXXFLAGS ​     = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -std=c++0x</​code></​note>​ CXXFLAGS ​     = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -std=c++0x</​code></​note>​
Ligne 280: Ligne 347:
   - Téléchargez [[http://​nublox.online.fr/​Debian/​qpspmanager_1.3-1_i386.deb|le paquet]]\\   - Téléchargez [[http://​nublox.online.fr/​Debian/​qpspmanager_1.3-1_i386.deb|le paquet]]\\
 si le lien est cassé, ce paquet est aussi disponible sur sourceforge : si le lien est cassé, ce paquet est aussi disponible sur sourceforge :
-[[http://​sourceforge.net/​projects/​qpspmanager/​|télécharger le ici]]\\+[[https://​sourceforge.net/​projects/​qpspmanager/​|télécharger le ici]]\\
   - Double-cliquez sur l'​archive.deb pour l'​installer. Suivez simplement les instructions.   - Double-cliquez sur l'​archive.deb pour l'​installer. Suivez simplement les instructions.
   - Ensuite attendez jusqu'​à la fin de l'​opération et lancez QPSPManager en tapant :\\   - Ensuite attendez jusqu'​à la fin de l'​opération et lancez QPSPManager en tapant :\\
 <​code>​qpspmanager</​code>​\\ <​code>​qpspmanager</​code>​\\
- 
  
 ==== Les images .iso et .cso en ligne de commandes ==== ==== Les images .iso et .cso en ligne de commandes ====
Ligne 292: Ligne 358:
 === Installation === === Installation ===
  
-Pour l'​installer tapez dans un terminal ​+Pour l'​installer tapez dans un terminal
 <​code>​sudo apt-get install ciso</​code>​ <​code>​sudo apt-get install ciso</​code>​
  
Ligne 332: Ligne 398:
 <​code>​sudo cp "/​home/​VOTRE NOM/CSO DAX COMPRESSOR 0.34 Linux/​FR/​bin/​daxcr"​ "/​usr/​bin" ​  (ceci copie le fichier daxcr)</​code> ​ <​code>​sudo cp "/​home/​VOTRE NOM/CSO DAX COMPRESSOR 0.34 Linux/​FR/​bin/​daxcr"​ "/​usr/​bin" ​  (ceci copie le fichier daxcr)</​code> ​
  
-__**Plus simple :**__ +__**Plus simple :**__
 taper dans un terminal <​code>​sudo nautilus ​  (sous Ubuntu) taper dans un terminal <​code>​sudo nautilus ​  (sous Ubuntu)
 ou ou
Ligne 341: Ligne 407:
 Pour lancer l'​interface il suffit de taper en respectant la casse Pour lancer l'​interface il suffit de taper en respectant la casse
 <​code>​csoCompiler</​code>​ <​code>​csoCompiler</​code>​
- 
- 
- 
  
  
Ligne 355: Ligne 418:
  
 Passons aux choses sérieuses. Pour programmer sur votre console PSP, sachez que le code sera fait sur votre ordinateur, mais celui-ci n'est pas nativement capable de compiler pour une PSP. Il va donc falloir procéder à l'​installation d'un environnement de développement pour pouvoir compiler vos programmes à lancer sur votre PSP (on appelle cela de la **cross-compilation**). Passons aux choses sérieuses. Pour programmer sur votre console PSP, sachez que le code sera fait sur votre ordinateur, mais celui-ci n'est pas nativement capable de compiler pour une PSP. Il va donc falloir procéder à l'​installation d'un environnement de développement pour pouvoir compiler vos programmes à lancer sur votre PSP (on appelle cela de la **cross-compilation**).
-==== L'​installation du toolchain ​====+==== Installation des outils ​====
  
-<​note>​ +Tout d'abord, il faut savoir que ces quelques outils vous permettront de programmer sous 3 langages différents sur la PSP:
-Le site ps2dev.org présenté ici ne répond plus, une solution est d'installer MinPSPW ​[[http://​www.jetdrone.com/​minpspw]]. +
-C'est un paquet debian qui contient le SDK compilé. ( environ 148 mb ) +
-</​note>​+
  
-== Pré-requis ==+Langage C : un standard, et celui que je vous conseillerai pour débuter.
  
-Dans un terminal tapez ceci+- Langage C++ : un langage orienté objet (mettant en œuvre les notions de classe, héritage, surcharge d'​opérateurs...). Bien plus complexe, une bonne base en C est recommandée si vous voulez mieux assimiler ce langage.
  
-<​code>​nano ~/.bashrc</​code>​ +- Langage Assembleur MIPS R(S)4000 : le langage d'​assembleur de la PSP, seulement pour les expérimentés,​ et n'est nécessaire que pour ceux voulant faire du hack sur la console ou créer un custom firmware, faire du **reverse engineering**. 
-Rajouter ​à la fin du fichier ces trois lignes ​:  + 
-<​code>​export PSPDEV="/​usr/local/pspdev"+=== Installation du PSPSDK === 
 + 
 +== via psp.jim.sh == 
 + 
 +Installez les paquets suivants : 
 +<​code ​bash>build-essential autoconf automake bison flex libncurses5-dev libreadline-dev libusb-dev texinfo libgmp3-dev libmpfr-dev subversion</​code>​ 
 + 
 +[[:​tutoriel:​comment_modifier_un_fichier|Modifiez le fichier]] .bashrc et mettez-y ceci à la fin : 
 +<​code>​export PSPDEV="/​home/tuto/pspsdk"
 export PSPSDK="​$PSPDEV/​psp/​sdk"​ export PSPSDK="​$PSPDEV/​psp/​sdk"​
 export PATH="​$PATH:​$PSPDEV/​bin:​$PSPSDK/​bin"</​code>​ export PATH="​$PATH:​$PSPDEV/​bin:​$PSPSDK/​bin"</​code>​
  
-Appuyer sur Ctrl + O, puis sur Ctrl + X+Récupérez les sources : 
 +<​code>​svn co http://​psp.jim.sh/​svn/​psp/​trunk/​psptoolchain</​code>​
  
-Mettez à jour le shell +Remplacez toutes les occurences de [[svn://svn.ps2dev.org]] par [[http://​psp.jim.sh/​svn]] dans le dossiers ''​scripts''​ .
-<​code>​source ~/.bashrc</code>+
  
-== L'​installation ==+Puis installez le tout : 
 +<​code>​. ~/.bashrc 
 +sudo ./​toolchain-sudo.sh</​code>​
  
-Premièrement il faut installer les outils qui serons indispensables pour l'​installation du toolchain, tapez donc :+== via un dépôt ==
  
-<​code>​sudo apt-get install build-essential autoconf automake bison flex libncurses5-dev libreadline-dev libusb-dev texinfo libgmp3-dev libmpfr-dev subversion</​code>​+[[:​tutoriel:​comment_modifier_sources_maj|Ajoutez le dépôt]] suivant à vos sources de mises à jour en tapant la commande suivante dans un **[[terminal]]** (//​Applications → Accessoire → **Terminal**//​):​ 
 +<​code ​bash> 
 +echo "deb http://​terbaddo.free.fr/​debian default main" | sudo tee -a /etc/apt/​sources.list 
 +</​code>​
  
-Placer vous dans votre dossier personnel en tapant <​code>​cd</​code>​ +[[:​tutoriel:​comment_modifier_sources_maj#​recharger_la_liste_des_paquets|Rechargez la liste des paquets]] : 
-Puis tapez <​code>​svn co svn://​ps2dev.org/​psp/​trunk/​psptoolchain PspToolchain && cd PspToolchain</​code>​+<​code ​bash>sudo apt-get update</​code>​
  
-On va maintenant compilertapez donc +Enfin[[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​psptoolchain|psptoolchain]]** 
-<​code>​sudo ​./toolchain-sudo.sh</​code>​+<​code ​bash>​sudo ​apt-get install psptoolchain</​code>​
  
-On va maintenant installer les libraries comme la SDL, tapez : +----------------------------------------------------------------------------------------------------------
-<​code>​cd && svn co svn://​ps2dev.org/​psp/​trunk/​psplibraries PspLibraries  +
-cd PspLibraries +
-sudo apt-get install libtool +
-sudo ./libraries-sudo.sh</​code>​ +
- +
-<note important>​Sur un ordinateur récent, la compilation ne prend pas plus de 15mn, en revanche si il est plus vieux, cela peut monter jusqu'​à quatre heures, prévoyez donc du temps devant vous</​note>​ +
-Vous pouvez ensuite apprendre à programmer [[http://​www.smartpsp.net/​programmation-sur-psp-tutoriels/​tutoriels-de-programmation.html|ici]],​ ou encore [[http://​www.xtreamlua.com/​wiki/​doku.php?​id=psp_tutos#​le_c_c|ici]] +
- +
-----+
  
-// Contributeurs : [[utilisateurs:​Naoki]] ​(Administrateur EvoluNoob), [[utilisateurs:​tioneb|Tioneb]],​ [[utilisateurs:​krevan|Krevan]] et [[utilisateurs:​MrZeroo00|MrZeroo00]],​+// Contributeurs : [[utilisateurs:​Terbaddo]], ​[[utilisateurs:​Naoki]],​ [[utilisateurs:​tioneb|Tioneb]],​ [[utilisateurs:​krevan|Krevan]] et [[utilisateurs:​MrZeroo00|MrZeroo00]],​
 [[utilisateurs:​chdorb|chdorb]] ,​[[utilisateurs:​Sarom|Sarom]] ,​[[utilisateurs:​ignace72|ignace72]] // [[utilisateurs:​chdorb|chdorb]] ,​[[utilisateurs:​Sarom|Sarom]] ,​[[utilisateurs:​ignace72|ignace72]] //
  • psp.1311011265.txt.gz
  • Dernière modification: Le 15/12/2011, 15:20
  • (modification externe)