PSP'n Go a interviewé le grand Fanjita et nous vous en faisons profiter.
Les temps ont bien changé depuis l'apparition des premières
consoles, où les joueurs vivaient leur passion chacun dans leur coin, réduisant
la communication au strict minimum. Aujourd'hui, avec l'essor des jeux
massivement multijoueurs et l'explosion d'Internet, les joueurs ne cessent de
partager leurs points de vue et leurs découvertes. La PlayStation Portable est
l'une des premières machines à bénéficier d'un tel engouement, des amateurs
enthousiastes repoussant chaque jour les limites de la console de Sony. Parmi
ces développeurs de talent, Fanjita occupe
une place de premier rang : il est l'auteur des récents eLoaders qui permettent
à tous les possesseurs de PSP de lancer des homebrews. Pour la sortie de la
version 0.9.5 de son loader, nous avons eu l'occasion de lui poser quelques
questions. Plongez-vous dans son univers pour apprendre toute l'histoire
derrière son eLoader, toutes ses techniques de programmation et ses futurs
projets !
PSP'n Go : Tu as déjà développé plusieurs versions de ton excellent eLoader,
couvrant aujourd'hui quasiment tous les firmwares de la PSP. Quelle est
l'histoire de l'eLoader ? Comment as-tu découvert toutes ces failles dans la
console de Sony ?
Fanjita : A l'origine, lors de la découverte de l'exploit TIF pour la
version 2.0 du firmware, des programmeurs se sont lancés dans une discussion à
bâton rompu à propos du développement de logiciels pour ce firmware. Un problème
de taille se posait alors : les utilisateurs parvenaient très bien à lancer des
fichiers EBOOT.PBP standards de la scène homebrew sur les versions 1.0 et 1.50
de la console, dont le système se faisait "duper" en les chargeant normalement.
Mais le procédé ne fonctionnait plus à partir de la version 2.0 ! Un développeur
se faisant appeler Saotome a codé le premier EBOOT Loader pour la v.2.0. L'idée
était d'écrire un programme qui puisse charger les fichiers EBOOT.PBP
manuellement, pour que les programmeurs de homebrews continuent de coder des
fichiers EBOOT.PBP sans se soucier du firmware.
L'EBOOT Loader original de Saotome était relativement simple, et ne parvenait à
lancer qu'un ou deux fichiers EBOOT très basiques. Mais c'était déjà un très bon
départ ! Saotome a alors abandonné son travail sur l'EBOOT Loader pour se
consacrer à d'autres projets, et j'ai donc décidé d'en reprendre le flambeau et
de le porter plus loin. Ca a été un long travail de test, de débuggage et
d'améliorations du loader pour qu'il parvienne à mieux simuler le système et à
charger normalement les fichiers EBOOT. J'ai dû découvrir des astuces pour
contourner les limites de l'environnement du mode utilisateur dans lequel
fonctionne l'EBOOT Loader.
Lorsque la version 2.01 du firmware est apparue, l'exploit TIF ne fonctionnait
plus et nous avons dû trouver une nouvelle méthode pour lancer du code. Par
chance, Edison Carter a découvert l'exploit de GTA et grâce à son travail (et à
celui de Jim Paris et psp123), il a été possible de lancer du code source sur
une version 2.01 et supérieure du firmware. C'est à cette époque que je suis
entré en contact avec Ditlew, et nous avons décidé de combiner nos efforts pour
créer un EBOOT Loader fonctionnant grâce à l'exploit de GTA.
Après une bonne dose de travail, nous sommes maintenant arrivés à la version
"Brown Ale" de l'eLoader, qui intègre à la fois les exploits TIF et GTA dans un
même pack et qui permet de lancer des homebrews standards sur n'importe quelle
version de la PSP, de la 2.0 à la 2.60. Il est important de rappeler que je n'ai
pas trouvé personnellement le moindre de ces exploits. Je préfère laisser
cette tâche à d'autres développeurs, et me concentrer sur la programmation de l'eLoader
en lui-même et sur sa capacité à profiter de ces failles. Mettre à jour l'eLoader
est déjà un travail plus que suffisant !
PSP'n Go : Comment as-tu programmé l'eLoader ? Comment fonctionne-t-il ?
Fanjita : Il est essentiellement écrit en C, grâce au PSPSDK de
PS2Dev.org. Certaines parties du code sont aussi écrites en Assembleur,
lorsqu'il s'agissait d'interagir avec le système au plus bas niveau. A vrai
dire, il est composé de plusieurs parties : tout d'abord, il y a le code du
lanceur (écrit presqu'entièrement en Assembleur), qui s'appuie sur l'exploit
pour se charger et prendre le contrôle du système. Les modules du lanceur
chargent ensuite le code principal dans la mémoire de la PSP.
Le code principal doit simuler le comportement idéal du système pour charger un
fichier EBOOT.PBP. Ainsi, il commence par charger l'EBOOT dans l'emplacement
correct de la mémoire, puis il recherche d'éventuelles références à des
fonctions externes et les remplacent par le bon code (on y parvient en faisant
appel à une instruction syscall particulière, qui varie d'un firmware et
d'un exploit à l'autre). Il configure ensuite les registres du système avant
d'appeler la fonction principale dans le code source de l'EBOOT.
Dans certains cas, le loader va aussi patcher légèrement le code de l'EBOOT,
pour faire en sorte que les homebrews qui ont besoin du mode Kernel se lancent
malgré tout en mode Utilisateur, ou pour surveiller certaines fonctions du code
et s'assurer qu'elles ne viennent pas occuper toute la mémoire. Autant dire que
c'est à ce niveau que de nombreuses astuces sont possibles - notamment la
possibilité de récupérer des bits dans la mémoire auxquels on n'aurait pas accès
normalement.
PSP'n Go : D'après toi, quelle est la fonction qui intéresse le plus d'utilisateurs ? S'agit-il de la gamme des jeux ou plutôt des capacités multimédias et de la scène homebrew ?
Fanjita : Je pense que la PSP est avant tout une console de jeux, et que les fonctions multimédias sont un bonus non négligeable. Je ne crois pas que Sony ait intérêt à se concentrer davantage sur les films UMD - les derniers chiffres de vente montrent qu'au-delà de l'attrait de la nouveauté, ils n'intéressent pas le grand public. Dans le même ordre d'idée, il existe d'autres appareils (comme l'iPod) capables de lire des MP3 de manière beaucoup plus efficace que sur PSP.
La gamme de jeux officiels est en train de s'améliorer, à pas prudents, mais il existe aujourd'hui quelques excellents titres. Mais je pense que tous ceux qui ont goûté aux homebrews ont remarqué à quel point c'est de ce côté-là qu'on trouve les applications les plus innovantes, qui apportent des fonctions à la PSP auxquelles Sony n'avait pas songé - comme l'accès à un flux audio avec la connexion sans fil, le GPS et beaucoup d'autres services. La gamme de jeux homebrews est de plus en plus large (en plus de l'émulation), et c'est un excellent moyen de suppléer les jeux commerciaux.
Je pense qu'à l'heure actuelle, pour tous ceux qui s'y sont essayés, les homebrews sont probablement plus intéressants que la plupart des jeux du commerce. Mais une grande majorité des utilisateurs de PSP ignore encore à l'heure actuelle qu'il est possible de lancer des homebrews ! Il serait donc plus correct de dire que ce sont les jeux vidéo qui intéressent le plus grand public.
PSP'n Go : Que penses-tu du futur de la PlayStation Portable ? Y aura-t-il de plus en plus de développements de homebrews (Sony les autorisant de manière tacite) ou s'oriente-t-on davantage vers la gamme de jeux commerciaux (avec l'apparition de nouveaux firmwares à chaque fois que tu découvres un moyen de lancer un eLoader) ? Par ailleurs, as-tu été contacté par Sony ?
Fanjita : J'espère qu'à l'avenir, on pourra plus facilement déployer l'eLoader à travers l'interface principale de la console, parce que c'est bien plus simple pour les utilisateurs. Les eLoaders à charger via un jeu ont eux aussi leurs avantages, notamment celui d'être compatibles avec plusieurs firmwares. Cela dit, j'ai toujours espéré que Sony réalise un jour ou l'autre que l'ouverture à la scène des homebrews serait une bonne chose, mais je doute qu'ils en soient là. Je n'ai jamais été contacté par Sony, pour l'instant.
PSP'n Go : Comment as-tu découvert la PSP ? Quelle a été ta première réaction lorsque tu as appris que Sony s'apprêtait à commercialiser une console portable ?
Fanjita : A vrai dire, l'annonce de la sortie de la PSP ne m'a pas vraiment intéressé. Un collègue au travail s'est mis à m'en parler, mais je n'étais pas encore tout à fait conquis surtout parce que je croyais que la console se limitait encore à ses jeux officiels. Lorsqu'ai appris qu'il était possible de lancer des homebrews, tout est devenu bien plus intéressant ! J'ai acheté ma PSP juste après le lancement européen, peu de temps avant la découverte de l'exploit TIF.
PSP'n Go : Tu viens de publier une version "exécutable" de l'eLoader, qui simplifie son installation pour les utilisateurs de Windows. Quels sont tes projets pour l'avenir ?
Fanjita : Le but principal est toujours d'améliorer la compatibilité avec les homebrews. J'espère qu'on va parvenir à charger certaines bibliothèques du système, notamment celles concernant le WiFi et l'infrarouge, pour les lancer de la même manière que les autres fonctions des jeux par exemple. Cela permettrait ainsi davantage de souplesse dans les homebrews, et les utilisateurs de GTA auraient alors accès à des applications comme PSPRadio.
Site Officiel :
Fanjita's Place
Source Interview : PSP'n GO
Des jeux en français ?
Signez la pétition en cliquant ici.
Donnez vos impressions en cliquant ici