{{tag>jeu matériel audio vidéo VÉTUSTE}}
====== Sony Playstation Portable (PSP) & Linux Ubuntu ======
===== Présentation de la PSP =====
{{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% !
==== 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}}
* 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.
=== PSP 2000 (Slim & light) ===
{{http://www.techoso.com/images/sony-psp-2000-slim.jpg?500x215}}
* 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.
=== PSP 3000 (Brite) ===
{{http://news.idealo.fr/wp-content/uploads/2008/08/sony-psp-3000.jpg?500x253}}
* 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é
=== PSP N1000 (Go) ===
{{http://www.jeux-internet.be/images/psp-go.jpg}}
En cours de rédaction par **Mickleman**
===== Connexion à l'ordinateur =====
==== Détection ====
[Ubuntu Dapper] : la PSP est reconnue directement comme un lecteur de musique ordinaire et montée automatiquement. Cependant, vous pouvez aussi la définir dans le //fstab// et la gérer comme un disque amovible. Elle est considérée comme un disque ''sd ?'' Une fois branchée, faites un **dmesg** ou **fdisk** pour récupérer sous quelle adresse disque elle est placée:
$ dmesg
[4296824.734000] usb 4-1: new high speed USB device using ehci_hcd and address 4
[4296824.849000] scsi1 : SCSI emulation for USB Mass Storage devices
[4296824.849000] usb-storage: device found at 4
[4296824.849000] usb-storage: waiting for device to settle before scanning
[4296829.850000] Vendor: Sony Model: PSP Rev: 1.00
[4296829.850000] Type: Direct-Access ANSI SCSI revision: 00
[4296829.854000] SCSI device sdb: 985088 512-byte hdwr sectors (504 MB)
[4296829.855000] sdb: Write Protect is off
[4296829.855000] sdb: Mode Sense: 00 6a 20 00
[4296829.855000] sdb: assuming drive cache: write through
[4296829.861000] SCSI device sdb: 985088 512-byte hdwr sectors (504 MB)
[4296829.862000] sdb: Write Protect is off
[4296829.862000] sdb: Mode Sense: 00 6a 20 00
[4296829.862000] sdb: assuming drive cache: write through
[4296829.862000] sdb: sdb1
[4296829.865000] sd 1:0:0:0: Attached scsi removable disk sdb
[4296829.865000] sd 1:0:0:0: Attached scsi generic sg1 type 0
[4296829.873000] usb-storage: device scan complete
[4296830.927000] FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!
$ fdisk -l
Disk /dev/sda: 164.6 GB, 164696556032 bytes
255 heads, 63 sectors/track, 20023 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 20023 160834716 b W95 FAT32
Disk /dev/sdb: 504 MB, 504365056 bytes
32 heads, 32 sectors/track, 962 cylinders
Units = cylinders of 1024 * 512 = 524288 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 961 491789+ 6 FAT16
$ mount -l
...
...
...
/dev/sdb1 on /media/psp type vfat (rw,nosuid,nodev,quiet,shortname=mixed,uid=100 0,gid=1000,umask=077,iocharset=utf8)
Voilà, ça devrait être bon !
**NB** Un disque externe USB prend la PSP comme point de montage nommé //sdb1//, c'est certainement différent pour vous. La commande ''mount -l'' est celui de l'auto-détection de la PSP, avant de toucher au **fstab**. Normalement le montage automatique fonctionne et vous pouvez manipuler les fichiers sur la PSP.
**Attention !** Les fichiers ne s'écrivent pas sur la PSP quand vous les déposez sur la carte mémoire (PSP 1000/2000/3000) ou sur la mémoire interne (PSPGo). Il faut donc retirer la console de façon convenable. Pour cela, un clic droit sur l'icône représentant la PSP, puis //Retirer le volume sans risque//. Vous pouvez alors débrancher votre console de votre ordinateur !
===== Encoder les vidéos =====
La PSP est capable de lire un certain nombre de formats vidéo, comme documenté sur le [[http://playstation.custhelp.com/cgi-bin/playstation.cfg/php/enduser/std_adp.php?p_faqid=333&p_sid=bj_ohGHj|site US]] de Sony:
The PSP system supports the following video and movie file formats:
* MemoryStick™ Video Format
* MPEG-4 Simple Profile (AAC)
* H.264/MPEG-4 AVC Main Profile (CABC)(AAC) and Baseline Profile (AAC)
* MP4
* MPEG-4 Simple Profile (AAC)
* H.264/MPEG-4 AVC Main Profile (CABC)(AAC) and Baseline Profile (AAC)
* AVI
* Motion JPEG (Linear PCM)
* Motion JPEG (u-Law)
D'autre part, la résolution native de la PSP est 480x272. Mais ces informations sont loin d'être suffisantes pour pouvoir encoder des vidéos lisibles par une PSP.
Dans les faits, après recherches sur le web et nombreux tests, cela se traduit par les caractéristiques plus précises suivantes:
==== Conteneur et codecs ====
* Conteneur vidéo: MP4
* Codec Audio: AAC
* Codecs Video:
* 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 [[wpfr>XviD|XviD]].
==== Résolutions Supportées ====
Attention, cette section ne parle que les PSPs avec firmware officiels. Les firmwares modifiés ont des caractéristiques différentes -- meilleures la plupart du temps:
* Résolutions avec un "768k pixel count" (tous firmwares):
* 368x208 (16:9)
* 320x240 (4:3)
* 384x160
* 416x176
* 400x192
* 480x160
* Firmwares récents seulement ( Vérifié sur une PSP Slim en 3.71 "officiel". )
* 480x272
* 720x480
===== Les logiciels de transcodage =====
"Transcodage" signifiant en vidéo tout simplement "conversion de format".
==== Handbrake ====
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:
./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"
... permet de créer un fichier lisible sur la PSP de 700MB max (qualité UMD Vidéo), au format NTSC (720x480), qui sera d'ailleurs lu en pleine résolution sur une télé si on utilise une PSP Slim & Lite.
Afin d'éviter de stresser inutilement les lecteurs de DVD, il vaut mieux faire une copie locale avec vobcopy (''vobcopy -m'').
Il existe une interface graphique en paquet deb pour amd64 et i386 ici :
[[https://handbrake.fr/?article=download]]
==== AVIDEMUX ====
Pour transcoder des fichiers AVI, un des meilleurs softs disponibles pour la PSP en ce moment (juin 2009) est sans doute [[http://www.avidemux.org/|avidemux]], un outil assez impressionnant de conversion et travail sur les fichiers AVI.
Pour la PSP, en particulier pour les formats en résolution élevée, il faut utiliser la version SVN de la 2.4. sous Ubuntu (ou disponible directement dans les dépôt sous Jaunty), voir les miroirs proposés sur le site de avidemux, cela ça marche très bien.
Méthode de conversion pour obtenir du 480x272 sur un firmware officiel récent - tutoriel très rapide - :
* Ouvrir le ficher AVI à convertir
* Aller dans le menu 'Auto':
* choisir le format PSP (H.264) pour les grandes résolutions, Ensuite, dans 'Target Type', choisir PSP Full Res ou PSP 480x272
* Sinon choisir 'PSP' pour le codec classique (MP4 ASP)
* Pour modifier la résolution, il faut aller dans les filtres et modifier à la main
* Cliquer sur 'Sauver', attendre...
Le fichier résultant doit être stocké, non pas dans "/MP_ROOT" mais dans "/VIDEO". Il n'y a pas de convention de nommage particulière.
Attention: cette méthode fonctionne bien pour les grandes résolutions, mais il faut faire quelques manipulations supplémentaires pour les plus petites résolutions: il faut en effet éditer à la main les filtres vidéo qui convertissent l'image vers la résolution cible.
==== PSPVC ====
Une nouvelle version de ce soft est disponible depuis le 13 mars 2007 dans sa version 0.3.\\
Voici les nouveautés ajoutées depuis la version 2.0 :
* 0.2.1 -> 0.3
*nouvelles versions de X264 et FFMPEG (fif1973)
*entrée dans le menu (freedesktop) Applications/Multimedia (fif1973)
*Simplification des paramètres de conversion (fif1973)
*Affiche un message d'erreur quand le fichier source est dans un format non supporté (fif1973)
*Traduction Slovène ajoutée (lenooh)
*Traduction Allemande ajoutée (Christian Stake)
*Option "--threads X" pour une utilisation multi-cpu/multi-coeur (fif1973)
*0.2 -> 0.2.1
*L'ordre des options a changé (fif1973)
*Fenêtre 'Au sujet de' (fif1973)
*Titre des fenêtres de conversion est le titre de la vidéo convertie (fif1973)
*Limite haute du choix de la vignette ajusté à la durée de la video (fif1973)
*Traduction polonaise ajoutée (Thomasz Dominikowski)
Plus d'informations sur [[http://pspvc.sourceforge.net/|Le site officiel de pspvc]]
{{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.
* Dépendances
* nasm
* libfaac
* libxvidcore
* liba52
* gtk+2.0
* yasm
Les bibliothèques indiquées pour les dépendances doivent être installées avant, et en version de développement (dev).
Pour les installer (sous feisty), [[tutoriel:comment_installer_un_paquet|installez les paquets]] **nasm yasm libfaac-dev libxvidcore4-dev liba52-0.7.4-dev libgtk2.0-dev**
=== Installation ===
Télécharger l'archive du programme sur [[http://ovh.dl.sourceforge.net/sourceforge/pspvc/pspvc-install-0.3.tar.gz|le site]]. Décompresser le fichier dans votre répertoire personnel, déplacez-vous dans le dossier créé et ensuite :
sudo ./install.sh
pour exécuter le programme, dans un terminal :
pspvc
=== Installation alternative ===
Note: le script install.sh lance la compilation/installation de ffmpeg qui est empaqueté avec. Ce n'est pas forcément une bonne idée.
Vous pouvez juste aller chercher dans le repetoire archives les sources de pspcv, et compiler à partir de là.
tar xfvz pspvc-0.3.tar.gz
cd pspvc-0.3
./configure
make
sudo make install
Si ./configure se termine par un message expliquant qu'il manque une dépendance, alors que vous êtes sûr de bien l'avoir déjà, c'est sûrement qu'il manque la version de développement du paquet (les "headers"). Il vous manquera donc certainement le paquet "libgtk2.0-dev", même si vous êtes sous Gnome et que vous avez déjà tous les paquets gtk 2.0 dont "libgtk2.0".
=== Utilisation ===
Les vidéos mpeg4 vont dans ''MP_ROOT/100MNV01'' et celles encodées en H264 dans ''MP_ROOT/100ANV01''
==== WinFF ====
WinFF permet de convertir à peu près n'importe quoi dans un format lisible par la PSP.
{{psp-winff.png|}}
Consultez la page [[WinFF]] pour plus d'informations.
Une video de 700mo prendra plus d'un Go après avoir été convertie en mp4 en mode H.264 , il faudra modifier les fréquences d'échantillonage si vous tenez a convertir comme ça , sinon préferez le Xvid for psp:-D
===== Gérer la PSP =====
==== 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...
Il est aussi capable de transférer le tout sur votre PSP à partir d'Ubuntu.
=== Les menus ===
- "PBP File" vous permet de customiser vos homebrew (Devhook, IRShell, ....)
- "ISO Files" vous permet de manipuler un ISO, compresser un ISO en CSO ou décompresser un CSO en ISO et de transférer le tout sur votre PSP.
- "Savegames" quand à lui vous permet de transférer tout ou une partie de vos sauvegardes de l'ordinateur vers votre PSP et inversement.
- "Options", demande de confirmation pour effacement ou écrasement d'une sauvegarde, cacher vos "données endommagées", choisir "l'emplacement" de votre PSP et la possibilité de sauvegarder vos choix d'options Save Preferences
=== Installation ===
Il y a deux méthodes pour l'instant. Pour la première, vous devrez compiler le programme avant de pouvoir l'utiliser, pour la seconde, vous n'aurez qu'a installer le paquet.
La seconde méthode est déconseillée car le paquet disponible est en version 1.3 et le programme est aujourd'hui en version 2.0.2, donc privilégiez la première méthode pour être à jour
=== Première méthode ===
- [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **build-essential libqt4-dev zlib1g zlib1g-dev qt4-dev-tools**
- si vous avez les paquets suivants d'installer: **qt3-dev-tools libqt3-mt-dev**, Utilisez la commande **qmake-qt4** a la place de qmake ce qui evitera de compiler avec la mauvaise version de qt et donc de generer des erreurs.
- Téléchargez le fichier source qpspmanager-X.X.X.tar.gz depuis [[http://sourceforge.net/project/showfiles.php?group_id=146025|le site officiel]]
- Décompressez le quelque part (votre dossier personnel /home/nomdutilisateur vera l'affaire).
- Ouvrez une console et tapez : cd qpspmanager-X.X.X
- Ensuite on va commencer à compiler, tapez : qmake
- Ensuite : make
Il peut arriver que la commande make donne : src/isocompressor.h:38: error: 'uint32_t' does not name a type
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 )
# include
la ligne
# include
.
Puis lancez la commande qmake. Enfin éditez le fichier Makefile fraichement créé en remplaçant CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
par
CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -std=c++0x
- Enfin, installez le tout en tapant : sudo make install
ATTENTION : version 2.0.2 buguée au niveau de l'installation. La commande sudo make install ne sert à rien, il faudra manuellement copier le binaire : sudo cp /home/nomdutilisateur/qpspmanager-X.X.X/bin/QPSPManager /usr/bin/qpspmanager
Ce bug sera résolu dans la future version
- Voilà l'installation est finie, pour lancer le programme, tapez :qpspmanager
=== Seconde méthode ===
- 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 :
[[https://sourceforge.net/projects/qpspmanager/|télécharger le ici]]\\
- 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 :\\
qpspmanager
\\
==== Les images .iso et .cso en ligne de commandes ====
L'outil qui permet la compression/décompression des fichiers ISO est ciso disponible dans le dépôt universe pour feisty (peut-être autre part aussi mais en tout cas il est là)
=== Installation ===
Pour l'installer tapez dans un terminal
sudo apt-get install ciso
=== Utilisation ===
ciso niveau fichierentree fichiersortie
== ISO > CSO ==
Le niveau de compression doit être compris entre 1 et 9
Exemple
ciso 5 fichier.iso fichier.cso
== CSO > ISO ==
Le niveau de compression doit être 0.
Exemple
ciso 0 fichier.cso fichier.iso
==== Une interface graphique pour ciso ====
Si vous êtes allergique a la ligne de commande il existe une interface graphique : Cso-Dax compressor . C'est un logiciel pour windows mais il existe une version linux qui utilise ciso.
=== Installation ===
Il faut télécharger l'archive a cette adresse http://psp.ducseb.net/download/cso-dax/cso-dax_compressor_0.34_linux.zip
Ensuite décompressez là dans votre répertoire personnel.
Maintenant il faut copier 3 fichiers dans : /usr/bin
Pour ça ouvrez un terminal et tapez sudo cp "/home/VOTRE NOM/CSO DAX COMPRESSOR 0.34 Linux/FR/bin/ciso" "/usr/bin" (ceci copie le fichier ciso)
Puis
sudo cp "/home/VOTRE NOM/CSO DAX COMPRESSOR 0.34 Linux/FR/bin/csoCompiler" "/usr/bin" (ceci copie le fichier csoCompiler)
et enfin
sudo cp "/home/VOTRE NOM/CSO DAX COMPRESSOR 0.34 Linux/FR/bin/daxcr" "/usr/bin" (ceci copie le fichier daxcr)
__**Plus simple :**__
taper dans un terminal sudo nautilus (sous Ubuntu)
ou
sudo konqueror (sous Kubuntu)
ou
sudo thunar (sous Xubuntu)
et puis faites glisser simplement les fichiers: ciso,csoCompiler et daxcr.
Pour lancer l'interface il suffit de taper en respectant la casse
csoCompiler
===== Développement et programmation =====
Même si le développement de portails (pages web consultables via le navigateur de la PSP) est possible avec une PSP en firmware officielle (mise à jour logicielle), programmer sur PSP et exécuter vos programmes amateurs (ou ceux d'autres développeurs) requiert d'avoir une PSP avec un firmware modifié (custom firmware).
Pour cela, je vous invite à installer le custom firmware 6.20 PRO-B7, 6.35 PRO-B7 ou 6.39 PRO-B7 (dernière version stable en date en ce **18 Juillet 2011**) : [[http://www.pspgen.com/af-version-finale-6-xx-pro-b7-est-disponible-actualite-198481.html|tutoriel d'installation]]. Cette version a le mérite d'être compatible toutes PSPs (PSP1000/2000/3000/Go). Il suffira simplement de mettre à jour votre console en firmware 6.20, 6.35 ou 6.35 selon votre choix et d'installer le custom firmware qui correspond.
**Précisons également que flasher sa PSP pour installer un custom firmware est une manipulation légale !**
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**).
==== Installation des outils ====
Tout d'abord, il faut savoir que ces quelques outils vous permettront de programmer sous 3 langages différents sur la PSP:
- Langage C : un standard, et celui que je vous conseillerai pour débuter.
- 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.
- 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**.
=== Installation du PSPSDK ===
== via psp.jim.sh ==
Installez les paquets suivants :
build-essential autoconf automake bison flex libncurses5-dev libreadline-dev libusb-dev texinfo libgmp3-dev libmpfr-dev subversion
[[:tutoriel:comment_modifier_un_fichier|Modifiez le fichier]] .bashrc et mettez-y ceci à la fin :
export PSPDEV="/home/tuto/pspsdk"
export PSPSDK="$PSPDEV/psp/sdk"
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin"
Récupérez les sources :
svn co http://psp.jim.sh/svn/psp/trunk/psptoolchain
Remplacez toutes les occurences de [[svn://svn.ps2dev.org]] par [[http://psp.jim.sh/svn]] dans le dossiers ''scripts'' .
Puis installez le tout :
. ~/.bashrc
sudo ./toolchain-sudo.sh
== via un dépôt ==
[[: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**//):
echo "deb http://terbaddo.free.fr/debian default main" | sudo tee -a /etc/apt/sources.list
[[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Rechargez la liste des paquets]] :
sudo apt-get update
Enfin, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>psptoolchain|psptoolchain]]**
sudo apt-get install psptoolchain
----------------------------------------------------------------------------------------------------------
// Contributeurs : [[utilisateurs:Terbaddo]], [[utilisateurs:Naoki]], [[utilisateurs:tioneb|Tioneb]], [[utilisateurs:krevan|Krevan]] et [[utilisateurs:MrZeroo00|MrZeroo00]],
[[utilisateurs:chdorb|chdorb]] ,[[utilisateurs:Sarom|Sarom]] ,[[utilisateurs:ignace72|ignace72]] //