Módulos IRX en PlayStation2

Los módulos IRX están presentes en todos los títulos de PS2 y contienen código para la interfaz de hardware. Estos son cargados como un driver o controlador para cada uno de los periféricos de entrada o salida, aquí nos enfocaremos en la función que realizan sobre los controles. Principalmente podemos encontrar 4 tipos y cada uno ofrece una determinada compatibilidad:

IRX PS1 (DIGITAL) PS1 (DS1) PS2 (DS2)
ds1u.irx
ds1o.irx No
ds2u.irx
ds2o.irx No No

En los títulos singleplayer puede aparecer la letra s1 añadida para asignar el primer mando: ds1u_s1.irx, ds2u_s1.irx, ds1o_s1.irx ó ds2o_s1.irx.

Mientras en los títulos multijugador puede aparecer la letra "d" añadida para asignar el segundo mando: ds1u_d.irx, ds2u_d.irx, ds1o_d.irx ó ds2o_d.irx.


📊 Censura dependiendo del título

Según nuestra investigación:
- En ds2u_ funcionan todos los mandos (ps1 y ps2).
- En ds2o_ se bloquean los mandos ps1 (de forma intencionada).

En consecuencia, otra observación que hemos podido realizar es que si reemplazamos (ver tutorial) aún puede existir un "bloqueo secundario" adicional que deba vencerse. Este "segundo bloqueo" por llamarlo de alguna forma, según hemos debatido con otros usuarios de la comunidad PS2 debe estar presente en el SLUS/SLES al cual se realiza una llamada que verifica el tipo de control.

Al igual que con la actualización a libpad2, abandonaron PADMAN y en su lugar comenzaron a usar este módulo DS2O. Me limitaría a simplemente invertir el ejecutable principal e intentar localizar las funciones del SDK responsables de identificar un DS2. Técnicamente es posible hacer esto en los módulos IOP, pero básicamente necesitarás modificar el módulo para que siempre responda con las cargas útiles que haría un DS2, incluso si el control es solo de PS1. Intentar parchear el módulo IOP para alterar los datos del pad, pretendiendo que siempre es un DS2 sería la solución, sin embargo en realidad puede ser la ruta más complicada.

Una alternativa sería parchear el ejecutable principal en el EE para que deje de leer los valores de presión si es que lo hace y no ordenarle al pad que entre en el modo de presión, no verificar si el pad admite el modo de presión y no bloquear el progreso del juego. https://github.com/chaoticgd/ghidra-emotionengine-reloaded/releases


(c) Creative Commons Internacional.✍ Redactado por 𝓙𝓸𝓼𝓮 y 𝓙𝓪𝓲𝓻𝓸

Publicar un comentario

0 Comentarios