PSX Multiboot [Posibilidad?]

Hola gente,
Venia con una duda referente al Multiboot en psx.
Como sabeis circulan algunas copias por Internet de modificaciones varias para este tema, por ejemplo he visto un Multiboot de los tres Crash Bandicoot que tras la pantalla de arranque en la bios te lleva a un bootmenu donde puedes elegír uno de los tres juegos.

Otro ejemplo que he visto es un hack que fusiona los dos discos de Gran Turismo 2 en uno, dando como resultado un solo juego con todo integrado en el menú nativo.

Lo que quería debatir es la posibilidad de hacer lo mismo con otros títulos del mismo estilo como Resident Evil 2 o Metal Gear Solid.


El paso más sencillo a nivel de programación entiendo que sería el bootscreen donde elegiriamos un disco, en el caso de Resident Evil 2 el disco de Leon o el de Claire.

El otro paso que ya requiere programar y hackear, sería el fusionar los dos discos como pasa con Metal Gear Solid en uno solo y que no haga o ni pida el cambio de disco.


Mi interés viene sobretodo por fusionar de alguna forma los dos discos de Resident evil 2 en psx.

Me gustaría debatir con vosotros.

Os voy leyendo, saludos.
trevorbelmont escribió:Lo que quería debatir es la posibilidad de hacer lo mismo con otros títulos del mismo estilo como Resident Evil 2 o Metal Gear Solid.
.

No se puede hacer con esos juegos por que no caben en un solo CD , para meter varios juegos en un CD tienes que buscar titulos que ocupen poco espacio
Había un tutorial en EOL, pero no lo encuentro, creo que esto te vale: https://www.consolecopyworld.com/psx/ps ... rial.shtml

El caso es que no era compatible con todos los juegos como puedes leer ahí, necesitas un formato específico de archivos de lanzamiento o algo así. Y aparte, que lo que quieres grabar quepa en un CD aunque para lograr esto se puede eliminar contenidos o ripear calidades, el problema de los RE2 es que seguramente no te quepan en un solo CD al menos no sin ripear o eliminar cosas porque para que ambos reutilicen los mismos escenarios que tienen compartidos supongo que habría que reprogramarlos.

Pero quizás sí te quepan los dos juegos en un CD eliminando las FMV de los logos de las compañías cuando lanzabas el juego, en PS1 todo eso solían ser vídeos y en muchos juegos ocupaban el doble que el propio juego. No hablo de las FMV del propio juego, esas si es necesario se podría mirar de ripear su calidad, hablo de esto:


Los primeros 35 segundos sobran perfectamente aunque no sé si el logo de PS1 es del disco del juego o de la bios de la consola, pero el logo de Capcom es un vídeo que sobra. Y después si es necesario, hasta el segundo 55 se podría eliminar la intro-presentación del juego. Ambas cosas son por partida doble en ambos discos, es decir casi 2 minutos de vídeo. Y después tienes los créditos finales que son otro vídeo de unos 3-4 minutos en cada disco, ya sólo con estas dos cosas estás ahorrando el espacio de uno 8-10 minutos de vídeo. Que son bastantes megas. Esto ya se hizo, sino recuerdo mal, en los Crash que comentaste tú y en algunos juegos eliminaban la música, etc.
@trevorbelmont

Los ejemplos que comentas implementan dos conceptos fundamentalmente distintos:

1 - El menú de arranque que se ejecuta inicialmente y permite seleccionar qué programa ejecutar.
2 - Fusionar múltiples discos de un mismo juego en uno solo que permita jugarlo de principio a fin sin cambio.

Ten en cuenta que ningún juego de la época se desarrolló desde un principio con la idea de usar múltiples discos, sino que una vez finalizado el desarrollo, y en vista de lo que ocupaban, se dividían en dos, o más.

Por lo tanto, los directorios y ficheros de estos juegos provienen de una jerarquía común a todos sus discos. De hecho, es habitual es que todos los ficheros de un mismo juego estén presente en todos los discos que lo componen, y que sólo aquéllos que carguen en un momento determinado del juego, tengan datos en su disco correspondiente, estando los demás reducidos a cero bytes.

Por ejemplo, si inspeccionas los discos de Final Fantasy VII, verás que todos incluyen la práctica totalidad del contenido del juego... Excepto por las cinemáticas prerrenderizadas. Así, puedes encontrar curiosidades como el modelo 3D de Arma Esmeralda, almacenado en el primer disco del juego!
Esto deja la pregunta: si saltaras todas las cinemáticas prerrenderizadas, ¿podrías jugar de principio a fin usando un único disco?

Pues bien, esta clase de fusiones se consigue reconstruyendo el sistema de ficheros original del juego, incluyendo todos los directorios y ficheros de todos sus discos. Seguidamente es necesario encontrar y parchear el código ensamblador que detecta el disco actual y ejecuta la petición de cambio. Así fue exactamente como fusionamos discos en varios proyectos de RomHacking en los he trabajado.

Obviamente esto tiene sentido únicamente en el caso de un mismo juego con múltiples discos, o en algún otro caso curioso como el que comentas de Gran Turismo, al cual nunca he jugado, pero tu comentario me hace pensar que la segunda entrega es únicamente una "actualización" sobre el mismo engine de la primera.

Sobre la opción del menún de arranque, supongo que es teóricamente posible incluir ambos discos de un mismo juego en diferentes entradas, aunque como ves, no es la opción más óptima para este caso de uso en concreto.

En cualquier caso, es cierto lo que comentan los otros usuarios: si un juego se divide en múltiples discos, es precisamente por la limitación de almacenamiendo de cada uno, y volver a unirlos imposibilitaría jugarlos en hardware original. Sólo se me occuren dos casos en los que esto podría seguir funcionando:

1 - Comprimir los ficheros del juego y parchear su ejecutable para que éste los descomprima. Así fusionamos los dos discos de "Valkyrie Profile".
2 - Algún caso raro donde el juego originalmente cabía a la perfección en un único disco y solamente por motivos de marketing fue lanzado en varios. Creo que este es el caso de "Dragon Quest VII", aunque no lo he comprobado.

Un saludo,

~Sky
SkyNoxt escribió:@trevorbelmont

Los ejemplos que comentas implementan dos conceptos fundamentalmente distintos:

1 - El menú de arranque que se ejecuta inicialmente y permite seleccionar qué programa ejecutar.
2 - Fusionar múltiples discos de un mismo juego en uno solo que permita jugarlo de principio a fin sin cambio.

Ten en cuenta que ningún juego de la época se desarrolló desde un principio con la idea de usar múltiples discos, sino que una vez finalizado el desarrollo, y en vista de lo que ocupaban, se dividían en dos, o más.

Por lo tanto, los directorios y ficheros de estos juegos provienen de una jerarquía común a todos sus discos. De hecho, es habitual es que todos los ficheros de un mismo juego estén presente en todos los discos que lo componen, y que sólo aquéllos que carguen en un momento determinado del juego, tengan datos en su disco correspondiente, estando los demás reducidos a cero bytes.

Por ejemplo, si inspeccionas los discos de Final Fantasy VII, verás que todos incluyen la práctica totalidad del contenido del juego... Excepto por las cinemáticas prerrenderizadas. Así, puedes encontrar curiosidades como el modelo 3D de Arma Esmeralda, almacenado en el primer disco del juego!
Esto deja la pregunta: si saltaras todas las cinemáticas prerrenderizadas, ¿podrías jugar de principio a fin usando un único disco?

Pues bien, esta clase de fusiones se consigue reconstruyendo el sistema de ficheros original del juego, incluyendo todos los directorios y ficheros de todos sus discos. Seguidamente es necesario encontrar y parchear el código ensamblador que detecta el disco actual y ejecuta la petición de cambio. Así fue exactamente como fusionamos discos en varios proyectos de RomHacking en los he trabajado.

Obviamente esto tiene sentido únicamente en el caso de un mismo juego con múltiples discos, o en algún otro caso curioso como el que comentas de Gran Turismo, al cual nunca he jugado, pero tu comentario me hace pensar que la segunda entrega es únicamente una "actualización" sobre el mismo engine de la primera.

Sobre la opción del menún de arranque, supongo que es teóricamente posible incluir ambos discos de un mismo juego en diferentes entradas, aunque como ves, no es la opción más óptima para este caso de uso en concreto.

En cualquier caso, es cierto lo que comentan los otros usuarios: si un juego se divide en múltiples discos, es precisamente por la limitación de almacenamiendo de cada uno, y volver a unirlos imposibilitaría jugarlos en hardware original. Sólo se me occuren dos casos en los que esto podría seguir funcionando:

1 - Comprimir los ficheros del juego y parchear su ejecutable para que éste los descomprima. Así fusionamos los dos discos de "Valkyrie Profile".
2 - Algún caso raro donde el juego originalmente cabía a la perfección en un único disco y solamente por motivos de marketing fue lanzado en varios. Creo que este es el caso de "Dragon Quest VII", aunque no lo he comprobado.

Un saludo,

~Sky


Sobre FFVII y su tamaño, siempre me gustó esta teorización de como llevarlo a N64: https://disruptiveludens.wordpress.com/ ... nt-page-1/
@SuperPadLand

Efectivamente, eliminando tanto cinemáticas como ficheros repetidos, los datos de Final Fantasy VII suman alrededor de 100 MB.

Sin embargo, una cosa que no comentan en el blog, es que son necesarios aproximadamente unos 150MB adicionales de cinemáticas que se superponen a los modelos de campo durante determinados eventos (por ejemplo, los ascensores de Junon, el primer ascenso al Cráter del Norte, o las transiciones de la batalla final). De ser eliminadas éstas, el juego se vería muy raro en esos momentos!

Aunque entiendo que el artículo expone un caso teórico en el que el juego necesitaría bastante desarrollo original y aspectos como estos tendrían que ser reemplazados.

Un saludo,

~Sky
5 respuestas