Ya tenemos claro cual es la finalidad del programa: que abra un archivo de imagen de CD, busque el código de región y pregunte al usuario cual desea establecer (o dejarlo sin modificar). Preguntas varias me asaltan: Dónde está el dato ? Cómo se cuál es ? Como accedo a él ? Respuestas: Pues ni idea, oiga. Toca investigar un poco.
Las imágenes de CDs para esta consola vienen en tres formatos (que yo conozca, pueden haber más): ISO, BIN y MDF. En todos los casos son imágenes del disco compacto, hecho con varias herramientas.
Conociendo el interior del fichero
Para empezar elegimos un juego concreto: Castlevania Symphony of the Night, un juego para Sega Saturn de Konami, que no salió de Japón. Podemos encontrar una pista de audio y la imagen del CD en formato BIN. Tomamos el fichero (con un tamaño de 460 Mb.) y utilizamos una herramienta de edición de ficheros "en bruto", en el caso de KDE tenemos Okteta. Veamos que tiene esto dentro...

A la izquierda los datos en formato hexadecimal, a la derecha en caracteres ASCII, más fácil de comprender para nosotros.
Podemos ver datos interesantes: dos códigos por ahora desconocidos (SEGA TP T-95 y T9527G), la versión del juego (V1.400). la fecha (27 de abril de 1998, en formato añomesdia), tipo de CD (CD-1/1), dos caracteres (dos J) y el título del juego (Dracula X).
Esas dos J son dos códigos de región, el primero corresponde al juego en sí, el segundo es para los periféricos y vamos a ignorar (tenéis mas información de este código aquí).
Para resolver la duda de los códigos que no conocemos podemos ver esta captura del SRP donde veremos como SEGA TP T-95 es el desarrollador del juego (Konami) y T9527G es el número del producto.
Con la misma herramienta, en este caso Okteta, vamos a ver cual es la posición de todos estos datos para que el programa pueda leerlos y escribirlos si fuera menester. Una forma simple (y algo chusca) es contar los caracteres hasta la posición deseada. Siendo el primer carácter el 0 tenemos que:
- El desarrollador empieza en el byte 32.
- El número del producto empieza en el byte 48.
- La versión empieza en el byte 58.
- La fecha empieza en el byte 64.
- El código de región está en el byte 80.
- El título empieza en el byte 112.
En la siguiente entrada vamos a por la primera versión.
No hay comentarios:
Publicar un comentario