Etiqueta: PS2DEV

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. 😀

USB Advance desde dentro

Bueno pues hoy me he ha dado por pornerme a enredar con el USB Advance y he conseguido algo que hace tiempo intente pero no consegui, obtener log despues de haber cargado el juego. De esta manera yo tenia pensado buscar algun tipo de error lanzado por algun juego que no funcione. He grabado un video con el log que deja el ICO al cargarse, pero a parte de los modulos no ha aparecido nada interesante

USB LOADER es ahora Open Source

NOTA: ESTE PROYECTO ESTA DESCONTINUADO. NUEVO PROYECTO –> http://bitbucket.org/ifcaro/open-usb-loader

He liberado el codigo fuente del «USB Advance Loader For PS3» bajo licencia GPLv2. La web del proyecto es: http://code.google.com/p/usbld/

================================================
INSTRUCCIONES PARA COMPILAR USB ADVANCE LOADER
================================================ 

Para poder compilar el USB Advance Loader es necesario que realices unas acciones previas.

Primero necesitarás una copia desempaquetada completamente del USB ADVANCE (3MB)

Para «activar» los parches del loader es necesario editar el elf original del USB ADVANCE para que
una vez ejecutado le devuelva el control al loader para que añada sus mejoras.

Para ello necesitamos reemplazar un salto que esta situado en el offset 0x000016e8 por un
JAL al offset de la funcion «parches» del loader.

He programado una pequeña utilidad para parchear el ejecutable conociendo el offset de la funcion
parches. Puedes decargarlo en: https://www.ifcaro.net/ps2dev/archivos/USBADVN_PATCHER.zip

Para conocer cual es el offset de la funcion parches puedes seguir uno de estos metodos:

* Buscar con PS2DIS en nuestro elf una vez compilado (desactivando ee-strip en el makefile)
la funcion ‘_Z7parchesv’ o similar y mirar su offset (en mi caso 0x00800298)

* Ejecutar con PCSX2 (recompilador EE/IOP desactivado) y buscando en el log el texto
«Patches injection en 0x00800298»

* Comentar la llamada a la funcion Reset() en main y utilizar ps2link para buscar en el log
la cadena «Patches injection en 0x00800298»

Ahora el USB Advance le dara el paso al Loader para que le añada las nuevas funcionalidades.

Por ultimo copiar el elf de USB ADVANCE a la carpeta emb renombrado como USBADVN_ok.ELF

NOTA: En el codigo fuente aparecen el nombre de algunos modulos que he extraido del elf del
USB ADVANCE. A estos modulos les he puesto el nombre que se me ha ocurrido en ese momento.

Estos modulos son:

* PARCHE_EE: No es un modulo pero si es un trozo de codigo para el EE que carga justo antes
de lanzar el juego. (Este parche se copia en la dirección de memoria 0x000A8000)

* MSD.IRX: (MASS-DRIVER) Este es el modulo encargado de manegar el filesystem del disco USB.

* RAMDISK.IRX: Es un disco ram para la actualizacion del iop con los modulos del USB ADVANCE.

* CDVDMAN.IRX: Es el reemplazo del driver CDVDMAN para que lea del USB.

* USBLOADER.IRX: Parte para el IOP del USB ADVANCE.

Espero que asi participe mas gente y se pueda mejorar mas

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….

Open PS2 Loader

OPEN PS2 LOADER

IMPORTANTE: Hace mucho tiempo que ya no colaboro en este proyecto pero la gente de psx-scene siguió mejorándolo hasta limites insospechados. Podeis seguir las ultimas actualizaciones en PSX-Scene o en Bitbucket.

Open PS2 Loader comenzó como una extensión del programa USB Advance para que funcionara en las PlayStation 3 con retrocompatibilidad. Actualmente es un cargador de juegos totalmente open source que utiliza un formato compatible con USB Advance. Ademas es capaz de cargar los juegos a traves de la red utilizando el protocolo SMB (solo en ps2).

El codigo fuente original esta basado en el HD Project de http://psx-scene.com y el proyecto sigue vivo gracias a volca, jimmikaelkael, polo35 y izdubar.

Open PS2 Loader ChangeLog:

Version 0.8
————————————————-
Núcleo:

– autenticación segura para el módulo de SMB (para permitir seguridad y acceso de escritura)
– varios ajustes para el SMB (NBSS keep-alive, pequeño aumento de velocidad ingame)
– mejorado el soporte para más dispositivos NAS (WD MyBook, Digitus NAS, …)
– añadido un HDLServer incrustado en OPL para instalar juegos del disco duro
– varias opciones de depuracion (para depurar juegos que fallan)
– añadida compatibilidad para HDD USB externos con clusters de 1k/2k/4k
– añadida compatibilidad completa para PS2 viejas (19k JAP)
– formato ISO añadido tambien para USB (sigue existiendo el limite de 4GB, que no esta presente en SMB)
– nuevos modos de compatibilidad
– modo a prueba de niños (los ajustes estan bloqueados)
– modo alternativo de inicio, para cargar/guardar la configuracion desde el USB y el HDD (sin necesidad de MC)
– añadido nuevo menu para lanzar aplicaciones ELF externas
– añadido soporte para VMC (Memory Card Virtual)
– mejorada la compatibilidad en general (muchos juegos especificos ahora funcionan por primera vez)

GUI:

– nueva GUI rediseñada y multi hilo
– soporte para Caratulas, Iconos y Imagenes de fondo
– interfaz personalizable mediante temas
– añadidas las funciones «renombrar» y «borrar» en la lista de juegos

Version 0.7
————————————————-
– Mejora en el inicio de la red y varios arreglos.
– Añadido soporte para el HDD interno (formato HDL)
– Añadida la posibilidad de elegir menu por defecto (USB, RED, HDD)
– Añadida la posibilidad de usar una ID valida desde un disco para los juegos online.
– Añadido una solucion para el bloqueo con los modchips (puede que no todos)
– Muchas correcciones de compatibilidad con los juegos
– Añadido IGR (In Game Reset) con opcion para desactivarlo en cada juego
– Añadido ordenacion alfabetica
– Cambiados las categorias de configuracion
– Añadido salto de pagina (R1/L1)
– Añadido soporte para archivos de idioma
– Añadido soporte de red para la PS3
– Soporte para temas en Zip
– Añadido soporte para PCMCIA para las 18K

Version 0.6
————————————————-
– Nuevo nucleo para IOP
– Cambiados los modos de compatibilidad
– Añadida compatibilidad con la capa 1 de DVD9
– Mejorada la velocidad para SMB/USB
– Soporte para mas dispositivos NAS
– Soporte para varias particiones

Version 0.5
————————————————-
– Añadidos modos de compatibilidad
– isofs/cdvdman ahora usan el tipo de disco (cd/dvd)
– cdvdman soporta streams
– Añadida carga de juegos a traves de la red
– Interfaz estatica disponible
– Añadido soporte de idiomas
– Funciona en PS3 con emulacion por software de PS2

Version 0.41
————————————————-
– Añadido soporte para temas
– Ahora usa el ultimo driver usb del svn

Version 0.4
————————————————-
– Nueva interfaz
– Nucleo y drivers 100% open source

Version 0.3
————————————————-
– Descontinuado (comienza open usb loader)

Version 0.2b
————————————————-
– Utiliza un modulo USBD libre que lleva embebido.
– Selecciona modo de video

Version 0.2
————————————————-
– Sustituye el reset del Usb Advance por un reset que usa como argumento «rom0:UDNL rom0:EELOADCNF»
– Funciona en PS3 con emulacion por software de PS2

Version 0.1
————————————————-
– Sustituye la funcion ExtraeModulo() en lugar de ejecutarse despues.

Version 0.0
————————————————-
– Versión inicial

Descargas:

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.

Open PS2 Loader

Open PS2 Loader comenzó como una extensión del programa USB Advance para que funcionara en las PlayStation 3 con retrocompatibilidad. Actualmente es un cargador de juegos totalmente open source que utiliza un formato compatible con USB Advance. Ademas es capaz de cargar los juegos a traves de la red utilizando el protocolo SMB.
Tipo:
Aplicación
Plataforma:
PS2
Fecha de inicio:
02-nov-2008
Estado:
Colaborativo