› Foros › Retro y descatalogado › PlayStation
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.
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 es mío el parche, qué recuerdos
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.
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.