[PSP] PSPLink 2.0

¡Hola!

Los que alguna vez hemos programado para PSP sabemos que es un coñazo tener que andar compilando, copiando a la PSP los archivos, y aguantar el gameboot... para que luego el programa ni siquiera llegue a arrancar, y se cuelgue la PSP :-(

Pero para evitar esto (y para otras muchas cosas que no cubriré en este tutorial, al menos de momento), está el PSPLink, que es una utilidad genial para programadores.

Consta de dos partes: la que se carga en la PSP, y la que se carga en el PC. La primera la podéis bajar de aquí, y la segunda la tenéis adjunta en este mismo post. Los pasos son muy sencillos:

1. Bajamos el PSPLink 2.0 Final (es con el que trabajaremos aquí, pero seguramente valga para versiones futuras) y lo descomprimimos en cualquier parte.

2. De lo descomprimido, metemos lo que haya dentro de la carpeta "v1.5_nocorrupt" en la PSP, en PSP\GAME. Ahora en la PSP, buscamos el archivo psplink.ini en la carpeta __SCE__psplink, lo borramos, y renombramos el psplink.ini.usb a psplink.ini.

3. Lo ejecutamos en la PSP y la enchufamos por USB al PC. Veremos esta pantalla:

Imagen


4. Windows nos detectará un nuevo tipo de dispositivo, "PSP Type B", y nos pedirá los drivers. Debemos indicarle los que hay en donde descomprimimos antes todo, concretamente en el directorio pc\windows\driver. Tras unos segundos estará instalado el driver.

5. Descargáis y descomprimís el adjunto de este post en la carpeta donde queráis, pero hay que tener en cuenta una cosa: si ponemos el usbhostfs_pc.exe en C:\cygwin, por ejemplo, no podremos ejecutar cosas que estén "más arriba", por ejemplo, cosas que estén en C:\. Si tenéis Cygwin instalado recomiendo ponerlo en vuestro home (C:\cygwin\home\usuario\), es lo más práctico.

6. Ejecutáis primero el usbhostfs_pc.exe y luego el pcterm.exe. Este último es la terminal que se utilizará para controlar a la PSP. Desde ahí podemos ejecutar cualquier programa que hayamos hecho, simplemente con el comando ./programa.elf. (NOTA: el archivo .elf se genera al hacer un simple "make" de vuestro programa, no es necesario hacer "make kxploit" como de costumbre).

7. Veréis cómo en la PSP se ejecuta el archivo .elf elegido, sin gameboot ni nada. Además, si hay una excepción (de las que apagan la PSP en 10 segundos), volveréis al PSPLink sin problemas, ahorrando un montón de tiempo y reseteos. También se puede volver al PSPLink pulsando HOME.

8. Para hacer capturas de vuestros programas podéis usar el comando scrshot archivo.bmp. Esto generará en el directorio activo una captura de lo que haya en pantalla, y lo llamará archivo.bmp.

Y ya está, fácil, ¿no? xD

Las posibilidades de PSPLink son muy amplias, ya que es un programa muy técnico, con amplias posibilidades de debugging, pero este es el uso principal que le doy yo y que espero que encontréis útil vosotros a la hora de programar.

Si queréis informaros más sobre qué podéis hacer con él, podéis echar un vistazo al archivo psplink_manual.pdf que viene incluido, que está en inglés, pero es muy útil.

EDITO: Los archivos que adjunto en el post requieren varias DLLs para funcionar. Las podéis bajar aquí.
Buen trabajo ;) Incluido en la guia de tutoriales.
¡Buena currada tio! A ver si puedo usarlo para mis traducciones... y no estar tanto copia pega...
¡Five Stars!

EDITADO:
ME PIDE DLLs DEL ESTILO CYGXXXX
Pyronhell escribió:EDITADO:
ME PIDE DLLs DEL ESTILO CYGXXXX

Ups. Si no tienes instalado Cygwin, casca. Estuve mirando y creo que las DLLs que necesitas son estas. Tienes que descomprimirlas en el directorio donde está el usbhostfs_pc.exe y el pcterm.exe, avísame si así funciona.
melado escribió:Ups. Si no tienes instalado Cygwin, casca. Estuve mirando y creo que las DLLs que necesitas son estas. Tienes que descomprimirlas en el directorio donde está el usbhostfs_pc.exe y el pcterm.exe, avísame si así funciona.

Pues sí que funciona tio, gracias ;)
Lo malo es que no puedo ejecutar EBOOTs xD

Vale ya se como hacerlo ;)
Con el IrShell 2.2, ejecutamos en el PC el usbhostfs y luego en el IrShell lo activamos, entonces podremos navegar por las carpetas, ejecutamos el eboot y listo ;)
Pyronhell escribió:Lo malo es que no puedo ejecutar EBOOTs xD

Hombre, es que el PSPLink es más bien para programadores que pueden generar su propio archivo ELF.
melado escribió:Hombre, es que el PSPLink es más bien para programadores que pueden generar su propio archivo ELF.
Dame tiempo tame tiempo... [rtfm]
Pyronhell escribió:Dame tiempo tame tiempo... [rtfm]

Necesitamos el foro de programación pero YA xD
melado escribió:Necesitamos el foro de programación pero YA XD
Ya ves... a ver si encuentro algo para novatos por ahi... para al menos poner "Soy Pyronhell" en la pantalla de mi blanquita...
El 1º tuto util que veo en siglos :D
kYp escribió:Como se sube al direcctorio anterior ¿? con cd.. no me va

cd .. con espacio antes d los puntos

Hacia tiempo m habia interesado por este programa, pero nunca he tenido tiempo d probarlo :(, esperosacar tiempo ahora q veo este tuto y probarlo, gracias
P.D.:Queremos subforoooo!!!! xDD
Salu2
BlackSith escribió:P.D.:Queremos subforoooo!!!! xDD

Ueeeeeeee xD

kYp escribió:El 1º tuto util que veo en siglos :D

Demuéstralo creando el programa para PSP definitivo [rtfm]
BlackSith gracias por responder raudo y veloz pero ya me habia dado cuenta ,no se por que son destas tonterias que te pasa alguna vez y no ponia el espacio y el comando cd hace años que aprendi a usarlo xD ( como es tan difiiicil xd )

Melado lo haria pero no tengo tiempo ... xD

que va me ha servido de gran ayuda ya que yo soy de los que aprende a errores me era un coñazo pasar las movidas y ese simple exo me desanimaba :) estaba pensando en instalarme un CF y el programa de killer que se salta el gameboot pero esto es sin duda mucho mejor
Muchas gracias por el tuto, ya "se generar mis propios elf" y la verdad que esto va de lujo.
Funcionando correctamente. Por fín podré terminar el quake en 3D que me pidieron los de soni pa la negrita... [qmparto] [qmparto] [qmparto]
Por favor, alguien puede resubir las librerias necesarias? Es que el vinculo ha caducado :(

Muchas gracias :)

Edito: no hay problema, todas las librerias que necesito estan en cygwin/bin.

Pero tengo una duda, a ver si alguien me puede echar una mano: Cuando yo compilo, en la carpeta que luego meto en psp/game150 tengo que tener una carpeta con un fichero wav que necesito en el programa.

Cuando lo ejecuto a la "antigua usanza" la carpeta está en su sitio y no hay problema, pero cuando lo hago a través del pspLink, el archivo.elf no sabe que es necesaria esa carpeta y al intentar ejecutarlo no funciona. Eso donde puede arreglarse? En el Makefile?
Es que el pspLink tiene una pinta espectacular y no quiero perdermelo por esta tonteria :)
Creo que he entendido tu duda.

El PSPLINK toma los archivos del PC ( vamos que no los coje de tu carpeta game150 de ai su ventaja de trabajo ), cuando tu ejecutas el ./archivo.elf en el pcterm toma los archivos del directorio del pc asi no tienes q andar pasando archivos ni nada asi que teniendo el .wav en el mismo directorio que el .elf en el pc no ai problema.
me sale un error y no me permite cargar el .elf

Failed to Load/Start module 'host0:/programa.elf' Error: 0x800200D9

alguien me ayuda?

PD: Ara mismo toi en la 3.52 M33
17 respuestas