martedì 28 ottobre 2008

REMOTEJOY Giochiamo con la PSP tramite lo schermo del PC con Ubuntu

IMPORTANTE!!!
La guida aveva degli errori. E' stata aggiornata e testata in data 16 novembre 2008. Ora funziona tutto bene.


Oggi parliamo ancora di una coppia che a me piace molto: PSP e Ubuntu. Infatti sembra che questi due si vogliano sempre più bene in quanto è spettacolare vedere come una PSP possa essere sfruttata al massimo grazie al S.O. che tanto amiamo. Oggi vi parlo di una cosa di cui ho scoperto l'esistenza quattro giorni fa e che ho risolto con un po' di difficoltà...Parlo di REMOTE JOY, ovvero un insieme di tools che ci permettono di trasferire le immagini di gioco sullo schermo del nostro PC. Non servirà più quindi comprarsi il cavo composite per collegare la PSP alla TV perchè l'utilizzo è analogo. Non dilunghiamoci troppo e partiamo con la guida all'installazione:

Cosa ci serve?
(i requisiti non sono assoluti....potrebbe funzionare anche con altri tipi di firmware o con un'altra versione di ubuntu)
  • Ubuntu 8.04.1
  • PSP Slim&Lite con Custom Firmware 3.90 m33
  • software (ci pensiamo dopo!)
FASE 1

Creiamo una cartella nella nostra Home (esempio "pspdev");

cd /home/*nome_utente
mkdir pspdev


Spostiamoci nel suo interno:

cd pspdev

Installiamo subversion

sudo apt-get install subversion

scarichiamo da SVN il software "psptoolchain"

svn co svn://svn.ps2dev.org/psp/trunk/psptoolchain

spostiamoci nella cartella "psptoolchain"

cd psptoolchain

Ora mandiamo dei comandi in sequenza (dopo l'ultimo comando bisogna aspettare molto...io ho aspettato 1 ora e mezza...quindi potete uscire e al vostro ritorno "sarà tutto finito!")

sudo apt-get install build-essential autoconf automake bison flex \
libncurses5-dev libreadline-dev libusb-dev texinfo libgmp3-dev libmpfr-dev libsdl1.2-dev

gedit ~/.bashrc


Si apre un file. Alla fine di questo file aggingiamo le seguenti righe:
## Add these lines to the end of the file.
export PSPDEV="/usr/local/pspdev"
export PSPSDK="$PSPDEV/psp/sdk"
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin"

Salviamo e chiudiamo il file e mandiamo i seguenti comandi:
source ~/.bashrc

e dopo compiliamo psptoolchain (e prepariamoci ad aspettare molto)
sudo ./toolchain-sudo.sh

FASE 2

ritorniamo nella directory pspdev:

cd /home/*nome_utente/pspdev

scarichiamo via SVN "psplink"

svn checkout svn://svn.ps2dev.org/psp/trunk/psplinkusb

entriamo della cartella "psplinkusb"

cd psplinkusb
make -f Makefile.oe release

Ci sarà una cartella chiamate release_oe oltre che altre nuove cartelle.
Ora accendiamo la PSP e colleghiamola normalmente via USB.
Creiamo due nuove cartelle in nella directory PSP/GAME150 chiamate psplink e %psplink
e ora copiamo un file in quest'ultima (digito il comando seguente però attenti che i percorsi delle directory siano corrette):

cp /home/*nome_utente/pspdev/psplinkusb/release_oe/psplink/EBOOT.PBP /media/disk/PSP/GAME150/%psplink

Ora copiamo tutti i file presenti in release_oe/psplink in PSP/GAME150/psplink (per il comando vale sempre lo stesso discorso della correttezza dei percorsi)

cp /home/*nome_utente/pspdev/psplinkusb/release_oe/psplink/* /media/disk/PSP/GAME150/psplink

Compiliamo remotejoy:

cd /home/*nome_utente/pspdev/psplinkusb/tools/remotejoy
make

Nella directory principale della PSP creiamo una cartella di nome joy
copiamo il file tools/remotejoy/remotejoy.psx nella dir joy appena creata

cp /home/*nome_utente/pspdev/psplinkusb/tools/remotejoy/remotejoy.prx /media/disk/joy

Tutte le seguenti istruzioni sono riferite a cartelle contenute in /home/*nome_utente/pspdev/psplinkusb

nella cartella pspsh dare un make
nella cartella usbhostfs_pc dare un make
nella cartella /tools/remotejoy/pcsdl dare un make
nella cartella usbhostfs_pc digitare sudo ./mod.sh

FASE 3

Facciamo riconoscere la nostra "periferica video" PSP a Ubuntu
Apriamo un terminale (chiamiamolo T1), spostiamoci nella cartella usbhostfs_pc e digitiamo

./usbhostfs_pc

Smontiamo la PSP (non vogliamo più che sia riconosciuta come una periferica di archiviazione dati) e sempre col cavo usb collegato dal menu giochi avviamo PSPLink
Se tutto è andato bene, in T1 apparirà Connected to Device e la PSP rimarrà ferma su uno schermo nero con una scritta bianca in alto.
In un altro terminale (T2) spostiamoci nella cartella pspsh e digitiamo

./pspsh

questo ci ha permesso di aprire una shell per inviare comandi alla psp (dovremmo avere un risultato del tipo host0> o simile). Se vogliamo possiamo anche vedere i comandi di questa shell digitando "help"

Finalmente apriamo la finestra in cui vedremo le immagini di gioco.
in un terzo terminale (T3) spostiamoci nella cartella tools/remotejoy/pcsdl e digitiamo

./remotejoy -d -c

Apparirà una finestra completamente nera...ciò significa che tutti i programmi stanno lavorando ma ancora non c'è connessione diretta. Provvediamo subito.
IMPORTANTE!!!
I comandi che seguono hanno avuto un comportamento diverso su due PSP diverse, soprattutto il secondo che in una diceva che il plugin non veniva caricato e nell'altra si....ma non preoccupatevi...alla fine ha funzionato con entrambe. Quindi spostiamoci in T2 (il terminale che comanda la PSP) e digitiamo:
reset vsh (se la PSP si riavvia totalmente ripetere tutta la FASE 3 e saltate solo questa istruzione)
ldstart flash0:/vsh/module/vshmain.prx
ldstart ms0:/joy/remotejoy.prx
Capiremo che tutto sta andando per il verso giusto se dopo l'ultima istruzione sulla schermata nera che abbiamo aperto col T3 apparirà la stessa scritta che vi è sullo schermo della PSP.

FASE 4
Da qui si possono prendere 2 strade diverse...vi dico però quello che l'autore di questi tool ha indicato e poi vi do un idea su come ho fatto io.
1° Metodo
(solo se non c'è già) creare nella directory principale della PSP una cartella di nome seplugins
(solo se non ci sono già) creiamo due file di testo vsh.txt e game.txt.
Aprire vsh.txt e game.txt e copiare all'interno quanto segue

ms0:/seplugins/usbhostfs.prx
ms0:/seplugins/psplink.prx
ms0:/seplugins/psplink_user.prx
ms0:/seplugins/remotejoy.prx


Ora dobbiamo copiare i plugin nella nostra PSP. Lo possiamo fare copiando i seguenti file nella cartella seplugins che abbiamo creato prima nella directory principale della PSP.
usbhostfs.prx è in /home/*nome_utente/pspdev/psplinkusb/usbhostfs/
psplink.prx è in /home/*nome_utente/pspdev/psplinkusb/psplink/
psplink_user.prx è in /home/*nome_utente/pspdev/psplinkusb/psplink_user/
remotejoy.prx è in /home/*nome_utente/pspdev/psplinkusb/tools/remotejoy/

Smontiamo la nostra PSP e spegniamola tendendo il pulsante di spegnimento sollevato fino allo spegnimento vero e proprio. Riaccendiamola tenendo premuto il tasto R (della PSP!) e nel menu che compare andiamo nella sezione "Plugins" e abilitiamo i plugins

psplink.prx
remotejoy.prx


Torniamo indietro e premiamo esci...la PSP si riaccenderà.
Sul computer riapriamo il terminale T1 e T3 come fatto nella FASE 3 e riapparirà lo schermo nero....Avviate il vostro gioco preferito e, se è stato eseguito tutto in modo corretto, godetevi il vostro gioco a schermo intero sul notebook.
A proposito....per abilitare lo schermo intero premere F8.

2° metodo
Io invece di mettere tutti questi plugin a mano utilizzo il Coustom Firmware Extender (è facile reperirlo su internet) che contiene già i plugin per il remotejoy. Per attivarli e disattivarli basta utilizzare delle combinazioni di tasti. Questo anche per altre funzioni (cambio di frequenza CPU, luminosità dello schermo, ecc...). Inizialmente io utilizzavo il 1° metodo...ma avevo dei problemucci. Con questa soluzione ho risolto.

Se avete problemi, volete maggiori informazioni o qualche istruzione non è chiara non esitate a postare...Ciao uagliò!

Si ringrazia moltissimo l'autore del software Tyranid di PS2dev.org.



4 commenti:

Alessandro ha detto...

manca il link a RemoteJoy.

Anonimo ha detto...

configure: error: installation or configuration problem: C compiler cannot create executables.
../scripts/001-binutils-2.16.1.sh: Failed.
ERROR: Could not run the toolchain script.

Alessandro ha detto...

configure: error: installation or configuration problem: C compiler cannot create executables.
../scripts/001-binutils-2.16.1.sh: Failed.
ERROR: Could not run the toolchain script.
Come faccio a risolvere?

Anonimo ha detto...

imparato molto