dimanche 29 mai 2011

Compiler Open PS2 Loader sous Linux

Vous voulez compiler Open PS2 Loader sous Linux mais vous ne savez pas comment faire ? Je vais ici vous montrer toutes les étapes pour mette en place le PS2SDK et comment compiler OPL. J'utiliserais la distribution Mageia qui est un fork de Mandriva. Tous les noms de paquets qu'il faudra installer ne sont peut être pas les même sur votre distribution il faudra donc de votre côté chercher les bon noms mais généralement vous lancez votre gestionnaire de paquet préféré et vous devriez trouver sans problèmes. Je tiens quand même à préciser que ce tutoriel est un minimum avancé et que vous devez connaitre les bases d'un système Linux pour ne pas avoir de problème (ce n'est pourtant pas compliqué mais les néophytes peuvent être déroutés).

Je vais me baser sur le tutoriel de izdubar (psx-scene) qui n'est plus totalement à jour et qui à la base explique comment installer l'environnement sous OpenSuse ou sous Ubuntu (la partie Ubuntu a été rédigée par jimmikaelkael). Je tiens à vous signaler que vous pouvez adapter mon article à ce tutoriel, il faudra simplement changer le nom des dépôts de l'article original car le tutoriel de psx-scene donne des adresses de dépôt subversion, or maintenant le projet est hébergé sur GitHub et utilise.. Git comme gestionnaire de version. Les scripts qui sont proposés à la fin du tutoriel sont faux aussi car ils ne prennent pas en compte les changements de dépôt et de gestionnaire de version, j'ai mis à jour ces scripts et vous pouvez les télécharger ici (3éme post). Je ferais toutes les manipulations en console (normal), par contre vous pouvez quand même créer vos dossier en mode graphique.

Je rappel pour les plus flemmards et qui n'ont pas Linux qu'il est possible de télécharger une machine virtuelle sous VirtualBox qui contient tout ce qu'il faut pour compiler OpenPS2 Loader (tout est installé), cependant je ne sais pas si elle est à jour côté scripts.

Edit du 31/07/2011 : Deux corrections mineurs sur le script.

1. Les paquets nécessaires à la compilation

Vous aurez besoin des paquets suivants pour compiler le PS2SDK :
  • gcc (j'utilise la version 4.5)
  • make
  • patch
  • wget
  • git-core (plus besoin de subversion)
  • mercurial (pour OPL)
  • zlib et zlib-devel*
  • libucl1 et libucl1-devel*
* Sous Ubuntu par exemple ça ne sera libucl1-devel mais plutôt libucl1-dev

2. Préparation de l'environnement

Créez un dossier nommé ps2dev pour y mettre le PS2SDK, pour ma part j'ai créé un dossier dev dans mon dossier personnel, ce qui donne comme chemin : /home/yann/dev/ps2dev. Allez dans ce dossier et créer un nouveau fichier texte sans extension que vous nommerez setup_ps2dev, par exemple avec la commande :


nano setup_ps2dev

Une fois dans le fichier copiez y ces lignes, elle permettrons de mettre à jour le path avec les chemins du PS2SDK lorsque nous compilerons OPL. N'oubliez pas de remplacer le premier dossier par le votre :


export PS2DEV=/home/yann/dev/ps2dev
export PATH=$PATH:$PS2DEV/bin
export PATH=$PATH:$PS2DEV/ee/bin
export PATH=$PATH:$PS2DEV/iop/bin
export PATH=$PATH:$PS2DEV/dvp/bin
export PS2SDK=$PS2DEV/ps2sdk
export PATH=$PATH:$PS2SDK/bin
export PS2ETH=$PS2DEV/ps2eth
export GSKIT=$PS2DEV/gsKit
export LANG=C
export LC_ALL=C

Une fois que vous avez fait ça vous pouvez sauvegarder et faire un chmod 777 sur votre fichier, ensuite vous pouvez mettre à jour le path avec ce fichier. Notez l'espace entre le point et le nom du fichier :


chmod 777 setup_ps2dev
. setup_ps2dev


3. Compiler le PS2SDK et les dépendances pour OPL

Rendez vous dans le dossier ps2dev, normalement vous y êtes toujours et vous pouvez y aller à n'importe quel moment en faisant cd $PS2DEV (sous réserve que vous ayez avant cela exécuté le fichier setup_ps2dev. Lancez les commandes suivantes, nous allons récupérer les fichiers du SDK et les compiler.


cd $PS2DEV
git clone https://github.com/ps2dev/ps2toolchain.git
cd ps2toolchain
./toolchain.sh

cd ..
git clone https://github.com/ps2dev/ps2eth.git
cd ps2eth
make

cd ..
git clone https://github.com/ps2dev/gsKit.git
cd gsKit
make

cd ..
git clone https://github.com/ps2dev/ps2sdk-ports.git
cp -R ps2sdk-ports/zlib ./
cd zlib
make && make install  

cd ..
cd ps2sdk-ports
cd libpng
make && make install

cd ..
cd libjpeg
make && make install

cd ..
git clone https://github.com/ps2dev/ps2-packer.git
cd ps2-packer
make
make install

Enfin une fois que vous avez terminé de compiler tout ce petit monde, vous pouvez télécharger les sources d'OPL et les compiler :)

4. Compiler Open PS2 Loader


cd $PS2DEV
hg clone http://bitbucket.org/ifcaro/open-ps2-loader/
cd open-ps2-loader
make

A partir de là vous pouvez aller dans le dossier d'OPL et voir que vous avez bien deux nouveaux fichiers qui sont :
  • OPNPS2LD.ELF qui est la version d'OPL compressée (si vous n'avez pas beaucoup de place sur votre carte mémoire);
  •  opl.elf qui est la version d'OPL non compressée.
Si vous voulez compiler les outils en ligne de commande qui permettent de créer des VMC (carte mémoire virtuelles), convertir vos ISO vers le format OPL ou l'inverse, faites :


cd $PS2DEV/open-ps2-loader/pc
make

Vous trouverez dans chaque dossier un dossier bin qui contient le programme en question.

Voilà qui termine ce mini guide pour compiler from scratch Open PS2 Loader, l'avantage de cette méthode est que vous êtes parfaitement maître de votre environnement et vous pouvez y ajouter autant de composants que vous voulez, allez donc faire un tour dans le dossier ps2sdk-ports pour voir toutes les autres librairies disponibles (pour SDL je vous préviens tout de suite, il faut un patch, vous pouvez regarder ma mise à jour des scripts pour ça).

Si un point n'est pas clair, n'hésitez pas à me contacter pour que je corrige ça ;) Sur ce bonne compilation et bon jeux !
Contrat Creative Commons

mercredi 25 mai 2011

Réactiver sa PSP après un downgrade de firmware

La scène PSP est actuellement en pleine ébullition avec la sortie d'un petit homebrew permettant de "downgrader" n'importe quelle Psp (Fat, Slim, 3000, Go) vers le firmware officiel 6.20. Quand j'utilise le terme "Downgrader" cela veut dire qu'on flash la PSP avec un firmware plus ancien que celui installé sur la console, cela n'est pas possible d'origine. On pouvait déjà "downgrader" une Psp en firmware 6.35 vers 6.20 avec le downgrader de Davee, mais maintenant grâce au travail de Some1 on peut utiliser ce homebrew sur tout les firmwares officiels (6.35/37/38/39) !

On peut donc passer sa PSP facilement en 6.20 ou au moins en 6.35 (si c'est une PSP 3004 7G ou 9G), le problème c'est que le downgrade remet à zéro les données utilisateur de la console (pas les données de la carte Sd mais les données de la mémoire flash). Si vous aviez acheté du contenu sur le Playstation Network (Alias PSN) vous ne pouvez donc plus l'utiliser car la console n'est plus "activée". Mais alors que faire ? Et bien c'est la raison d'être de cet article. En fait on peut la réactiver en se connectant sur le PSN mais comment faire si vous ne pouvez pas (pas de connexion ou alors le hack que vous utilisez ne permet pas de se connecter au service) ?

Pour pouvoir utiliser sa console hackée et continuer d'utiliser le contenu que l'on a acheté, voir en acheter du nouveau et l'utiliser, il faut faire 3 choses (voir 4):
  1. Réactiver sa console ;
  2. Utiliser un Custom Firmware ;
  3. Activer et utiliser un fichier version.txt ciblant le dernier firmware officiel actuel (6.39 aujourd'hui).
  4. Empêcher le flash de la console via le menu de votre CFW.
Réactiver sa console

Pour réactiver votre console rien de plus simple, rendez vous sur le site du Playstation Network et connectez vous avec vos identifiants puis allez dans les paramètres de votre compte. Choisissez "Activer/Désactiver le système PSP" puis "Activer un système de jeu". De là vous pourrez télécharger un fichier activate.xpd qui vous permettra de réactiver la console.

Pour réactiver la console on la branche en USB (on active le mode USB sur la PSP), on double clique sur le fichier activate.xpd et la console est activée.
Si le double clique sur le fichier ne fait rien, installez le logiciel MediaGo.
 Vous pouvez ouvrir le fichier activate.xpd avec un éditeur hexadécimal si vous êtes curieux et vous pourrez voir que ce fichier est assez light, on y retrouve vos identifiant de connexion PSN par exemple.

Utiliser un Custom Firmware

Là c'est vous qui voyez ce que vous voulez, vous avez aujourd'hui deux possibilités, Le HEN 6.20 TN de Total Noob ou le CFW 6.20 Pro (ou le CFW 6.35 Pro si votre PSP est une 3004 7G/9G).

Activer le fichier version.txt

Pour cela je vous invite à lire un de mes article qui vous explique la démarche :) c'est simple rapide et efficace. En gros cela va permettre de faire croire à votre PSP qu'elle possède la dernière version du firmware alors qu'en réalité c'est faux. On appel ça un "spoof". Vous noterez qu'une fois "spoofée" en 6.39 par exemple la PSP est reconnue comme "à jour" dans MediaGo :)

N'hésitez pas à partager vos retours d'expérience sur ce hack et sur vos utilisations de Custom Firmware.

    Contrat Creative Commons

    vendredi 13 mai 2011

    L'adaptateur SD pour Dreamcast : Partie 1

    Les habitués se disent surement "Merde ça commence mal.. Partie 1...", mais ne vous en faites pas, je vais être un peut plus bref cette fois ci. De quoi allons nous parler aujourd'hui ? De cette bonne vielle Dreamcast et surtout de cet objet mythique qui peut être assez compliquer à trouver : Le lecteur de carte SD pour Dreamcast ! Après avoir lu cet article vous pourrez vous aussi vous en procurer un (ou vous en faire un si vous êtes bricoleur et que vous n'avez pas peur de flinguer votre console)

    Présentation de l'adaptateur

    Adaptateur SD pour Dreamcast

    Le lecteur de carte SD est un périphérique externe qui se branche à l'arrière de votre Dreamcast sur son port série (le port réservé au développement). Il permet à votre console de lire du contenu stocké sur une carte SD. Tout l'intérêt est donc de booter votre Dreamcast avec le homebrew DreamShell, puis de lancer depuis une carte SD, vos jeux, homebrew, émulateurs, musiques, etc... Cela vous permettra d'économiser votre lecteur car vous devrez booter une fois sur le cd boot de Dreamshell et après c'est fini, vous n'utiliserez que la carte SD. Si vous avez des problèmes de lentille et que vous n'arrivez plus à lire un CD ou un GD  sur votre Dreamcast, vous pouvez suivre ce lien (en espagnol, mais laissez donc google le traduire pour vous) qui vous explique comment remplacer la lentille d'origine par une lentille de lecteur CD standard (un vieux lecteur CD qui marche bien fera l'affaire). Cette opération ne vous permettra pas de lire des GD Rom mais uniquement des backup, mais si vous en êtes là : c'est déjà mieux que rien :D

    Se procurer l'adaptateur

    On peut se procurer presque facilement cet adaptateur en allant sur ce site, qui est malheureusement en Chinois >_<. Heureusement il existe un autre site, en anglais cette fois, qui commandera pour vous cet article et vous l'enverra. Voici la procédure, il vous faut le lien vers la page de l'adaptateur (et d'autres produits si vous voulez commander d'autres trucs) et un compte paypal :
    1. Rendez vous à cette adresse 
    2. Dans le champs de texte il faut mettre l'adresse de l'article souhaité !
    3. Enfin cliquer sur Checkout with Paypal (c'est la méthode la plus sûre)
    Ensuite il faudra attendre... environ 1 mois pour que le site reprenne contact avec vous, il vous dira qu'il a bien reçu l'objet en question et qu'il attend votre paiement des frais de port, il vous proposera plusieurs options, perso j'ai pris un envoi pas très chère (mais lent, ma foi, je n'étais pas pressé). 
    En tout l'adaptateur me sera revenu à 10.40 $ (pour l'adaptateur seul, oui ce n'est vraiment pas chère !) + 10.60 $ de frais de port ce qui fait un total de 21 $ soit 14.75 € environ, pour un délai de grosso modo 2 mois O_o.
    Se fabriquer l'adaptateur

    Alors ça va en étonner plus d'un mais non, je n'ai pas bricolé mon adaptateur cette fois ci pour la simple et bonne raison que je n'ai qu'une Dreamcast et je ne veux pas flinguer la carte mère. En plus je bosse maintenant (donc j'ai beaucoup moins de temps pour m'amuser) et je n'ai pas de matos adéquate sous la main. Donc n'ayant pas trop d'informations sur la chose je vais vous proposer un lien qui est : En Français (c'est presque un scoop) qui explique pas à pas comment se monter son adaptateur SD perso. Franchement ce n'est pas dur, il faut simplement avoir du petit fil (comme pour les puces PS2), un petit fer à souder et un adaptateur SD USB (que vous pourrez trouver pour moins de 10 €).

    Sans plus attendre voici le lien : cliquez ici c'est magique :O

    DreamShell, un autre OS pour Dreamcast
    Mon prochain article sera consacré à DreamShell et à l'utilisation de contenu depuis la carte SD, en attendant voici une capture d'écran de ce fantastique Homebrew qui permet de faire tellement de choses... C'est simplement fantastique, même si vous n'avez pas de lecteur de carte SD, téléchargez le et essayez le car c'est bluffant.

    Dreamshell

    C'est un système d'exploitation complet, avec un interpreteur de commande (une console quoi), un explorateur de fichier, etc... Par exemple avec le gestionnaire de fichier vous pouvez :
    • Consulter, Modifier, Supprimer vos fichiers sur votre carte mémoire (VMU) ;
    • Créer des backup de vos jeux directement sur une carte SD ;
    • Lancer des Iso, des homebrew, des émulateurs ;
    • Etc...
    Ce homebrew est magique, mais son utilisation ça sera pour la prochaine fois ;) A oui un petit coup de spoil quand même : depuis DreamShell vous avez une option qui permet de flasher un bios alternatif et donc de booter directement sur DreamShell au démarrage de la console !

    A bientôt et n'hésitez pas à réagir à cet article.


    Contrat Creative Commons

    jeudi 21 avril 2011

    Custom Firmware Psp et Jeux originaux

    Ça faisait longtemps que je n'avais pas posté une astuce de hack et c'est la première fois que je le fais pour la console portable de Sony : La Psp (alias Playstation Portable). Si comme moi vous avez une console Psp surtout pour jouer avec des homebrew et des émulateurs vous devez savoir que lorsqu'on veut jouer à un vrai jeu PSP il y a deux solutions :

    • Je réagis normalement et j'achète le jeu (UMD ou Psn) ;
    • Je le télécharge illégalement.
    Je traiterais la première solution car c'est ce qui viens de m'arriver ; voilà ce qui c'est passé. Content en sortant du boulot (non en fait j'en avais plein la tête et il fallait que je marche) je décide de passer au magasin Planète Saturn, je me dis "Tiens peut être qu'ils ont Final Fantasy IV The Complete Collection, qui sais, il sort demain mais.. des fois...", alors j'y vais et qu'est ce que je vois en un seul exemplaire (il était 19h00) : Final Fantasy IV The Complete Collection.

    Photo prise en pleine euphorie, je l'ai ! il est dans mes mains \o/
    Sur la route j'étais fière avec tento l'OST de Final Fantasy X et XIII tento Marilyn Manson et Linkin Park.. Je ne pensais qu'à rentrer et à déballer cette petite merveille :-)

    Je pris ma Psp 3000 en firmware officiel 6.35 (modèle 09g donc pas possible de la downgrader en 6.20) et utilisant un Custom Firmware non permanent 6.35 Pro B4 (le B5 est buggé sur les modèles 3000 à partir des 05g), je met mon UMD dans le lecteur et lance le jeu, mais là... c'est le drame :'( il faut que je mette à jour ma Psp en firmware 6.37 et donc renoncer au hack presque complet de la Psp (Presque complet car avec un firmware 6.37+ ont peut quand même lancer des homebrew, mais ceux ci doivent être signés. Il est par ailleurs impossible de lancer un chargeur d'ISO ou des jeux Psx perso)

    En cherchant sur les forums je trouve l'astuce du fichier "fichier.txt" qui est un fichier texte contenant des informations permettant de faire croire à la console qu'elle dispose d'un firmware 6.37 ou autre et ainsi s’affranchir de la mise à jour dévastatrice. Hélas, après récupération de ce fichier ça ne fonctionne toujours pas. Notez que copier ce fichier sur votre Psp dans "ms0:/seplugins/" ne suffit pas, il faut aussi activer son support dans le menu "Recovery" (touche select -> Recovery Menu -> Configuration -> Use version.txt in /seplugins : Enabled). J'ai alors découvert "Fichier.txt Installer", un homebrew magique qui va vous installer automatiquement le fichier que vous avez besoin (6.20, 6.30, 6.35, 6.37, 6.38, ...., 9.99). Vous pouvez donc de se pas télécharger ce homebrew sur cette page et éviter d'installer ce firmware merdique.

    Vous voilà bien renseigné maintenant et prêt à jouer aux dernières sorties Psp. Le problème avec cette console c'est que les bons jeux et bien il n'y en a pas des masses donc si la console ne permet pas de faire autre chose que de jouer à une dizaine de jeux (je joue à seulement 2 jeux sur cette console xD) Psp, il faut qu'elle puisse être utilisée autrement (pour du hack). Voilà encore une démonstration de l'utilité du hacking sur console ;) On ne parle pas de piratage, de choses illégales mais d'utilisation différente du matériel (je l'achète il est à moi).

    Les cartes contenues avec la boite du jeu (on en a pour son argent !)
    N'hésitez pas à réagir à cet article et à bientôt pour de nouvelles découverte de la scène "Underground".

    Contrat Creative Commons

    mardi 15 mars 2011

    Restez synchronisé ! Utilisez Dropbox

    Ce billet est surtout destiné aux plus développeurs d'entre vous et principalement à ceux qui utilisent plusieurs PC et se déplacent pas mal. Un des problème qu'on rencontre rapidement quand on travail sur un projet perso et que l'on est amené à se déplacer et à utiliser d'autres PC, est le déplacement du projet de votre machine principale vers une autre machine. En fait c'est même assez problématique car vous devez mettre vos fichiers sur une clé USB ou tout autre périphérique mobile et les copier sur une autre machine, puis lorsque vous avez terminé de travailler sur l'autre machine, il vous faudra faire l'inverse c'est à dire recopier les fichiers, voir en supprimer.. Arrivé chez vous, vous copiez votre projet à l'endroit de l'ancien et si il y a eu de grosses modifications et bien ça peut vite tourner au drame (fichiers qui auraient dû être supprimés mais qui ne l'ont pas été, bref.. les joies du développement sans gestionnaire de version).

    Et c'est là qu'un fantastique outils, gratuit, multi-plateforme (et même pas en java) arrive à votre rescousse : J'ai nommé Dropbox. 

    Pourquoi ne pas utiliser une forge comme google code ou git-hub pour stocker mon code ? La réponse est simple et tien une deux mots : C'est publique. Effectivement si vous voulez faire dans l'OpenSource c'est très bien, j'ai moi même un projet sur une forge et travailler avec Subversion est super pratique, cependant sur certains projet vous voudrez peut être rester privé et là il faudra payer pour avoir un gestionnaire de version à branche privé. Seuls les projets OpenSource peuvent avoir un accès gratuit au gestionnaire de version.

    Présentation rapide

    DropBox est un programme qui vous permet de synchroniser vos fichiers sur un serveur en ligne et ainsi de pouvoir accéder à ces fichiers de n'importe où. Pour accéder à ces fichiers il y a plusieurs méthodes

    • Utiliser le client (Linux, Windows, Mac, Android, etc...)
    • Utiliser l'interface web (n'importe quel navigateur digne de ce nom fera l'affaire)
    Lorsque vous installez Dropbox la première fois sur votre machine, vous devrez spécifier un dossier qui sera synchronisé avec le serveur, une fois que cela est fait tout ce que vous mettrez dans ce dossier sera accessible de n'importe et sera surtout privé (on est d'accord qu'il vous faut vos identifiant pour y accéder hein, sinon ça ne sert plus à grand chose).

    Une chose à savoir, la version standard de Dropbox vous propose 2 giga de stockage, si vous voulez plus il faudra payer, cependant vous pouvez ajouter, par tranche de 250 Mo de l'espace supplémentaire en invitant vos amis à utiliser Dropbox.

    Cas typique

    Je vais prendre un exemple perso pour vous présenter les gros avantages de ce petit programme. Le soir je travail sur certains projets perso et la journée je travail. Entre midi et une heure il peut m'arriver d'avoir envie d'avancer un peut sur mes projets mais vue que je fais l'allez retour tous les jours vous vous imaginez la galère que ça pourrait être si j'utilisais une clé USB à chaque fois..

    J'utilise donc le dossier Dropbox pour stocker mes projets et je travail directement dans ce dossier. Lorsque j'ai besoin d'avoir accès à mes fichiers je synchronise mon dossier et j'ai mon espace dev perso privé partout où je veux :) Si par exemple en journée je fais des modifications type suppression ou ajout, celle ci seront automatiquement répercutées lorsque je synchroniserais mon dossier de chez moi avec le serveur.

    Pour finir, si vous oubliez de synchroniser vos dossiers et que vous synchronisez plus tard (c'est assez mal tourné comme phrase, voyons plutôt la séquence plus bas) :
    1. Je suis chez moi et je démarre un nouveau projet Android dans mon dossier Dropbox. Je suis sous Windows ;
    2. J'ajoute 2-3 Activités, quelques classes et je pars ;
    3. Je synchronise mon dossier sur le serveur ;
    4. Je suis au boulot, c'est la pause déjeuné et je veux bosser sur mon projet, je synchronise mon dossier. Je suis sous Linux (pas de problèmes !) ;
    5. Je fais quelques modifications (en fait je n'ai pas trop le temps alors je ne fait que des ajouts d'images et j'ajoute une constante bidon dans ma classe MainActivity.java) ;
    6. Je synchronise (en fait ça se fait tout seul) ;
    7. J'arrive chez moi, je ne synchronise pas, et je modifie en profondeur le projet, j'en profite pour virer la constante bidon car elle est vraiment bidon... ;
    8. Je synchronise ;
    9. Dropbox va me générer des fichiers de conflit, ce qui me permettra de ne pas avoir perdu tout mon travail (exactement comme les conflits sur Subversion). J'aurais un fichier MainActivity.java.conflit-r4567.
    Pour résumer

    Dropbox ne sert pas spécifiquement à gérer des projets de développement informatique, il peut servir à stocker des musiques, des vidéos, des documents, un peut de tout car en fait c'est un disque dur virtuel. Mais il est redoutablement efficace dans le cas d'une gestion de projet mono utilisateur sur plusieurs postes informatique.

    Il y a plusieurs alternatives gratuites comme Ubuntu One ou Windows Live Mesh (qui propose 25 Go de stockage ! mais qui n'a pas de client pour Linux).