Meter el Driver 2 completo en una sola iso

Hola, estoy haciendo un experimento, a partir de un parche que salió para el CD2 del Driver 2 que anulaba el cd Check y te permitía jugar al juego completo pero sin los videos del CD1.

Estoy intentando meter los videos del CD1 en el CD2 y hacer una iso (aunque sólo funcione en emulador) con el juego completo.

Lo he conseguido en parte, pero los videos me salen sin audio u.u ¿Alguien sabe por qué puede ser? Creo que es algo relaccionado con el Subcode o algo así he leído.

A ver si alguien podría ayudarme.

Hace algún tiempo hice una imagen del residen evil 3, y la hice mal, dando como resultado que los videos no sonaban, pero no me a vuelto a pasar hasta ahora...
Has downsampleado los videos? Quizás sea eso. Si cogiste los videos originales y no los modificastes, es raro.

En caso que lo tengas downsampleado los videos... cuanto te ocupa? Es curiosidad, lo digo porque existen CD's de 900Mb, que si la DC los pilla, supongo que la PSX también xD
pues ocupa 966 MB, si alguien sabe downgradearlos alomejor se pueden meter en un cd de 700MB o algo...

Como te digo, no es un fallo tan extraño... hace poco me "conseguí" unas isos del Fear Effect PAL y los vídeos tampoco suenan... u.u

Por supuesto en las isos originales que estoy usando en Driver 2 los vídeos sí que tienen sonido. Yo los he copiado tal cual sin cambiarlos.
Seguramente es porque has copiado los vídeos "a pelo". Si los has sacado con el explorador de windows, o de una forma similar, estás perdiendo parte de la información, que son 4 bytes duplicados del sector que hay justo antes de los datos y que no pertenecen al vídeo en sí, lo que se conoce como subheader (imagino que es lo que llamas subcode).
Los cogí con el ultraiso y los extrage. ¿Cómo debo hacerlo?
weirdzod escribió:Hola, estoy haciendo un experimento, a partir de un parche que salió para el CD2 del Driver 2 que anulaba el cd Check y te permitía jugar al juego completo pero sin los videos del CD1.


Hola [+risas] es mío el parche, qué recuerdos [carcajad]

Ya intenté eso que comentas, pero al pasarse del máximo de Megas de un CD no funcionaba bien, y no le dediqué más.
Bueno, esto es un poco rollazo, aunque sin el "poco", así que la mayoría que lo ignore directamente. Voy a intentar explicarlo de forma sencilla.

El problema de esos programas es que no están pensados para ese tipo de ficheros, por mucho que lo parezca. Los CD de PSX, al contrario que en otros sistemas, pueden llevar dos tipos de sectores, unos de 2048 bytes (los llamados MODE2 FORM1) y otros de 2336 bytes (los llamados MODE2 FORM2). Ahí es donde está el problema. La mayoría de los ficheros en un juego de PSX son del tipo FORM1, y con esos no hay ningún problema para extraerlos, insertarlos y lo que quieras, pues los datos del fichero están como en cualquier CD, excepto unos bytes que no vienen a cuento. Los FORM2 normalmento los sacas y los programas, al meterlos, lo hacen como si fueran FORM1, aunque normalmente no pasa nada, únicamente que parece que ocupan más, pues antes en un sector metías mas información y ahora hay que repartir esa misma información en más sectores. El problema está en algunos ficheros de vídeo, que mezclan sectores de ambos tipos y cuando los lees con el explorador, o con el UltraISO, al menos en las versiones que yo usaba, sólo te los lee como si fueran del tipo FORM1, de los de 2048 bytes. Esos vídeos, para comprenderlo mejor, llevan varios sectores FORM1 con el vídeo, o sea, la imagen, seguidos de un sector FORM2 con el audio, que es el que leerá mal, cortándolo, pues leerá 2048 en vez de 2336.

Coge el disco 1, por ejemplo. Miras el LBA que te indica para un vídeo, por ejemplo, RENDER0.STR, que es 66181 (ojo, que hay varias versiones del juego y puede que no coincida ese número). Lo multiplicas por 2352, que es el tamaño real del sector incluyendo datos de fichero y datos de control, y así sabes dónde comienza el vídeo. Con cualquier editor hexadecimal te vas a esa dirección y echas un vistazo. Siempre verás que cada sector comienza por 00-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-00, que son datos de sincronización. Luego vienen 4 bytes con la posición del sector y el modo. Después de esos 16 bytes vienen los 4 de subheader, donde verás que pone 01-01-48-00 (lo pone dos veces). El 48 indica que es un sector FORM1 de datos, aunque sea un vídeo. Si miras los sectores siguientes verás que aparecen 15 sectores con esa misma subheader pero el 16, que es el que corresponde al audio, tiene 01-01-64-05. Ahora ese 64 indica que es un sector FORM2 y de audio. Ahí está el problema.

Si extraes el fichero y lo miras con un editor verás que esos 24 bytes iniciales no los copia (16+4+4), sólo copia los 2048 bytes que estaban después, y cuando llega al sector de audio, en vez de coger los 2336 bytes, coge sólo 2048. Cuando vas a meter ese fichero en otra ISO, el programa no sabe, ni le interesa, lo que lleva ese fichero, asumiendo que son datos, nada de vídeo o audio, y lo graba en sectores de 2048 bytes en FORM1. Si miras en la nuevo ISO el fichero (como he explicado antes, tomando el LBA y multiplicando por 2352), verás que la subheader ahora será 00-00-08-00 siempre, o sea, sectores FORM1 de datos.

Además, si te fijas, verás que los datos de cada sector comienzan por una secuencia determinada, 60-01-01-80, que es lo que indica que es parte del vídeo. El sector de audio no lo lleva, así que se ignora. Por eso no escuchas nada.

NOTA: los bits de ese tercer byte que nos interesan son, numeranbdo de 0 a 7 a partir de la derecha:
- bit 1 a 1 para indicar vídeo
- bit 2 a 1 para indicar audio
- bit 3 a 1 para indicar data (de los bits 1-2-3 sólo puede estar uno activo)
- bit 5 a 1 para indicar que es FORM2, a 0 para indicar FORM1

Para meter bien esos ficheros puedes usar el Xtractor.net de Gemini que se baja desde http://www.romhacking.it/?p=tools.php (es el último de todos). No funciona con todos los formatos de vídeo, pero creo que valdrá para tu caso. Eso sí, si tienes dudas tendrás que preguntarle a él, que yo nunca lo he utilizado.

Sobre otras cosas que se comentan: Lamentablemente, los lectores de PSX son bastante penosos. Hay muchos modelos, y puede que alguno te lea CDs de 80 minutos, los normales de 700MB, pero no todos, así que lo mejor es limitarse a clásico formato de 74 minutos, los de 650MB. Eso quiere decir que sea cual sea la capacidad que uses, no grabes más de 650MB para no tener problemas, que ya ha habido casos en los que ha pasado. Tampoco sé con seguridad si los accesos de la consola a la BIOS permiten acceder más allá de ese valor.
largeroliker escribió:
weirdzod escribió:Hola, estoy haciendo un experimento, a partir de un parche que salió para el CD2 del Driver 2 que anulaba el cd Check y te permitía jugar al juego completo pero sin los videos del CD1.


Hola [+risas] es mío el parche, qué recuerdos [carcajad]

Ya intenté eso que comentas, pero al pasarse del máximo de Megas de un CD no funcionaba bien, y no le dediqué más.


Hola n.n muchas gracias por encontrar ese "fallo" en el juego. Me fué muy útil.

anonimeitor escribió:
Bueno, esto es un poco rollazo, aunque sin el "poco", así que la mayoría que lo ignore directamente. Voy a intentar explicarlo de forma sencilla.

El problema de esos programas es que no están pensados para ese tipo de ficheros, por mucho que lo parezca. Los CD de PSX, al contrario que en otros sistemas, pueden llevar dos tipos de sectores, unos de 2048 bytes (los llamados MODE2 FORM1) y otros de 2336 bytes (los llamados MODE2 FORM2). Ahí es donde está el problema. La mayoría de los ficheros en un juego de PSX son del tipo FORM1, y con esos no hay ningún problema para extraerlos, insertarlos y lo que quieras, pues los datos del fichero están como en cualquier CD, excepto unos bytes que no vienen a cuento. Los FORM2 normalmento los sacas y los programas, al meterlos, lo hacen como si fueran FORM1, aunque normalmente no pasa nada, únicamente que parece que ocupan más, pues antes en un sector metías mas información y ahora hay que repartir esa misma información en más sectores. El problema está en algunos ficheros de vídeo, que mezclan sectores de ambos tipos y cuando los lees con el explorador, o con el UltraISO, al menos en las versiones que yo usaba, sólo te los lee como si fueran del tipo FORM1, de los de 2048 bytes. Esos vídeos, para comprenderlo mejor, llevan varios sectores FORM1 con el vídeo, o sea, la imagen, seguidos de un sector FORM2 con el audio, que es el que leerá mal, cortándolo, pues leerá 2048 en vez de 2336.

Coge el disco 1, por ejemplo. Miras el LBA que te indica para un vídeo, por ejemplo, RENDER0.STR, que es 66181 (ojo, que hay varias versiones del juego y puede que no coincida ese número). Lo multiplicas por 2352, que es el tamaño real del sector incluyendo datos de fichero y datos de control, y así sabes dónde comienza el vídeo. Con cualquier editor hexadecimal te vas a esa dirección y echas un vistazo. Siempre verás que cada sector comienza por 00-FF-FF-FF-FF-FF-FF-FF-FF-FF-FF-00, que son datos de sincronización. Luego vienen 4 bytes con la posición del sector y el modo. Después de esos 16 bytes vienen los 4 de subheader, donde verás que pone 01-01-48-00 (lo pone dos veces). El 48 indica que es un sector FORM1 de datos, aunque sea un vídeo. Si miras los sectores siguientes verás que aparecen 15 sectores con esa misma subheader pero el 16, que es el que corresponde al audio, tiene 01-01-64-05. Ahora ese 64 indica que es un sector FORM2 y de audio. Ahí está el problema.

Si extraes el fichero y lo miras con un editor verás que esos 24 bytes iniciales no los copia (16+4+4), sólo copia los 2048 bytes que estaban después, y cuando llega al sector de audio, en vez de coger los 2336 bytes, coge sólo 2048. Cuando vas a meter ese fichero en otra ISO, el programa no sabe, ni le interesa, lo que lleva ese fichero, asumiendo que son datos, nada de vídeo o audio, y lo graba en sectores de 2048 bytes en FORM1. Si miras en la nuevo ISO el fichero (como he explicado antes, tomando el LBA y multiplicando por 2352), verás que la subheader ahora será 00-00-08-00 siempre, o sea, sectores FORM1 de datos.

Además, si te fijas, verás que los datos de cada sector comienzan por una secuencia determinada, 60-01-01-80, que es lo que indica que es parte del vídeo. El sector de audio no lo lleva, así que se ignora. Por eso no escuchas nada.

NOTA: los bits de ese tercer byte que nos interesan son, numeranbdo de 0 a 7 a partir de la derecha:
- bit 1 a 1 para indicar vídeo
- bit 2 a 1 para indicar audio
- bit 3 a 1 para indicar data (de los bits 1-2-3 sólo puede estar uno activo)
- bit 5 a 1 para indicar que es FORM2, a 0 para indicar FORM1

Para meter bien esos ficheros puedes usar el Xtractor.net de Gemini que se baja desde http://www.romhacking.it/?p=tools.php (es el último de todos). No funciona con todos los formatos de vídeo, pero creo que valdrá para tu caso. Eso sí, si tienes dudas tendrás que preguntarle a él, que yo nunca lo he utilizado.

Sobre otras cosas que se comentan: Lamentablemente, los lectores de PSX son bastante penosos. Hay muchos modelos, y puede que alguno te lea CDs de 80 minutos, los normales de 700MB, pero no todos, así que lo mejor es limitarse a clásico formato de 74 minutos, los de 650MB. Eso quiere decir que sea cual sea la capacidad que uses, no grabes más de 650MB para no tener problemas, que ya ha habido casos en los que ha pasado. Tampoco sé con seguridad si los accesos de la consola a la BIOS permiten acceder más allá de ese valor.


O.o Vaya, es mas complicado de lo que imaginaba. A ver si me entran fuerzas para intentarlo.

Muchas gracias por tu detallada explicación, la verdad tenía muchas ganas de saber el por qué de este problema.
En teoría no es nada complicado si sabes cómo se estructura un CD y conoces cómo van los datos. Yo hice algo parecido con varios juegos de Tri-Ace, Valkyrie Profile y Star Ocean, juntando los dos CDs de cada juego en una única imagen, aunque nunca pude soportar más de 10 minutos cada juego, por lo que no pude probar el final para ver cómo funcionaban en emulador y en consola. Me comentaron que en esta última el Valkyrie daba algún problema el vídeo final, justo el que estaba al terminar los datos del CD, si no recuerdo mal, que hacía que se pasara 3-4 megas del tamaño del CD normal.

Me acuerdo también que recibí críticas por lo de siempre, que llega el troll de turno diciendo que eso es imposible, a pesar de que puse el programa para descarga, por lo que cualquiera podía haberlo probado. Pero ni por ésas, parece que algunos no espabilan y prefieren comportarse como trolls ignorantes antes de dar su brazo a torcer. Justo lo mismo que pasa cuando se dice que se tienen menos problemas al grabar un juego a la mínima velocidad.

La verdad es que son muchos juegos los que se podrían "juntar" en una sóla imagen, y puede que en emulador funcionen, pero habría que probarlos. También puede que funcionasen al pasarlos a PSP. En ambos casos funcionarían, si es que lo hacen, porque no es lo mismo el acceso emulado a una unidad lectora que el acceso real. Ya he visto en varias ocasiones cómo hay cosas que funcionan en un emulador pero en la consola real producen un crash.

Si antes de navidades tengo tiempo, intento meter el Driver 2 en una sóla imagen, pero no te garantizo nada.
Bueno el star ocean hay problemas mayores en psx de que sean 2 discos, el bug de la cave of trials que aleatoriamente se cuelga en combate, que en el de psp lo arreglaron xd
¿Cómo puedo saber qué LBA poner para meter los videos del cd1 al cd2 uno a uno con el Xtractor? Supongo que se les podrá meter con algún valor para que se queden al final de la iso sin sustituir ningún archivo de los que ya están.
El UltraISO mismo te lo dice.
[ayay] [ayay] [ayay] [ayay] [ayay] [ayay] [ayay] [ayay] [ayay] [ayay]

Qué va, no soy capaz de insertarlos u.u

Si puede ser que alguien averigüe cómo insertar un video y me diga cómo es, y ya me encargo yo de insertar el resto...
Hay una solución si eres un poco "apañado". La puedes ver AQUÍ (me parece ridículo copiar un post de otro lado para ponerlo aquí, así que doy el enlace).
Muchas gracias por toda la info, pero me temo que lo tengo que dejar por imposible... soy un inútil...
16 respuestas