Tecnología, Ubuntu

Cómo ver la PSP en la TFT de tu ordenador

·

Esta mañana el bueno de Netámbulo me comentaba que una de sus noticias estaba en portada de Fresqui junto a la mía de Digital+ con Linux, y la verdad es que el post lo merecía: varios súper friquis se las han ingeniado para poder ver los juegos de la PSP en la pantalla del PC o portátil. El proceso es un pelín complejo, pero la verdad es que es una de esas ‘fricadas’ que me gusta probar, así que en cuanto he llegado del trabajo me he puesto a ello y ya está funcionando 🙂

Así que para celebrarlo va pequeño tutorial en castellano para todos aquellos que lo quieran intentar en sus casas. La información está sacada del post original de Emanuel (un máquina que ya antes había explicado como instalar XP en un disco duro externo, algo que funciona aunque con ciertas limitaciones) y del README del proyecto psptoolchain que otros friquis increíbles han sacado en la web PS2Dev.org. Para que veáis que funciona de verdad, incluyo vídeo (8 MB de Flash, la compresión es buena, pero claro, ocupa lo suyo) :

Y lo primero, como dice Emanuel, son los requisitos, a saber:

· Un PC con Linux instalado (mis pruebas también sobre Ubuntu 7.04 Feisty Fawn, como las suyas, pero debería funcionar para cualquier distro)
· Una PSP con un firmware OE (en su guía le funciona con la 3.40, yo tengo la 3.03OE-B y también me ha tirado)
· Ciertos paquetes software descargables libremente

Los valientes, que sigan leyendo 😉

Lo primero que deberéis hacer es crear un directorio llamado, por ejemplo, pspdev en donde queráis. Yo lo he hecho en un directorio que tengo para estas cosas llamado /temp, pero seguro que muchos lo hacéis en vuestros directorios $HOME. En cualquier caso, sigo mis pasos. Desde una cuenta de usuario convencional (sin privilegios de súperusuario/root):

cd /temp
mkdir pspdev
cd pspdev

Ahora a descargar el primer componente, psptoolchain, necesario para compilar el segundo componente, psplinkusb

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

Si el ficherito toolchain.sh no era ejecutable cambiáis los permisos:

chmod a+x ./toolchain.sh

Y lo ejecutáis

./toolchain.sh

Esto hará que se descarguen una buena cantidad de paquetes que además empezarán a compilarse automáticamente ellos solitos. Os advierto que es un proceso larguito: no he estado muy al tanto pero he visto que dos de ellos ocupaban unos 15 y 30 Mbytes respectivamente, así que entre la descarga – según vuestra conexión a Internet – y la compilación todo llevará fácil 15-20 minutos que debéis dejar la máquina tranquila.

Una vez termine es importante establecer una variable de entorno que permitirá que el segundo componente se compile haciendo uso del programita psp-config. Así pues, cuando todo ese proceso anterior de compilación termine escribiremos:

export PATH=»/usr/local/pspdev/bin:$PATH»

Y ahora vamos a por el segundo componente, situándonos previamente en el directorio pspdev creado antes.

cd /temp/pspdev
svn co svn://svn.ps2dev.org/psp/branches/psplinkusb
cd psplinkusb

Ahora antes de nada os recomiendo instalar una serie de paquetes que me han hecho falta para poder compilar todo lo necesario:

sudo apt-get install sudo libsdl1.2-dev libusb-dev libreadline5 libreadline5-dev

Y ya podemos ponernos a ello:

make -f Makefile.oe release

Eso hace que en ese directorio se compile el programita que instalaremos en la PSP. Ahora la conectamos a Linux como lo haríamos en Windows – sí, sí, la reconoce perfectamente, aunque en Ubuntu el icono que sale es el de un iPod nano ;-). Abrimos el explorador de Linux que utilicemos (en mi caso, Nautilus) y creamos dos carpetas en /PSP/GAME. Una de ellas se llamará PSPLINK y la otra %PSPLINK.

– Copiamos desde otro navegador de archivos el fichero /temp/pspdev/psplinkusb/release_oe/psplink/EBOOT.PBP al directorio %PSPLINK
– Copiamos desde ese navegador de archivos TODOS los ficheros (incluido de nuevo el EBOOT.PBP) del directorio /temp/pspdev/psplinkusb/release_oe/psplink/ al directorio PSPLINK

No desconectéis aún la consola, hay cosas que hacer aún. Ahora a compilar los pequeños programitas complementarios:

cd /temp/pspdev/psplinkusb/tools/remotejoy/
make

En el raíz de la consola (al nivel /, no dentro de /PSP) creamos un directorio llamado ‘joy‘ (sin las comillas), y dentro copiamos el fichero /temp/pspdev/psplinkusb/tools/remotejoy/remotejoy.prx

Seguimos compilando:

cd /temp/pspdev/psplinkusb/pspsh
make
cd /temp/pspdev/psplinkusb/usbhostfs_pc
make
cd /temp/pspdev/psplinkusb/tools/remotejoy/pcsdl
make

Ahora ejecutamos un pequeño script en el directorio usbhostfs_pc:

cd /temp/pspdev/psplinkusb/usbhostfs_pc
sudo ./mod.sh

Ahora viene lo bueno. Tendremos que copiar desde /temp/pspdev/psplinkusb/release_oe/psplink los ficheros psplink.prx, psplink_user.prx y usbhostfs.prx al directorio /seplugins que está en el raíz de la PSP. A ese mismo directorio tendrá que ir también el fichero /temp/pspdev/psplinkusb/tools/remotejoy/remotejoy.prx. Ahora desde el navegador de archivos de Ubuntu nos vamos a ese directorio /seplugins, donde veremos dos ficheros, vsh.txt y game.txt. Y si no los vemos, los creamos, y en cada uno de ellos introducimos las siguientes líneas:

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

Ahora apagamos la consola del todo (manteniendo el botón de apagado arriba unos 10 segundos) y justo después la volvemos a iniciar, pero con el gatillo derecho pulsado para que se cargue el menú Recovery. En ese menú tendremos que activar los siguientes plugins – y sólo esos, cuidado, porque están también los mismos pero acabados en [VSH] – :

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

Tras lo cual ya podremos salir de esos menús del todo, con lo que la consola se iniciará normalmente, pero con esos módulos cargados en memoria, que detectarán que si lanzamos un juego, deben ponerse en marcha. Ese es el secreto (al menos, la mitad del secreto) de este procedimiento.

Ahora en Linux abrimos tres consolas. La PSP tiene que estar conectada por USB con el cable, pero no tenéis que ponerla en modo USB de transferencia de archivo, sino tenerla simplemente encendida, por ejemplo en el icono de la Memory Stick o el UMD desde el que luego cargaremos el juego.

En la primera activamos el programa de conexión entre el PC y la consola:

cd /temp/pspdev/psplinkusb/usbhostfs_pc
./usbhostfs_pc

Antes de abrir la segunda consola, en la PSP ejecutamos la aplicacioncita que hemos compilado antes, así que nos vamos a la Memory Stick y pinchamos sobre el icono PSPLink v3.0 OE, lo que hará que aparezca una ventana en negro y en la consola donde hemos ejecutado el programita usbhostfs_pc aparezca el mensaje ‘Connected to device’.

En la segunda iniciamos un intérprete de comandos que nos deja acceder a la PSP en modo consola 🙂

cd /temp/pspdev/psplinkusb/pspsh
./pspsh

En la tercera lanzamos la ventana de reproducción de vídeo con la que obtendremos la imagen de la PSP en nuestras TFTs o monitores:

cd /temp/pspdev/psplinkusb/tools/remotejoy/pcsdl
./remotejoy -d -c

Con eso ya tenemos casi todo. Ahora en la segunda, la de la terminal escribimos (nos habrá salido un ‘prompt’ que estará esperando a que introduzcamos comandos, podéis probar a escribir ‘help’) lo siguiente:

reset vsh
ldstart flash0:/vsh/module/vshmain.prx
ldstart ms0:/joy/remotejoy.prx

Lo cierto es que a mí eso no me ha ido muy bien, así que ahora mismo no estoy seguro cómo lo he conseguido – ups – porque el primer comando reinicia el enlace entre el PC y la consola. Así que si no os funciona a la primera comenzad desde lo de las tres consolas, pero no introduzcais el primero de esos tres comandos, sólo los dos ldstart.

Con eso le habremos dicho a la PSP que ejecute el programita que permite vernos en la TFT lo que el plugin le mande, así que ya podemos iniciar en la PSP el juego, ¡¡y listo!!

Actualización: (13/05/07) Por cierto, sí se puede ver en pantalla completa, cuando estéis en la ventanita de la PSP pulsáis F8 y veréis cómo la pantalla de la PSP ocupa todo vuestro monitor o TFT. Obviamente eso hace que los ‘pixelacos’ aparezcan más grandes, pero está curioso 🙂

Suscríbete a Incognitosis

¡Recibe en tu correo las nuevas entradas!

Standard

34 comentarios en “Cómo ver la PSP en la TFT de tu ordenador

  1. dcortesp dice:

    Da gusto leer tu blog. Uno se da cuenta de la capacidad que tiene el software libre.

    Aquí te lanzo una sugerencia. A ver si la próxima vez nos cuentas como se realiza otra conexión: unir Skype con un teléfono móvil (p.e. Motorola V3) mediante Bluetooth.

    Seguiré leyendo tus líneas. 😉

  2. Aunque nunca lo haré por no tener ni PSP ni Linux, pero vaya currada. Aunque claro, el resultado vale la pena, ha de ser una gozada poder jugar con el TFT, aunque sea a la misma resolución y no a pantalla completa 🙂

  3. JaviPas dice:

    Gracias por los comentarios 🙂

    Sisti: thx!

    Tr4ncos: gracias, ahora mismo lo corrijo!

    dcortesp: jope, de eso no he hecho nada nunca, así que a ver si otro friqui se lo curra, que yo estoy agotao 😉

    Fer: Resulta que sí se puede poner a pantalla completa, algo de lo que me enteré ayer gracias a Emanuel. Lo pongo en la actualización: la tecla F8 te deja ver al consola a toda pantalla.

    Lógicamente, ver la resolución nativa de la PSP (480×272) en mi TFT de 24 pulgadas es algo… curioso 🙂

  4. eldecasisiempre dice:

    OT: Mola mucho también comprobar cómo la gente usa los efectos de Beryl/Compiz de la forma más natural del mundo, así que los que dudaban de su usabilidad, con el vídeo también tienen un buen desmentido… (y pensar que le regalé una PSP a mi hermano y yo no tengo… 🙂 )

  5. JaviPas dice:

    david… uf, ni idea. yo probaría en los foros de Emanuel (ve a su blog, el enlace está al principio, y desde ahí hay un enlace a los foros).

    En cuanto a lo de los FPS, va sólo un poquito más lento, pero no mucho. se puede jugar, desde luego. Como digo, tengo que probar lo de aumentar la frecuencia de reloj de la PSP a ver si así no se nota

  6. Ardiel dice:

    hola, he estado instalandolo y en la segunda opcion me da error, y estoy pensando que puede ser por el recorrido tan grande que tiene.
    Os dejo las ultimas 9 lineas de donde me da el error, a ver si me pueden ayudar.
    make -C psplink clean
    make[1]: psp-config: No se encontró el programa
    make[1]: se ingresa al directorio `/home/pspdev/psplinkusb/psplink’
    Makefile:21: /lib/build_prx.mak: No existe el fichero ó directorio
    make[1]: *** No hay ninguna regla para construir el objetivo `/lib/build_prx.mak’. Alto.
    make[1]: se sale del directorio `/home/pspdev/psplinkusb/psplink’
    make: *** [clean] Error 2
    root@ardiel-desktop:/home/pspdev/psplinkusb#
    no me crea la carpeta release_oe, de la direccion /temp/pspdev/psplinkusb/release_oe/psplink/EBOOT.PBP

    Espero no aburrir, Gracias

  7. JaviPas dice:

    Ardiel: no has hecho el export de la variable de entorno. Si lo haces y vuelves a compilar esa segunda parte no tendrás problemas. De hecho, está explicado en el texto precisamente eso…

  8. Ardiel, tengo la solución para ti. Tu problema es que cuando copiaste la línea export PATH=€/usr/local/pspdev/bin:$PATH€, la copiaste tal y como está, con las comillas «torcidas» (cosas de WordPress, por lo visto). Tienes que copiar la línea y sustituir las comillas por las normales, las que salen en el teclado con Shift+2 😉

  9. Aunque esto esta chulis para guardar partidas y pantallazos no se yo si podria usarse para jugar sin ver la pantalla de la PSP (no digo que se haya implicado que se podria). Hay un lag notable entre la pantalla de la PSP y el monitor (comprensible, si va por USB).

    Eldecasisiempre: No hay nada en el video que sea exclusivo de Beryl, a menos que me equivoque. Hay un cambio de escritorio (de esos que han habido desde hace veinte años) y un movimiento de ventana (de esos que ha habido desde que hay ventanas). Tienen los efectos de Beryl pero no hay ninguna funcionalidad especifica de beryl en el video, a menos que me equivoque.

  10. eduo: se puede jugar sin problemas, la diferencia de velocidad es apreciable, pero no horrible. Y no existe lag entre la pantalla de la PSP y la TFT, algo que puedes comprobar en el vídeo.

    En cuanto a Beryl: sí, lo es, como bien dijo eldecasi, una vez lo utilizas te das cuenta de que es un complemento que además de curioso y atractivo visualmente funciona de cojones 🙂 El cambio de escritorio en forma de cubo y el efecto ‘woobling’ de la ventanita que se mueve son pruebas de ello, pero es cierto que podrían ser de Compiz igualmente. Sea como fuere, es Beryl.

  11. javipas: No me he explicado bien, lo siento. En cuanto a beryl o compiz es irrelevante. La funcionalidad que se ve en pantalla no tiene que ver con estos. Los efectos que se ven no son funcionalidad nueva (se ve un cambio de escritorio y una ventana moviendose), solo efectos visuales. El no tener beryl no haria diferencia en lo que se ve (se podria cambiar el escritorio y se podria mover la ventana identicamente). No estoy diciendo que sea bueno o malo, solo aclaro porque la gente esta empezando a mezclar las cosas. El cambio de escritorio con efecto de cubo (que ya habia yo usado desde mucho antes que saliera Beryl) puede hacer mas atractivo trabajar con varios escritorios pero no da funcionalidad nueva. El wobbling lo mismo pero aun menos. No me parece mal Beryl ni me molesta quien lo usa o deja de usarlo, pero decir que en este video se ven las ventajas de usar Beryl es no saber lo que es Beryl y lo que no es.

    En cuanto al lag lo digo precisamente porque se nota un lag entre el monitor (asumo que no importa si es tft o no) y la PSP. El lag no puede ser de mas de un cuarto de segundo pero esta ahí. En un juego como Burnout es suficiente pa matarte.

    Insisto, no me parece mal ni mucho menos. Estoy incluso acostumbrado a jugar con lag cuando conecto las consolas al capturador de video. Solo digo que estan ahi. No le quita merito al hack.

  12. david dice:

    Hola
    he conseguido que funcionen todos los programas pero cuando pongo en el pspsh lo de
    ldstart …/module/vshmain.prx sale una cosa rara y se cuelga la psp.
    dice que el archivo es incorrecto o algo asi
    ¿debería estar el vshmain.prx en module?
    esque yo lo tengo en nodule y si cargo ese pues se cuelga también.
    el remotejoy si que lo carga pero sin cargar el vsh luego no se sale al menu al poner reset vsh.
    bueno todo parece funcionar bien: se conecta, sale la pantalla negra y todo eso.
    jo que complicado es esto.
    me tendré que instalar el windows y probarlo jeje

    una pregunta
    si apagas la pantalla de la psp dando al botoncillo ese que sirve también para el brillo ¿se deja de ver en el pc?

    lo decía por eso de que va mas lento que no se si es porque el usb no puede transmitir tan rapido o porque la psp esta haciendo mas trabajo al mandarlo al pc ademas de a su pantalla.

  13. JaviPas dice:

    eduo: en realidad yo creo que lo que quería decir eldecasi es que usar Beryl no tiene porqué cambiar tu forma de trabajar, es un elemento más que puede aumentar la productividad si lo utilizas correctamente. No sé exactamente de qué ventajas hablas cuando hablas de Beryl, pero aparte de las mejoras visuales y algunas funciones que como digo mejoran la productividad (como el efecto «Exposé»), no existen más que yo sepa.

    David, a mí me pasó lo mismo: si te sale la pantalla en negro y en el usbhost_pc sale lo de «Connected device» ya estás preparado para ello: simplemente tienes que haberte asegurado de que en el menú Recovery de la PSP estén activados los módulos que comento, pero los que tienen entre corchetes lo de [GAME], no los otros.

    Y sí, el lag puede costar caro, obviamente. Este hack es más una curiosidad que otra cosa, pero mola igualmente, no creéis?

  14. JaviPas dice:

    David: yo creo que algo raro has hecho porque no es en vshmain donde se reinicia la consola, sino en el reboot vsh. Si quieres volver a probar, empieza desde el principio y asegúrate de que los plugins que están activos son esos y sólo esos!! Buena suerte… Y si lo logras en Windows, ya nos contarás 🙂

  15. david dice:

    lo consegui
    pero no me va ni el ridge racer ni el mercury (desde el umd) ni ratchet desde la ms
    bueno el mercury sale el principio (un reloj de arena dando vueltas)
    todos los umd dejan de leer no se por que
    jo que mala suerte justo los juegos que tengo no van

  16. JaviPas dice:

    David, leí el otro día que al parecer no funciona con todos los juegos… yo tuve suerte: probé con el virtua tennis e iba 🙂

    Igual con la conexión vía Windows sí funcionan esos, puedes probar…

  17. david dice:

    solucionado.
    gracias por responder

    ya me van casi todos incluido el ridge racer eso si, a 30 fps como mucho, pero se puede jugar y mola.
    si le doy al f4 se reduce la pantalla y va a 60 fps una pena que no vaya a 60 en el tamaño original pero si cambio de gestor de ventanas hay diferencias por ejemplo con el veryl me va mas lento y con el metacity mas rapido esque mi ordenador es antiguo lo probare en otro mejor.

    ojala consigan que vaya mejor.
    en el windows dicen que casi va a la velocidad normal, no se, ya lo probare.
    de todas formas esto es la primera version o una de las primeras , no?
    bueno pues mola mucho a ver si lo mejoran.

    una ultima cosa
    lo he hecho funcionar en linux solo con el pcsdl/remotejoy y con el usbhostfs solo he tenido que activar remotejoy.prx y psplink.prx en el recovery.
    esque era un poco lio el tutorial para linux y me fije en uno para windows y funcionó.

  18. david dice:

    como se pone en pantalla completa?
    he visto videos que sale toda la pantalla y a mi se me pone a 640×480 y no ocupa todo
    ademas esta en 4:3 y se ve aplastado

  19. Guzmanus dice:

    Hola, el tutorial muy bueno, el problema es que al ejecutar el sudo ./toolchain me da este error:
    as: unrecognized option `-G0′
    make[5]: *** [lib_a-dummy.o] Error 1
    make[5]: *** Se espera a que terminen otras tareas….
    as: unrecognized option `-G0′
    make[5]: *** [lib_a-argz_add.o] Error 1
    make[5]: se sale del directorio `/home/guzman/pspdev/psptoolchain/build/newlib-1.15.0/build-psp/psp/newlib/libc/argz’
    make[4]: *** [all-recursive] Error 1
    make[4]: se sale del directorio `/home/guzman/pspdev/psptoolchain/build/newlib-1.15.0/build-psp/psp/newlib/libc’
    make[3]: *** [all-recursive] Error 1
    make[3]: se sale del directorio `/home/guzman/pspdev/psptoolchain/build/newlib-1.15.0/build-psp/psp/newlib’
    make[2]: *** [all] Error 2
    make[2]: se sale del directorio `/home/guzman/pspdev/psptoolchain/build/newlib-1.15.0/build-psp/psp/newlib’
    make[1]: *** [all-target-newlib] Error 2
    make[1]: se sale del directorio `/home/guzman/pspdev/psptoolchain/build/newlib-1.15.0/build-psp’
    make: *** [all] Error 2
    ../scripts/004-newlib-1.15.0.sh: Failed.

    Gracias por todo

  20. David dice:

    Dos cosas
    no consigo ver el menu (vsh)
    y el f8 (pantalla completa) no me sale en 16:9 sale en un cuadradito en el medio de la pantalla del pc aplastado con bandas negras a los dos lados ademas de las normales (arriva y abajo)

  21. eldelpuerto dice:

    En el proceso: me va todo bien, excepto cuando le doy
    ldstart flash0:/vsh/module/vshmain.prx

    me dice que no existe. Efectivamente navego con cd.. y tal y no esta el vshmain.prx en ese directorio.

    A alguien le ha pasado?
    alguien me puede ayudar, gracias.

    firmware 3.71 m33-4
    gracias de antemano

  22. Pingback: La PSP en la pantalla de tu PC con Linux - HIGHSCORE

Comentarios cerrados