Categoría: Documentos PS2

Historia de PS2DEV

Para cualquiera que sea nuevo en PS2DEV, siempre esta bien tener algún conocimiento sobre que paso en el pasado y como ha cambiado hasta ahora. Así que en esta sección se dará una visión general de hechos más significativos en PS2DEV.

Si quieres mayor información sobre los eventos listados a continuación, puedes encontrarla aquí http://ps2dev.org/News

Año 2000

  • Octubre/Noviembre 2000 – Publicada la PlayStation 2

Año 2001

  • 01.02.01 – Publicado EE GCC 2.95.2
    Un port de GCC 2.95.2 es publicado por SNSYS, tenía soporte para instrucciones MMI y los VUs. 

    17.03.01 – Publicada la demo 3 Stars Demo con código fuente
    Imagen
    3 Stars Demo de Duke of Napalm fue la primera demo de código abierto para la PS2, esta escrita en ensamblador.

    05.04.01 – Se pone online ps2dev.livemedia.com.au

    Esta es la website que mas tarde se llamo PS2DEV.org (En 04.03.03 para ser exactos). Fue iniciado por Oobles (David Ryan) y a día de hoy, el sigue manteniendola. No hace falta decir, que esta web ha sido de gran importancia como punto de encuentro para ‘PS2DEVing’.

    12.07.01 – Duke’s GCC library

    Primera pequeña librería gráfica para PS2 para ser usada con GCC. No creo que alguien la usara y recuerdo que tenia bastantes fallos.

    01.07.01 – Publicada la beta del Kit de Linux para la PS2

    Se publica el Kit de Linux para la PS2 en Japón, pero lo mas importante es que viene con los manuales de la PS2, que documentan el EE, los VUs y el GS.

    23.07.01 – Publicada Pillgen

    Imagen
    Pillgen de Vzzrzzn es la primera demo escrita completamente en C. Venia con el código fuente y tenia un buen funcionamiento para su época. Yo (lukasz) utilicé este código fuente como referencia para varias cosas cuando fue publicado.

    17.09.01 – Publicada PS(x)lib

    Se publica Psx2lib, anteriormente ps2lib y finalmente ps2sdk, de Gustav Scotti. Este es el primer intento público de reversar las librerías SIFRPC, que fue el primero en tener soporte de E/S (IOP). Mas tarde resultó que este código tenia bastantes fallos y fue completamente reemplazado en PS2SDK por el código de SIFRPC de Marcus R. Brown, que es el que se usa hoy en día y que ha demostrado con el tiempo ser bastante estable.

    15.10.01 – Publicado Funslower

    Imagen
    Demo del grupo danes Soopa Doopa, primer programa de PS2DEV en usar VU1 para el renderizado. Un hito en PS2DEV.

    11.12.01 – Publicado Naplink
    Imagen
    Otro hito importante en PS2DEV, Napalm publica una herramienta para cargar programas de PS2 desde un PC, comúnmente llamado loader. El código fuente de Naplink nunca se ha publicado.

    21.12.01 – Publicada Padlib

    Pukko reversó la librería EE SIFRPC (padlib) para joypads para usarlo junto con ps2lib, primer uso real del código SIFRPC en ps2lib. El primer código para utilizar joypads en PS2DEV. Más tarde le han seguido otras librerías SIFRPC, la mayor parte de ellas forman parte de PS2SDK.

Año 2002

  • 06.03.02 – Primeros tutoriales de DreamtimeLos tutoriales de Dreamtime llamaron bastante la atención (y todavía lo hacen) y consiguió introducir a muchas personas a PS2DEV. Sin embargo, el código esta bastante anticuado y requiere algunos cambios para hacerlo funcionar con las actuales librerías y toolchains.

    20.04.02 – IOP GCC produce IRX

    Karmix parcheó el port de IOP GCC para que produzca directamente archivos IRX. Antes se usaba elf2irx que tenia bastantes fallos y este parche realmente mejoró la calidad de GCC para el IOP.

    22.04.02 – Publicado PSMS 0.1 Alpha

    PSMS es un emulador de Sega Master System por Sjeep. lo que lo hace interesante es que es uno de los primeros programas de PS2 que soporta cargar archivos, joypads y sonido.

    21.05.02 – The Third Creation Round #1

    The Third Creation empezó como una competición de demos iniciada por varias personas en el canal #PS2DEV de IRC en EFNet (ahora en freenode). La “competición” consistía básicamente en publicar algún programa en PS2DEV cada cierto tiempo. La competición se celebró mensualmente durante dos años. Muy pocas personas de las que enviaron demos eran realmente demo sceners, eran simplemente personas interesadas en una plataforma alternativa. La WebSite de The Third Creation ya no esta disponible, Puedes ver un mirror del archivo de The Third Creation aquí.

    31.05.02 – Publicada Libito

    Libito fue mi librería gráfica (de lukasz), fue una de las primeras librerías gráficas reales. El proyecto no esta descontinuado y ahora la mayoría de la gente usa gsKit de Neovanglist.

    22.05.02 – Publicado el Kit de Linux para PS2 PAL/NTSC

    Se publica el PS2Linux en territorios PAL/NTSC y se abre la website playstation2-linux.com. Con este kit se pueden programar los VUs, echa un vistazo a sps2 project para programación avanzada de VU. El código VU también se puede utilizar en PS2DEV, si es portado.

    17.06.02 – Publicado Amigamod

    Amigamod de Vzzrzzn fue un reproductor de música .MOD que se ejecuta totalmente en el IOP, el primer modulo IOP avanzado.

    15.10.02 – Publicado LIBCDVD

    El driver original de CD/DVD para la PlayStation 2 solo soporta formatos de CD/DVD muy limitados. LIBCDVD de Hiryu y Sjeep crea una capa sobre el driver original y da soporte a mas formatos de CD/DVD. Este proyecto se usa mayormente en emuladores.

    20.10.02 – Publicado SjPCM

    La programación de sonido en la PS2 fue un poco difícil al principio, ya que requiere un modulo IOP que utilice el modulo LIBSD (librería de sonido a bajo nivel). SjPCM era un modulo simple con una librería EE RPC, que hacia mas fácil enviar datos PCM al SPU2. Este módulo se hizo bastante popular y se utiliza en muchos programas de PS2. Existe también una variante disponible, iSjPCM que no requiere LIBSD.

    03.11.02 – [RO]man abre una website

    [RO]man mantenia una website llamada “PS2DEV: Bios Details for Developers”, donde posteaba código de módulos IOP reversados entre otras cosas. El código en realidad no se compila, sino que muestra lo que está sucediendo dentro de los módulos IOP. La website ya no esta disponible, Aquítienes un mirror de los archivos.

    20.12.02 – PS2Reality publica un reproductor DivX

    Un grupo español de programadores publica un media player que reproduce películas DivX, tuvo una gran atención en la prensa. Existe otro reproductor de DivX disponible llamado Simple Media System.

Año 2003

  • 02.01.03 – Publicado PS2IPPS2IP junto con el driver SMAP fue el comienzo de lo que se convertiría en Pukklink, ahora PS2Link.

    23.01.03 – Publicado Driver SMAP

    El driver del adaptador de red de PS2Linux portado a PS2DEV.

    23.02.03 – Publicado Inlink de InPulSe Team
    Imagen

    Inlink es un cliente de Pukklink/PS2Link para Windows que tiene incorporado soporte para sintonizador de TV. Es una gran herramienta si tienes tu PS2 conectada a tu tarjeta de TV (como yo), entonces solo necesitas una herramienta para cargar y probar tus programas de PS2. El cliente ahora es bastante antiguo y podría no ser compatible con todas las características de PS2Link.

    02.03.03 – Publicado EE GCC 3.2.2

    La EE toolchain usada en PS2DEV era la versión 2.95 y estaba bastante anticuada, MrHTFord inició el esfuerzo de portarlo sobre GCC 3.2.2. Esta es la toolchain usada actualmente en todos los proyectos de PS2DEV.

    24.03.03 – Publicado Pukklink
    Imagen

    Hasta este punto Naplink era utilizado para desarrollar en PS2DEV. Pukklink de Pukko utiliza el adaptador de red oficial para transferir los programas de PS2 a la PS2 desde el PC. Más tarde pasó a llamarse PS2Link, que es el cargador más utilizado en PS2DEV.

    01.03.03 – Se actualiza el código de PS2Lib SifRpc y SifCmd

    No es un secreto que el código de SifRpc y SifCmd en ps2lib tenia bastantes fallos. Marcus R. Brown había estado trabajando en su propia implementación que era mas estable y lo añadió a ps2lib, reemplazando el código existente. Ha demostrado con el tiempo ser bastante estable y es un salto adelante en PS2DEV, ya que la gente ha estado luchando con la implementación original. Esta es una de las partes fundamentales en PS2dev, sin ella no habría una E/S (estable).

    25.04.03 – Publicada gsLib

    Hiyru publico gsLib, una librería gráfica en C++. El la usó en su emulador de SNES Snes-Station.

    06.05.03 – Publicada dreamGL

    dreamtime publica una mínima implementación de OpenGL para PS2Dev. Utiliza Path 3, por lo que el rendimiento no es bueno y también soporta doubles, que son emulados por software, otro cuello de botella de rendimiento. Esta librería se utilizo en la demo Plasma Tunnel presentada a The Third Creation.

    16.05.03 – Publicada PS2lib 2.0

    Importante revisión en PS2Lib, tanto en estructura como en código. Este fue el comienzo de lo que más tarde se convertiría en PS2SDK.

    24.05.03 – Publicada libGL

    jenova0 publicó su implementación de OpenGL de código cerrado, también usa Path 3 por lo que sé y no me se utiliza realmente en ningún programa de PS2.

    03.07.03 – Publicado ps2drv

    Marcus R. Brown publica un entorno para la programación de módulos de IOP, llamado ps2drv (ps2 driver). Este entorno hizo mas fácil definir las imports y exports de los modulos IOP. Esto posteriormente se fusionó con PS2Lib y otras bibliotecas a PS2SDK.

    04.08.03 – Publicada Aura for Laura

    Imagen

    La segunda demo de Soopa Doopa, esta vez con sonido. Esta demo ganó el premio de Mejores Efectos en Scene.org Awards en 2003.

    16.08.03 – PS2 Independence Exploit

    El hacker de PS2 Marcus R. Brown publica el Independence Exploit. Un exploit de desbordamiento del buffer que puede ser activado utilizando un archivo modificado en la memory card y un juego original de PSOne. Este exploit fue parcheado en modelos posteriores. Este exploit no evita la protección de disco original, simplemente carga un programa de PS2 desde la memory card.

    07.10.03 – Publicado Send0r

    Send0r de Oobles fue un programa de PS2 que podía descargar programas de PS2DEV desde internet, este proyecto lamentablemente murió silenciosamente.

    23.10.03 – Publicada sbv

    sbv es una pequeña librería de Marcus R. Brown con un par de parches. Un parche hacia posible cargar modulos de IOP desde la memoria del EE, antes solo se podía carga utilizando E/S. El otro parche permitía cargar modulos de IOP desde la memory card.

    06.11.03 – Publicada libhdd

    libhdd de Sjeep era una librería para acceder al HDD de la PS2. El código mas tarde fue publicado y ahora forma parte de PS2SDK.

    18.12.03 – PS2 Serial Cable

    Herben es el autor original del PS2 serial cable, las instrucciones para construirlo estan posteadas por Marcus R. Brown. Mirror de las instrucciones originales.

Año 2004

  • 02.01.04 – Publicado PS2LinkImagen

    Pukklink paso a llamarse PS2Link y fue publicado. El código fuente de PS2Link esta bastante anticuado y podría necesitar una revisión. Todavía se le hacen actualizaciones y funciona muy bien, a pesar de que el código este anticuado.

    05.02.04 – Publicado el Toolchain script

    ooPo publica la primera versión de su toolchain script, que automáticamente configura los toolchains, ps2sdk y ps2client.

    27.02.04 – Publicado freesd

    TyRaNiD y Yo (lukasz) trabajamos juntos y publicamos freesd, un sustituto libre de LIBSD.

    02.05.04 – Anunciado PS2SDK

    PS2LIB y PS2DRV se fusionaron en PS2SDK y el proyecto fue anunciado.

    23.04.04 – Anunciado gsKit

    Esta librería gráfica de Neovanglist fue anunciada y mas tarde se convirtió en la librería gráfica mas popular en PS2DEV.

    05.04.04 – Publicada Oddment Demo

    Imagen

    adresd, emoon, jar, raizor y TyRaNiD trabajaron juntos para crear esta demo para Breakpoint 2004. Música de Trinodia. Acabó 7º en la categoría Console/Real Wild. Descargalo aquí

    06.09.04 – Publicado PS2SDK 1.1

    Fue publicada la primera versión actualizada de PS2SDK de forma binaria, nos se publicaron muchas versiones en binario despues de esta. Yo (lukasz) siempre recomiendo compilar PS2SDK, ya que hay muchos cambios desde la última publicación oficial en binario.

    24.10.04 – Publicado OpenVCL

    emoon y chip publicaron su propia variante libre de VCL, una herramienta disponible para los desarrolladores licenciados que permite escribir programas de VU en un lenguaje parecido a C y que podía generar código VU optimizado. Unos meses mas tarde fueron publicados los binarios para Linux y Windows y este proyecto no ha actualizado desde entonces.

    12.12.04 – Publicada PlayStation Portable

    Cuando se publicó la PSP, muchos desarroladores se trasladaron a ella y PS2DEV empezó a ralentizarse.

    23.12.04 – Publicados los binarios de VCL

    Se publicaron los binarios de VCL, una herramienta para escribir código VU en un lenguaje parecido a c. Descargalo aquí

Año 2005

  • El 2005 fue un año verdaderamiente lento para PS2DEV, muchos proyectos fueron actualizados, pero no paso nada importante. 2005 fue el año en que PSPDEV despego y en un corto periodo de tiempo ha demostrado ser mucho mas popular que PS2DEV.09.02.05 – Publicada Llibplanar

    Llibplanar es una librería gráfica de neofar. La librería parece bastante avanzada, no obstante toda la documentación esta escrita en español, por lo que además de ser utilizado en algunos de los proyectos de neofar, Yo (lukasz) nunca he visto mucho uso de esta librería en ningún otro lugar. Website PS2Dev de neofar.

Año 2006

  • 26.01.06 – USBD añadido a PS2SDKDriver USB de cody56 se añade al PS2SDK.

    17.04.06 – Publicada demo 4 Edges Demo

    Demo de The Black Lotus (TBL) publicada en Breakpoint 2006. Demo muy avanzada, mostrando el potencial de PS2DEV. enlace a Poüet

    20.06.06 – Publicado PS2 Racer

    Imagen

    Ps2 Racer de jbit fue el juego que ganó la competición de juegos de PS2DEV.org. Utiliza renderizador VU1 y es muy jugable, Yo (lukasz) recomiendo probarlo. Descargalo aquí, post original de jbit.

    06.11.06 – Publicada PS3

    Cuando se publicó la PS3, la mayoría de los desarrolladores que quedaban en PS2DEV que no cambiaron a la PSP, cambiaron a la PS3. Despues de publicarse la PS3, la PS2 se convirtió en “vieja” y PS2DEV se ralentizó de forma espectacular.

Año 2007

  • 30.08.07 – freepad y freemtap añadidos a PS2SDKfreepad y freemtap son drivers libres del joypad y el multi-tap para el IOP, compatibles PADMAN y MTAPMAN, publicadas por mi mismo (lukasz).

Año 2008

  • 19.05.08 – Publicado Free McBootOriginalmente conocido como “Free OsDatel Boot MC 1.0 BETA” en los foros de PSX-Scene, Free McBoot permite iniciar un ELF directamente desde la memory card. Esto es posible debido a que el OSD busca actualizaciones de si mismo en forma de ELFs cifrados con Magic Gate en la memory card. La gente detras del proyecto Free McBoot fueron capaces de coger un ELF cifrado ya existente e inyectar un pequeño cargador de ELF propio y dejar que el OSD lo cargase como si fuera una actualizacion desde la memory card. Este pequeño cargador de ELF cargaba un ELF sin cifrar desde la memory card o desde un pendrive. Una vez que Free McBoot esta instalado en una memory card, arrancara en cualquier PS2 en la que se inserte, siempre y cuando la PS2 busque actualizaciones en la memorycard. Que creo que todos los modelos de PS2 hasta la publicacion de Free McBoot lo hacen.

    Desde el punto de vista del desarrollo, esto es interesante, ya que no necesitas modificar el hardware de tu PS2 para poder arrancar una herramienta de desarrollo como PS2Link y empezar a trabajar con PS2DEV. La unica desventaja de esta herramienta es que para poder instalar Free McBoot en la memory card, necesitas una PS2 capaz de arrancar el ELF de instalacion. Como alternativa puedes comprar la memory card Datel Memory Plus 64MB que viene con un ELF de actualizacion OSD preinstalado. Utiliza el mismo metodo que Free McBoot para cargar ELFs de una memory card o pendrive USB. El cargador de ELF usado en la memory card de Datel tiene algunas limitaciones y problemas, de los que podras leer mas y obtener una solucion aqui.

Cómo programar para la PS2

Si tienes algún interés en la programación de PS2 tienes las siguientes opciones:

  • Opción 1: Comprar el Official Development Kit
  • Opción 2: Utilizar PS2 Linux
  • Opción 3: Utilizar PS2DEV

Aquí nos centraremos concretamente en la tercera opción. El primer paso es instalar el entorno de desarrollo de PS2DEV que puedes descargar de ps2dev.org o ps2dev.ofcode.com. Tengo pensado colgar en esta web mi instalación personalizada con la última versión que encontré de ps2sdk compilada y puede que con algunas librerías mas.

Cuando consigas instalar, compilar y hacer que funcione correctamente el entorno de desarrollo necesitas una forma de cargar los programas en tu PS2. El método más común para cargar programas en la PS2 es utilizar ps2link, para utilizar ps2link necesitas tener el adaptador de red de la PS2. También existe otro método para cargar programas, utilizando NapLink. Para utilizar NapLink necesitas un cable USB PL-2301 para conectar la PS2 al PC.

Tanto si usas ps2link como NapLink necesitas ejecutar la parte servidor en la PS2 y para ello necesitaras tener instalado un modchip o tener el Independence Exploit.

Yo personalmente utilizo el servidor ps2link y el cliente InLink, con un pequeño programilla que hice para arreglar un fallo que me salía en el InLink.

En la sección de videos encontrarás los pequeños programas que vaya creando y puedes descargarlos para ejecutarlos en tu PS2. 😀

Crea el diseño del USB LOADER 0.3

Buenas, he abierto este hilo por si a alguno os apetece hacerle el diseño a la proxima version del USB LOADER ya que a mi me ha quedado bastante feo XD.

Pues eso, si tienes un diseño o quieres hacer uno, cuando lo tengas postea una foto y votamos entre los que haya o algo.

El diseño actual del USB LOADER 0.3 es este:

Imagen

El fondo tiene que ser un bmp y de las mismas dimensiones.

Si quieres cambiar botones, etc busca informacion sobre el programa USBAstrip.exe

Una novedad sobre esta version esque los marcos de la lista de juegos y el menu son transparentes, por lo que se puede hacer un fondo como he hecho yo aqui.

El resultado quedaria asi:

Imagen

weno a ver si os animais 😀

Un saludo.

Uso básico del desensamblador ps2dis

Ps2dis es un desensamblador diseñado especialmente para los programas de ps2. Con este programa podremos obtener el código en ensamblador de cualquier ejecutable de PlayStation 2 (elf o irx).

El código resultante no podremos recompilarlo. Tampoco podremos extraer el código fuente en lenguaje de alto nivel, en el que fue programado realmente. Pero nos puede ser de utilizad para realizar pequeñas modificaciones como trucos, o alteraciones de cualquier otro tipo.

Para intentar identificar que hace cada parte de código o cual es la parte que queremos modificar se utilizan las etiquetas. Puedes abrir la lista de etiquetas desde el menú Edición > Saltar a etiqueta o pulsando Ctrl+G.

Imagen

En esta ventana aparecerán las etiquetas que haya creado el analizador y las que hayas definido.

Una vez que hayas encontrado una etiqueta relacionada con la parte del programa que quieres modificar, haz doble clic sobre ella y te llevara a la parte del código que estabas buscando. Para encontrar la zona exacta que tienes que modificar puedes seleccionar la etiqueta con la tecla espacio y pulsando F3 te llevara a sus referencias.

A partir de ahí solo queda paciencia e intentar entender el código.

Lista de instrucciones:

ADD — Add
Description: Adds two registers and stores the result in a register
Operation: $d = $s + $t; advance_pc (4);
Syntax: add $d, $s, $t
Encoding: 0000 00ss ssst tttt dddd d000 0010 0000
ADDI — Add immediate
Description: Adds a register and a signed immediate value and stores the result in a register
Operation: $t = $s + imm; advance_pc (4);
Syntax: addi $t, $s, imm
Encoding: 0010 00ss ssst tttt iiii iiii iiii iiii
ADDIU — Add immediate unsigned
Description: Adds a register and an unsigned immediate value and stores the result in a register
Operation: $t = $s + imm; advance_pc (4);
Syntax: addiu $t, $s, imm
Encoding: 0010 01ss ssst tttt iiii iiii iiii iiii
ADDU — Add unsigned
Description: Adds two registers and stores the result in a register
Operation: $d = $s + $t; advance_pc (4);
Syntax: addu $d, $s, $t
Encoding: 0000 00ss ssst tttt dddd d000 0010 0001
AND — Bitwise and
Description: Bitwise ands two registers and stores the result in a register
Operation: $d = $s & $t; advance_pc (4);
Syntax: and $d, $s, $t
Encoding: 0000 00ss ssst tttt dddd d000 0010 0100
ANDI — Bitwise and immediate
Description: Bitwise ands a register and an immediate value and stores the result in a register
Operation: $t = $s & imm; advance_pc (4);
Syntax: andi $t, $s, imm
Encoding: 0011 00ss ssst tttt iiii iiii iiii iiii
BEQ — Branch on equal
Description: Branches if the two registers are equal
Operation: if $s == $t advance_pc (offset = 0 advance_pc (offset = 0 $31 = PC + 8 (or nPC + 4); advance_pc (offset 0 advance_pc (offset > h; advance_pc (4);
Syntax: sra $d, $t, h
Encoding: 0000 00– —t tttt dddd dhhh hh00 0011
SRL — Shift right logical
Description: Shifts a register value right by the shift amount (shamt) and places the value in the destination register. Zeroes are shifted in.
Operation: $d = $t >> h; advance_pc (4);
Syntax: srl $d, $t, h
Encoding: 0000 00– —t tttt dddd dhhh hh00 0010
SRLV — Shift right logical variable
Description: Shifts a register value right by the amount specified in $s and places the value in the destination register. Zeroes are shifted in.
Operation: $d = $t >> $s; advance_pc (4);
Syntax: srlv $d, $t, $s
Encoding: 0000 00ss ssst tttt dddd d000 0000 0110
SUB — Subtract
Description: Subtracts two registers and stores the result in a register
Operation: $d = $s – $t; advance_pc (4);
Syntax: sub $d, $s, $t
Encoding: 0000 00ss ssst tttt dddd d000 0010 0010
SUBU — Subtract unsigned
Description: Subtracts two registers and stores the result in a register
Operation: $d = $s – $t; advance_pc (4);
Syntax: subu $d, $s, $t
Encoding: 0000 00ss ssst tttt dddd d000 0010 0011
SW — Store word
Description: The contents of $t is stored at the specified address.
Operation: MEM[$s + offset] = $t; advance_pc (4);
Syntax: sw $t, offset($s)
Encoding: 1010 11ss ssst tttt iiii iiii iiii iiii
SYSCALL — System call
Description: Generates a software interrupt.
Operation: advance_pc (4);
Syntax: syscall
Encoding: 0000 00– —- —- —- —- –00 1100
XOR — Bitwise exclusive or
Description: Exclusive ors two registers and stores the result in a register
Operation: $d = $s ^ $t; advance_pc (4);
Syntax: xor $d, $s, $t
Encoding: 0000 00ss ssst tttt dddd d— –10 0110
XORI — Bitwise exclusive or immediate
Description: Bitwise exclusive ors a register and an immediate value and stores the result in a register
Operation: $t = $s ^ imm; advance_pc (4);
Syntax: xori $t, $s, imm
Encoding: 0011 10ss ssst tttt iiii iiii iiii iiii

Adjunto el ultimo ps2dis traducido al español. por mucho que lo he buscado no lo encuentro asique como no me ponga a traducirlo otra vez….

Como poner musica personalizada en Ifcaro’s tetris

En la version 1.3 se ha introducido la posibilidad de escuchar tus propios mp3 desde el usb.

Para ello solo hay que crear un archvo config.xml (si quereis que se llame de otra forma me lo decis) en la raiz de la unidad usb.

El archivo tiene que tener el siguiente formato:

CODE: Seleccionar todo

<config>
	<music>carpeta_con_mp3_1</music>
	<music>carpeta_con_mp3_2</music>
</config>

Se supone que se pueden poner hasta 16 carpetas (no esta comprobado). Y no buscará en las subcarpetas (de momento), por lo que hay que ponerle la ruta exacta de la carpeta que contenga los mp3.

Es probable que haya muchos fallos y si alguien encuentra alguno que no dude en decirmelo para que lo corrija.

Como hacer un icono personalizado para la memory

Que se necesita:

El primer paso es crear el modelo 3d que queremos que aparezca en nuestra partida guardada. Tiene que ser algo simple porque de lo contrario aparecerá como datos dañados. Una vez creado lo exportamos para poder abrirlo con MilkShape 3d, en mi caso fue en .3ds

Si no tenemos el plugin instalado copiamos los archivos msPs2Exporter.dll y msPs2Importer.dll en la carpeta donde este instalado Milkshape 3d.

Abrimos el milkshape 3d e importamos el archivo del icono, en mi caso icono3.3ds, y lo exportamos como Ps2 Icon (*.icn).

Imagen

Ahora ya tenemos nuestro icono en el formato de la PS2, pero ¿y como lo metemos dentro de la memory card?

Para que la PS2 muestre el icono que hemos creado necesitamos que el archivo icon.sys apunte hacia el. Si lo que queremos es modificar una partida existente nos bastara con sobreescribir el/los archivo/s *.icn por el nuestro y deberia funcionar. (no esta comprobado si alguien lo comprueba que avise).

Si lo que quieres es modificar una partida ves al paso 2.

1. Crear una partida desde cero:

Para ello necesitamos el programa mcIconSysGen, este nos permitira crear un icon.sys para nuestra partida. En este se puede configurar el nombre de la partida guardada, los iconos, las luces y los colores de fondo. Lo rellenamos a nuestro gusto y guardamos el archivo icon.sys dando al botón OK.

Imagen

IMPORTANTE: Asegurate que el nombre del icono esta escrito exactamente igual que el nombre del archivo ya que diferencia entre mayusculas y minusculas.

2. Meter la partida en la PS2:

  • Utilizando Ps2 Save Builder: Solo tienes que arrastrar los archivos que quieras incluir en la partida y guardarlo para luego importarlo con Action Replay o similares.

Imagen

  • Utilizando uLaunchelf: Creamos una carpeta con el nombre que queramos en la memory card y copiamos alli los archivos de la partida.

Imagen

Espero que el tutorial sea util.

Como empezar a programar con PS2SDK

Desde Windows:
Lo primero que necesitas es descargar los compiladores y las librerias de PS2SDK, proximamente adjuntare un archivo con los que utilizo yo aqui tienes un entorno PS2DEV con el PS2SDK recien compilado ps2dev(01-02-09).rar.

NOTA: Yo lo tengo instalado en C:ps2dev si decides instalarlo en otro sitio tendras que modificar algunas cosillas.

Si todo ha salido bien ya podrás compilar los ejemplos correctamente.

A partir de aqui podrás instalarte las librerias con las que quieras trabajar y empezar con ello.

Yo utilizo una versión modificada de Llibplanar, puedes encontrar la version original en http://ps2dev.ofcode.com/. Cuando termine mi version la publicaré aqui o en https://ps2dev.ifcaro.net.

Desde Linux:
Si has decidido instalar PS2SDK en linux tendras que compilarlo. Para ello existe un script que descarga los archivos, los parchea y los instala.

Situate en la carpeta donde lo quieras instalar (asegurate que no haya espacios en la ruta) y escribe:

CODE: Seleccionar todo

svn checkout svn://svn.ps2dev.org/ps2/trunk/ps2toolchain

Esto descargará los archivos necesarios de svn.ps2dev.org (aqui puedes encontrar todos los proyectos de PS2DEV).

Ahora entra en la carpeta ps2toolchain y escribe:

CODE: Seleccionar todo

chmod a+x ./toolchain.sh

y ejecuta el script

CODE: Seleccionar todo

./toolchain.sh

Ahora espera a que lo descargue y lo compile. Cuando termine tendras instalados los compiladores y la libreria PS2SDK en la carpeta /usr/local/ps2dev.

Para poder utilizarlo necesitas agregar las siguientes variables de entorno:

CODE: Seleccionar todo

## PS2DEV SETTINGS
export PS2DEV=”/usr/local/ps2dev”
export PS2SDK=”$PS2DEV/ps2sdk”
export PATH=”$PATH:$PS2DEV/bin:$PS2DEV/ee/bin:$PS2DEV/iop/bin”
export PATH=”$PATH:$PS2DEV/dvp/bin:$PS2SDK/bin”

Y ahora al igual que en Windows tendrás todo listo para empezar a programar.