Aller au contenu

[TUTO] Remotejoy/psplink, ou comment afficher l'ecran de votre psp sur le PC (linux)


Wolfi

Messages recommandés

On m'a demandé un tuto pour linux, ayant réussi à faire la manip en bidouillant certains trucs, voici la traduction du tuto anglais plus mes bidouilles (toute la trad est de moi, bien sûr)

 

Traduction du tutoriel d'emmanuel (PSPdev - How to export your PSP screen to a PC)

Auteur des programmes: Tyranid, développeur d'outils pour psp

 

Sachez-le:

RIEN de ceci ne serait possible sans le travail acharné de Tyranid (ps2dev.org). Je ne pourrais jamais assez le remercier d'être sans conteste le plus actif et fidèle développeur de la scène PSP. Aussi, c'était un plaisir de discuter avec toi autour d'une bière a Breakpoint :-)

 

Alors ENCORE UNE FOIS, je N'AI PAS DEVELOPPE CES PROGRAMMES, TYRANID ET QUELQUES AUTRES L'ONT FAIT. J'ai juste pensé que ce n'était pas si simple de les faire marcher, alors j'ai écrit ma propre méthode.

 

Attention, la méthode peut varier selon les distros (testé ici sur ubuntu 7.04). Ne suivez pas ce tuto si vous venez d'installer linux (quoique, cette traduction est aussi une clarification destinée aux grands débutants). Le tuto entier présuppose de bonnes connaissances en Shell Linux.

 

0) Faq

Question: Linux pux à mort, ou qu'elle est la version windows ?

Réponse: Linux est le meilleur OS pour le développement PSP, pas de discution, toutes les toolchains marchent sous Linux. A l'instant où j'écris, cette manip' est dédiée aux devs, pas aux joueurs. Cependant, je pense que quelqu'un va nous sortir un outil pour windows, je pourrais même le faire moi-même, si j'ai un peu de temps.

 

1) De quoi parle ce tutoriel?

En suivant ce tuto, avec un peu de chance, vous serez capable d'utiliser votre psp sans réellement la regarder. En mettant en place la fabuleuse version SVN de psplink et de remotejoy vous serez capable de controler votre psp de votre clavier et même de voir l'écran en temps réel.

Screenshot de démo:

 

2) Prérequis

Bien que cela puisse être hacké pour marcher sous windows, j'utilise principalement Linux, tout comme Tyranid. Ainsi, ce guide se sert des outils disponibles sur une machine Ubuntu I386.

 

Vous aurez donc besoin:

-D'un pc type IBM avec Linux

-D'une psp avec le firmware 3.40 (d'autres peuvent marcher)

-De quelques logiciels (qui seront installés au fur et a mesure)

 

Ah aussi, il serait bon de noter que ce tuto ne décrit pas en détails les bases de Linux, comme vérifier si vous avez subversion installé ou comment l'installer.

 

3) LE TUTO

 

NDT: Installer subversion, si vous ne l'avez pas.

Sous Ubuntu, allez dans Système, Administration, Gestionnaire de paquet Ubuntu et cherchez "subversion", cochez-le et installez

 

On va maintenant installer la toolchain depuis la derniere SVN (subversion):

N'installez pas le pspsdk, ceci prend des heures et est inutile.

 

-Créez un nouveau répertoire "pspdev" (mkdir pspdev) quelque part dans votre dossier perso (je vous conseille tout simplement dans /home/votrenom)

-tapez cd pspdev (allez dans le répertoire)

-lancez la commande suivante: svn co svn://svn.ps2dev.org/psp/trunk/psptoolchain

-allez dans le répertoire psptoolchain (cd psptoolchain)

-NDT: tapez "sudo sh psptoolchain.sh" pour lancer l'installation de la toolchain

-soyez patient, cela prendra du temps

-NDT: installez, si elle n'est pas présente la librairie libusb-dev (dans synaptic)

-NDT:tapez sudo gedit /etc/profile, cela ouvre un fichier texte, entrez au tout debut:

PSPDEV="/usr/local/pspdev"

PATH="$PATH:$PSPDEV/bin"

sauvegardez et quittez gedit.

Tapez dans le terminal "source /etc/profile"

 

Maintenant psplink:

-retournez dans le dossier pspdev (a partir du terminal, tapez cd ..)

-lancez la commande suivante: svn co svn://svn.ps2dev.org/psp/branches/psplinkusb

-allez dans le répertoire psplinkusb (tapez cd psplinkusb)

-tapez commande "make -f Makefile.oe release" ,si vous avez un firmware OE

-si tout va vien, un nouveau dossier aura été crée nommé release_oe

-maintenant lancez la psp en mode USB

-faites un nouveau répertoire dans PSP/GAME340 nommé psplink et un autre nommé %psplink

-copiez release_oe/psplink/EBOOT.PBP dans %psplink

-copiez tous les fichiers contenus dans release_oe/psplink dans le repertoire psplink

-dans tool/remotejoy tappez "make" (faites cd tools/remotejoy avant de taper make)

-sur la psp, en mode USB, créez un nouveau dossier a la racine de la memory card nommée "joy"

-copiez le fichier tools/remotejoy/remotejoy.prx dedans

 

Maintenant, il est temps de compiler les outils PC:

-NDT: on va d'abord corriger un makefile tout crade, merci a Shirasu_Seiko, qui sans meme savoir ce qu'etait une psp a pu corriger le makefile:

Tapez gedit /home/votrenom/pspdev/psplinkusb/tools/remotejoy/pcsdl/Makefile

Effacez tout le contenu et mettez ça à la place:

 

OUTPUT=remotejoy

OBJS=remotejoy.o font.o

 

CFLAGS=-O2 -pthread -Wall -g $(shell sdl-config --cflags)

 

all: remotejoy

 

$(OUTPUT): $(OBJS)

$(CC) -o $@ $^ $(CFLAGS) $(shell sdl-config --libs)

 

clean:

rm -f $(OUTPUT) *.o

Sauvegardez et fermez. Pour info, les pthread n'étaient pas inclus dans le makefile, ce qui causait une erreur sdl et les CFLAGS n'étaient même pas utilisés, alors que déclarés.

 

-tapez cd /home/votrenom/pspdev/psplinkusb/pspsh puis make

-tapez cd ../usbhostfs_pc puis make

-tapez cd ../tools/remotejoy puis make

-tapez cd pcsdl puis make

-tapez cd ../../usbhostfs_pc puis sh mod.sh (on vous demandera votre mot de passe administrateur)

 

On teste, maintenant:

-sur le pc, allez dans le repertoire usbhostfs_pc (avec la commande cd, comme d'habitude) et tapez ./usbhostfs_pc

-maintenant, allumez la PSP et lancez PSPLINK

-si tout va bien, vous devriez voir "connected to device" dans le terminal

-ouvrez un nouveau terminal, allez dans le repertoir pspsh et tapez ./pspsh

-enfin, ouvrez un troisieme terminal et allez dans le dossier tool/remotejoy/pcsdl (/home/votrenom/pspdev/psplinkusb/tools/remotejoy, je vous le rappelle)

et tapez ./remotejoy -d -c ou ./remotejoy -d -c -f pour le plein ecran

-un petit fenetre noir devrait apparaitre

-maintenant tout est en route, mais rien n'est affiché car remotejoy.prx n'a pas encore démarré

-dans le deuxieme terminal que nous avons ouvert (pspsh) tapez "reset vsh"

puis "ldstart flash0:/vsh/module/vshmain.prx"

et enfin "ldstart ms0:/joy/remotejoy.prx"

-la psp redémarre, lance le xmb puis affiche le tout sur le pc.

 

Bon on est content mais ... ô misère, lorsqu'on lance un jeu, ben la psp se bloque et bim on voit plus rien sur le pc ...

Nous allons pallier à cela, en activant automatiquement les plugins au lancement d'un jeu.

 

-(si pas déja là) sur la PSP, creez un nouveau dossier "seplugins" a la racine de la MS

-(si pas déja là) creez deux fichiers texte dans ce répertoire: vsh.txt and game.txt

-dans vsh.txt and game.txt , copiez ceci:

ms0:/seplugins/psplink.prx

ms0:/seplugins/psplink_user.prx

ms0:/seplugins/remotejoy.prx

 

Maintenant, prenez les prx du dossier psplink dans votre psp (vous vous souvenez, dans le dossier GAME340) et copiez-les tous dans le repertoire seplugins

 

-Demarrez la PSP en appuyant sur R

-Selectionnez "plugins"

-Activez (enabled) les champs suivants:

psplink.prx [GAME]psplink_user.prx [GAME]

remotejoy.prx [GAME]

 

-Sortez du menu et redemarrez la PSP

-On reprend les étapes de tout à l'heure pour le XMB: demarrez ./usbhostfs_pc et ./pspsh

-Démarrez ./remotejoy -c -d ou ./remotejoy -c -d -f pour le plein écran, l'écran noir apparait

-Sur la PSP démarrez l' UMD - usbhostfs_pc devrait marquer "connected to device" et pspsh "all module loaded"

-NDT: chez moi une étape supplémentaire est nécessaire: je dois taper dans pspsh : ldstart ms0:/joy/remotejoy.prx

-ENFIN le jeux apparait, pour faire START c'est entrée, CROIX c'est z, ROND c'est x, TRIANGLE c'est q je ne sais pas pour les autres.

-Jeux testé par mes soins:

Toca: marche formidable mais freeze au tout début s'il y a une sauvegarde dans la MS

Ratchet et Clank: merdasse apres la video d'intro

FF I JAP: démarre meme pas

Lien vers le commentaire
Partager sur d’autres sites

bon il c'est planté le mec en parlant de sdk, c'est la toolchain seulement la, donc fais juste le tuto, t'occupe pas de pspsdk (j'ai corrigé la ligne qui t'as embété, en fait "installez le pspsdk, c'etait le titre de la partie xD)
Lien vers le commentaire
Partager sur d’autres sites

j'ai un petit pb

-tapez cd /home/votrenom/pspdev/psplinkusb/pspsh puis make

-tapez cd ../usbhostfs_pc puis make

-tapez cd ../tools/remotejoy puis make

-tapez cd pcsdl puis make

-tapez cd ../../usbhostfs_pc puis sh mod.sh (on vous demandera votre mot de passe administrateur)

 

qd il faut faire make .. dans certain dossier il me dis que c'est impossible

Lien vers le commentaire
Partager sur d’autres sites

voici le message pour le 1er "make" (/home/david/pspdev/psplinkusb/pspsh"

g++ -Wall -g -D_PCTERM -I../psplink -c -o pspsh.o pspsh.C

pspsh.C:23:31: erreur: readline/readline.h : Aucun fichier ou répertoire de ce type

pspsh.C:24:30: erreur: readline/history.h : Aucun fichier ou répertoire de ce type

pspsh.C: In function ‘int execute_line(const char*)’:

pspsh.C:231: erreur: ‘rl_callback_handler_remove’ was not declared in this scope

pspsh.C:232: erreur: ‘rl_callback_handler_install’ was not declared in this scope

pspsh.C: In function ‘int close_cmd(int, char**)’:

pspsh.C:428: erreur: ‘rl_callback_handler_remove’ was not declared in this scope

pspsh.C:429: erreur: ‘rl_callback_handler_install’ was not declared in this scope

pspsh.C: In function ‘int tty_cmd(int, char**)’:

pspsh.C:462: erreur: ‘rl_callback_handler_remove’ was not declared in this scope

pspsh.C:463: erreur: ‘rl_callback_handler_install’ was not declared in this scope

pspsh.C: In function ‘void cli_handler(char*)’:

pspsh.C:572: erreur: ‘rl_callback_handler_remove’ was not declared in this scope

pspsh.C:574: erreur: ‘rl_callback_handler_install’ was not declared in this scope

pspsh.C:599: erreur: ‘rl_callback_handler_remove’ was not declared in this scope

pspsh.C:601: erreur: ‘rl_callback_handler_install’ was not declared in this scope

pspsh.C:631: erreur: ‘add_history’ was not declared in this scope

pspsh.C: In function ‘char* command_gen(const char*, int)’:

pspsh.C:728: erreur: ‘rl_completion_append_character’ was not declared in this scope

pspsh.C: In function ‘char* filename_gen(const char*, int)’:

pspsh.C:844: erreur: ‘rl_completion_append_character’ was not declared in this scope

pspsh.C:848: erreur: ‘rl_completion_append_character’ was not declared in this scope

pspsh.C: In function ‘char* uid_gen(const char*, int)’:

pspsh.C:900: erreur: ‘rl_completion_append_character’ was not declared in this scope

pspsh.C: In function ‘void completion_display(char**, int, int)’:

pspsh.C:909: erreur: ‘rl_filename_completion_desired’ was not declared in this scope

pspsh.C:912: erreur: ‘rl_display_match_list’ was not declared in this scope

pspsh.C:913: erreur: ‘rl_forced_update_display’ was not declared in this scope

pspsh.C: In function ‘char** shell_completion(const char*, int, int)’:

pspsh.C:920: erreur: ‘rl_line_buffer’ was not declared in this scope

pspsh.C:927: erreur: ‘rl_completion_append_character’ was not declared in this scope

pspsh.C:928: erreur: ‘rl_completion_display_matches_hook’ was not declared in this scope

pspsh.C:934: erreur: ‘rl_filename_completion_function’ was not declared in this scope

pspsh.C:934: erreur: ‘rl_completion_matches’ was not declared in this scope

pspsh.C:941: erreur: ‘rl_completion_matches’ was not declared in this scope

pspsh.C:945: erreur: ‘rl_completion_matches’ was not declared in this scope

pspsh.C:953: erreur: ‘rl_completion_matches’ was not declared in this scope

pspsh.C:957: erreur: ‘rl_completion_matches’ was not declared in this scope

pspsh.C: In function ‘int init_readline()’:

pspsh.C:971: erreur: ‘rl_attempted_completion_function’ was not declared in this scope

pspsh.C:972: erreur: ‘rl_callback_handler_install’ was not declared in this scope

pspsh.C:973: erreur: ‘rl_basic_word_break_characters’ was not declared in this scope

pspsh.C:974: erreur: ‘rl_completer_word_break_characters’ was not declared in this scope

pspsh.C: In function ‘int process_cmd(const unsigned char*)’:

pspsh.C:1440: erreur: ‘rl_callback_handler_remove’ was not declared in this scope

pspsh.C:1450: erreur: ‘rl_callback_handler_install’ was not declared in this scope

pspsh.C: In function ‘int shell()’:

pspsh.C:1864: erreur: ‘read_history’ was not declared in this scope

pspsh.C:1865: erreur: ‘history_length’ was not declared in this scope

pspsh.C:1865: erreur: ‘history_set_pos’ was not declared in this scope

pspsh.C:1899: erreur: ‘rl_callback_read_char’ was not declared in this scope

pspsh.C:1948: erreur: ‘write_history’ was not declared in this scope

pspsh.C:1949: erreur: ‘rl_callback_handler_remove’ was not declared in this scope

pspsh.C: In function ‘void shutdown_app()’:

pspsh.C:1980: erreur: ‘rl_callback_handler_remove’ was not declared in this scope

make: *** [pspsh.o] Erreur 1

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
  • Statistiques des membres

    23 028
    Total des membres
    1 033
    Maximum en ligne
    Subaru
    Membre le plus récent
    Subaru
    Inscription
  • Statistiques des forums

    128,1 k
    Total des sujets
    1,7 M
    Total des messages
×
×
  • Créer...