[Edito para añadir correcciones]
Estoy haciendo pruebas con el ps2-keylauncher, así que os dejo aquí un pequeño tutorial de
como montarte tu propio CD con el exploit de PSX y el ps2-keylauncher personalizado con las aplicaciones que uno quiera tener. Es decir, resumiendo: con este tutorial podrás introducir en tu memory card programas diseñados para hacer cosas interesantes como reproducir DIVX, jugar desde el disco duro, hacer backups de tus partidas al disco duro o por red al PC, etc.
No será necesario tener instalado ningún chip para utilizar los programas, con lo cual aumentamos las posibilidades de las consolas sin chipear, y sin perder la garantía. Tan sólo será necesario contar con algún amigo que sí que tenga chip para que nos pase el programa a la memory card (sólo hay que hacerlo una vez), como veremos más adelante.
Bien, empecemos. Resulta que existe un bonito "fallo" en la PS2 que nos permite ejecutar código ELF (ejecutables de la ps2) cuando arrancamos la consola con un CD determinado de PSX (PSone) que nosotros hayamos decidido (cualquiera que tengamos ORIGINAL). Esto permite que podamos instalar en la memory card un reproductor multimedia, el HDLOADER o HDADVANCE, o cualquier otro programa, y lanzarlo simplemente arrancando con el cd original de PSX. En vez del juego de psx, se lanzaría lo que hay en la memory card. Si no metes ESE juego de PSX que tú has decidido que lance el Exploit, entonces la ps2 se comporta con normalidad (y para ella, el programa instalado en la memory card no son más que "datos corruptos" (o eso cree la consola, al no ser partidas grabadas de ningún juego).
Entonces todos los novatos nos planteamos, ¿y cómo metemos el "programa" que queremos en la memory card? Pues lo que voy a explicar es una forma de hacerlo, utilizando el
PS2 Independence Installer y ps2-keylauncher. Seguiremos una serie de pasos tras los cuales lo que obtenemos al final será un CD instalador del exploit. Nos vamos con el CD y nuestra memory card a casa de un amigo con chip, pinchamos nuestra memory card en la ranura 1, y arrancamos con el CD. El programa que hay en el CD nos instala el exploit, y ya podremos llevarlo a casa para con el cd original de PSX, ejecutar lo que se instaló en la memory card. Así pues ese cd consta de 2 partes:
- El programa instalador de los ficheros en la memory card.
- Los ficheros que queremos instalar, es decir, los ejecutables. Habrá un ejecutable del HDLOADER (Hdloader.elf), otro del ps2link (ps2link.elf), etc etc.
Lo voy a explicar de forma que cualquiera se pueda crear su propio CD instalador con las aplicaciones que prefieran, aprovechando la genial utilidad ps2-keylauncher de MrSiir.
Resulta que existe un bonito BIN/CUE del ps2-keylauncher, hecho por su propio autor, para hacer pruebas y facilitarnos las cosas. Ese bin/cue es una imagen lista para tostar a CD que instala el ps2-keylauncher junto a un monton de aplicaciones.
Yo cojo ps2-keylauncher-0.2+.bin y su cue y los convierto a ISO. Miro
el contenido de la iso (más que nada porque Linux maneja las isos como si fueran directorios, y puedo ver su contenido), y contiene:
[compiler@compiler:~/kk/a]$ ls
cdvd.irx* dummy/ expinst.elf* files/ system.cnf* title.db*
Supongo que:
* cdvd.irx = el "driver" de acceso a DVD y CD (o el exploit, o lo que sea).
* dummy = el directorio donde meter el fichero dummy.dat gordo (100Mb por ej,
cualquier fichero del disco duro, para darle "volumen" al CD y que la ps2 lo lea bien).
* expinst.elf = el ejecutable que instala el exploit (PS2 Indep Installer)
* system.cnf = para el ejecutable
* title.db = donde se meten las firmas de juegos de PSX con titleman.
* files = directorio donde se meten los ficheros
(Los ficheros cdvd.irx, expinst.elf, system.cnf y title.db son EL INSTALADOR, y son parte del PS2 Independence Installer de Sjeep. Al fichero title.db le tenemos que añadir la firma (o las firmas, ya que puedes poner varias) del juego de PSX que queremos que nos lance el exploit, y en el directorio files es donde pondremos los ejecutables a lanzar. El DUMMY es un directorio con un fichero dummy.dat gordo que se usa para que el cd resultante no quede muy "pequeño" en tamaño y que la ps2 lo pueda leer. Da igual el contenido de este fichero, pueden ser todo ceros, ya que así luego nos lo podemos comprimir en menos tamaño para guardarnos lo que hemos hecho).
El directorio files contiene:
[compiler@compiler:~/kk/a/files]$ ls
boot.elf* hdadvanc.elf* ipconfig.dat* mcloader.elf*
ps2link.elf* ps2media.elf* cdloader.elf*
kl.dat* ps2dev9.irx* ps2link.irx* ps2smap.irx*
csl.elf* iomanx.irx* mcformat.elf* ps2ip.irx*
ps2load.elf* unrar.irx*
Es decir, en ese directorio metes los .elf y .irx de las diferentes aplicaciones que quieres meter en la memory card. Simplemente los copias ahí. El autor indica en su página que algunas (por ej el ps2menu-k) necesitan estar comprimidas con el ps2packer.
http://ps2dev.org/files/ps2-packer-0.2-win32.zip(vamos, que hay un par de aplicaciones cuyo fichero .elf no funciona directamente, y hay que comprimirlas con el ps2-packer para que el elf resultante SI que funcione).
Como puedes ver, también hay algunos ficheros de configuración: el kl.dat es parte del keylauncher (como veremos luego), y el ipconfig.dat es la configuración de red del ps2link (podemos editarlo como cualquier fichero de texto antes de generar el cd para poner lo que consideremos necesario).
¿Y cómo le dices al programa este que qué aplicaciones quieres que se lancen con qué teclas? Fácil, miramos el fichero kl.dat:
[compiler@compiler:~/kk/a/files]$ cat kl.dat
[]=mc0:/BEDATA-SYSTEM/PS2MEDIA.ELF;PS2 MediaPlayer 1.50
/\=mc0:/BEDATA-SYSTEM/MCLOADER.ELF;MCLoader
O=mc0:/BEDATA-SYSTEM/HDLOADER.ELF;HDD Loder Free
X=mc0:/BEDATA-SYSTEM/HDADVANC.ELF;HDAdvance
R1=mc0:/BEDATA-SYSTEM/CSL.ELF;CogSwapLoader by Hermes
R2=mc0:/BEDATA-SYSTEM/PS2LINK.ELF;PS2Link 1.23
R3=
L1=mc0:/BEDATA-SYSTEM/PS2LOAD.ELF;CDLoader v7 5.2
L2=mc0:/BEDATA-SYSTEM/MCFORMAT.ELF;MCFormat
L3=
Lo de mcd0:/BEDATA_SYSTEM indica que lo tiene que copiar en la
primera memory card. Lo de BEDATA es el directorio que se usa en las memory card de las PS2 europeas. En otras PS2 (USA, Japon) sería otro nombre (como BADATA y BIDATA, respectivamente). El formato del fichero es, pues:
TECLA=PATH_A_LA_MEMORYCARD/NOMBRE_DEL_EXEC_ELF;NOMBRE
Donde nombre es lo que aparecerá en la pantalla (en el menú).
(Nota: los ficheros deben de estar dentro del directorio files, y mejor si los pones todos en mayúsculas, tanto en el directorio como dentro de kl.dat).
Si alguna de las opciones (sólo 1) lleva una arroba al final del todo (tras el nombre), esa será la opción por defecto que se arrancará en 5 segundos si no tocamos nada (aunque con SELECT se puede parar e iniciar de nuevo dicho contador de 5 segundos).
Por lo tanto para generar nuestro propio CD instalador con los ejecutables a instalar dentro, habría que hacer lo siguiente:
- Extraer los ficheros de la ISO a un directorio.
- Modificar el title.db para meter las firmas de los juegos de psone que tenemos y que queremos que lancen el exploit (o copiar el title.db que ya tuvieras de otro exploit). Eso se hace con titleman.exe (titleman -a sles_xxx.xx). El sles_xxx.xx es la firma del juego y está serigrafiado en la caja del juego y en el CD. También está en el mismo CD del juego, en un fichero system. Ojo, hay algunos juegos que no valen para lanzar el exploit, como el tekken3. Yo uso el GT1, el CD1 de FF7 y el PES2 (puedes añadir tantas firmas como quieras, simplemente añades varias ejecutando varias veces el titleman -a).
- Quitar los ficheros ELF/IRX que no quieras del directorio files (por ejemplo, ahorrarás bastante espacio si no quieres el reproductor de divx).
- Quitar esas aplicaciones del kl.dat
- Añadir los ficheros ELF/IRX de las aplicaciones que quieras (por ejemplo, ps2menu-k, que no viene en el bin/cue original).
- Añadir esas aplicaciones al kl.dat
- Generar un CD de PS2 con el cdvdgenps2, metiendo primero
el dummy, luego el system.cnf, luego explinst.elf, luego el cvdv.irx,
luego title.db y luego el directorio files. (segun pone en
http://home.rochester.rr.com/ps2ownz/cdvdgenps2.jpg ). Para este último paso, MrSiir nos recomienda
"para crear el CD, yo aconsejaría el CDGenPS2, fijar el LBA del SYSTEM.CNF a 12231 y meter el DUMMY al final".
Y luego ya usar ese cd en una ps2 modificada para grabarlo en la memory card. Una vez llegamos de casa de nuestro amiguete que tiene la ps2 chipeada, nosotros sólo tenemos que pinchar la memory card y arrancar la ps2 con el cd de PSX. Aparece el menú del ps2-keylauncher que nos permite ejecutar las diferentes aplicaciones.
URLs que he consultado para "aprender" sobre este tema:
http://home.rochester.rr.com/ps2ownz/exploit.htmlhttp://www.siirlabs.com/ps2dev/ps2-...0.2+-binary.ziphttp://ps2dev.siirlabs.com/http://www.ps2reality.net/showdocument.php?t=42265http://www.nobis-crew.org/ps2-packer/http://ps2exploit.tk/Ahora espero que los expertos puedan validar o corregir mi "tutorial" y así poner esta genial aplicación al alcance de todos (para mí ha sido toda una revolución, porque no entendía muy bien el funcionamiento del tema del exploit de psone y con la estructura de directorios que hay en el BIN/CUE que os comento de MrSiir se ve todo bastante claro).
Por último, un detalle. Al principio del tutorial he dicho que es necesario que un amigo con chip te ejecute el exploit para meter el programa en la memory card, pero, me pregunto ... ¿y si tras generar la ISO, la instalamos en el disco duro con HDL_DUMP (en el PC), y lanzamos el instalador desde el menú del HDLOADER? No lo he probado, pero tal vez funcionara, si alguien tiene ganas de probarlo que lo diga y actualizaré este documento. Esto serviría para la gente que ya tiene el exploit en la memory card y quiere actualizarlo sin volver a pasar por casa del amiguete, o para quien quiera tener el reproductor multimedia instalado en el disco duro, pero no en la memorycard (ahorrando espacio en esta).
Gracias a MrSiir.