=-[ Ripping CD's DreamCast ]-================================================
=-[ por inetd ]-YRETOCAKO=============================================================
1.0 Introducción.
1.1 Preparación del lector.
2.0 Herramientas.
2.1 CDRWin
2.2 GD Toc Reader.
2.3 Extract
2.4 Isofix
2.5 Isobuster
3.0 Tocs de 122 minutos.
3.1 Toc de datos.
3.2 Toc de audio.
4.0 Explicación del metodo.
4.1 Extracción de la tabla de contenidos.
4.2 Extracción de la pista de datos.
4.3 Extracción de las pistas de audio.
4.4 Extracción del ip.bin
5. Reflexiones finales.
1.0 Introducción.
Este metodo consiste en un "swap-trick" del estilo del que se usaba en la Saturn o en la PSX antes de que apareciese el chip, basicamente consiste en engañar al dispositivo para que no se de cuenta de que hemos cambiado de cd cuando si lo hemos hecho, en nuestro caso sera el lector de CD.
Los GD-ROMs no son mas que CDs normales con una densidad de datos mas alta, es decir los datos estan grabados mas juntos, pero no estan hechos de ningun material
especial o grabados de alguna manera distinta a lo que estaria un cd-r normal, ¿como se consigue entonces el gigabyte de capacidad? facil, eliminando la corrección de errores y la redundancia, esto hace que para almacenar un byte de información se utilice solamente un byte de espacio en el disco.
Al ser los GDs discos compactos normales y corrientes, es bastante factible que un lector de CD/DVD se capaz de leerlos sin problemas como veremos mas adelante.
1.1 Preparación del lector.
Para emplear este metodo necesitaremos un lector de CD-R que no nos importe romper, compra un lector de gama media que sea capaz de leer sin problemas
cd-rw y cds de 80 minutos, con extracción digital de audio, aunque esto no lo
he probado, un lector de DVD deberia hacerlo mejor aun, ya que el laser de un DVD
de autoajusta para leer diferentes formatos, el lector que estoy usando yo es un
Artec 50x, otro modelo que funciona es el Acer 32x.
Bien, una vez que nos hemos hecho con un lector, necesitamos adecuarlo, lo primero
que tenemos que hacer es quitarle la carcasa, tanto la placa inferior, como la carcasa superior, y liberar la bandeja si es necesario, liberar la bandeja significa quitar el
platico embellecedor que suelen traer algunos lectores en la parte frontal y que hace
de "boca" de donde entra y sale la bandeja.
Una vez que tengamos el lector "desnudo", retiramos el fijador magnetico que se encarga de fijar y centrar el cd dentro del lector, en el caso del Artec 50x es una chapa que atraviesa el lector de extremo a extremo con un circulo en el centro, este circulo esta imantado, bien, quitamos los tornillos y dejamos libre esta placa, que sea
facilmente retirable. Ya tenemos el lector preparado, no hace falta decir que debemos
tener acceso total a la parte superior del CD, por lo que no lo vamos a meter en una
bahia de 5 1/4 de nuestra minitorre.
2.0 Herramientas.
A continuación voy a describir las herramientas necesarias para extraer los ficheros de
un GDROM, en este apartado simplemente voy a explicar un poco en que consiste cada herramienta, el uso especifico de cada una lo explicare en el momento en que tengamos que usarla.
2.1 CDRWin
Probablemente el mejor software de grabación de CDs que existe, es la base del metodo, lo usaremos para leer el GDROM, utilizaremos este y no otro software para leer el GDROM debido a la opción de extraer sectores.
2.2 GD TOC Reader.
Este programa, creación de Yursoft es utilizado para a partir de un ip.bin, o de una
imagen iso conteniendo la toc de un GDROM averiguar donde empieza y donde acaba
cada pista dentro del disco. De maxima utilidad.
2.3 Extract.
Con esta utilidad seremos capaces de apartir de una imagen iso, sea cual sea y su
toc extraer los ficheros especificados en esta ultima.
2.4 Isofix.
Esta herramienta nos sera de mucha utilidad si hemos sido capaces, caso bastante raro, de sacar una imagen completa del GDROM aunque sea en dos partes, lo que hace esta utilidad es asignar valores LBA a una imagen.
2.5 Isobuster.
Por si alguien aun no sabe lo que hace esta herramienta lo explico un poco, extrae
los ficheros individuales de un monton de formatos de imagen, incluidos los .iso, en
nuestro caso hace la misma función que extract.
3.0 Tocs de 122 minutos.
Bien, como he explicado antes, el metodo consiste en un swap-trick, necesitamos
engañar al lector para que se crea que lo que esta leyendo es un CD y no un GDROM,
un GDROM ocupa un gigabyte de información, 549150 sectores y 122 minutos, y su
estructura de pistas es la siguiente:
pista de datos dummy (sectores 0-x)
pistas de audio (sectores x-y) (puede que no haya ninguna)
pista de datos validos (sectores y-549150)
despues de ver esta estructura de pistas, y teniendo en cuenta de que el maximo de un cdrom normal son 80 minutos, nos podemos desesperar un poco, ya que nunca llegariamos a extraer los sectores validos, donde realmente estan los datos.
Esto tiene solución, las imagenes de CloneCD traen un fichero .ccd que es el equivalente a un .cue de cdrwin, es decir indica donde empieza y acaba cada pista dentro de un CD, bien este fichero es modificable con un editor de texto normal y corriente, por lo que con un poquito de inteligencia, seremos capaces de variar ciertos datos y convertir una toc de 74 minutos en una toc de 122.
Junto con este tutorial, se incluyen los ficheros necesarios para crear una toc de
datos y una toc de audio de 122 minutos, pero es interesante saber como se modifica
la toc para conseguirlo.
3.1 Toc de datos.
Para crear una toc de datos, necesitamos tener una imagen Mode 1 hecha con CloneCD, las imagenes de CloneCD se componen de tres ficheros un .ccd, un .img y un .sub, el que nos interesa es el primero de todos, que a pesar de la extensión no es mas que un fichero .ini de windows, el fichero esta dividido en secciónes, las dos primeras relativas a la versión del software y a la estructura del disco, y a continuación tenemos tantas secciones como entradas tenga la imagen, la que nos interesa en la entrada número 2 y mas concretamente el campo PLBA de esta entrada, debemos modificar el valor de ese campo y cambiarlo a 549150 que es el número exacto de sectores que tiene un GDROM. Deberia quedar algo como esto:
[Entry 2]
Session=1
Point=0xa2
ADR=0x01
Control=0x04
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=122
PSec=4
PFrame=01
PLBA=549150
Una vez que hayamos modificado el .ccd quemamos la imagen con CloneCD. Este nos advertira de que la toc de esa imagén no es correcta y nos ofrecera la posibilidad de
arreglarla o mantenerla intacta, es evidente que debemos decirle que siga usando esa
toc sin hacer absolutamente ninguna modificación sobre ella, vamos que se guarde sus fixes para otra vez.
Cuando hayamos estampado la imagen, ya tenemos un "cd trampa" que nos permite leer hasta el sector 549150 por lo que podremos extraer hasta el GD completo.
3.2 Toc de audio.
Evidentemente con la imagen que hemos generado en el punto anterior, solo podemos
extraer datos en Mode 1 (2048), ahora necesitamos un "cd trampa" para extraer el
audio, el proceso y las modificaciones son excatamente las mismas, pero con una imagen de Clone CD con formato Audio.
4.0 Explicación del metodo.
Una vez que tenemos las dos tocs modificadas, el cdrwin, y el resto de herramientas podemos empezar a ripear algun GD, las pruebas que yo hice las hice con el DreamON 10 un disco de demos de los que regala SEGA.
Antes de nada, debemos colocar nuestro lector de manera que tengamos facil acceso
a él, una vez que tenemos el sistema montado, el windows funcionando, el lector reconocido, podemos empezar el proceso.
4.1 Extracción de la tabla de contenidos (TOC).
Este es un paso basico para el resto del proceso, consiste en crear una imagen que contenga los 500 primeros sectores, en ellos esta contenida la TOC del GDROM, para ellos haremos lo siguiente, metemos en el lector nuestro "cd trampa" de datos, arrancamos CDRWin, elegimos la tercera opción, "Extract Disc/Tracks/Sectors", le damos al boton TOC y leemos la tabla de contenidos del "cd trampa", mientras termina
de girar el CD elegimos las siguientes opciones:
- Modo de extracción: Select sectors.
- Image filename: la que quieras, por ejemplo toc.iso
- File format: Automatic
- Star sector: 45000
- End sector: 46000
- Datatype: Data Mode 1 (2048)
- Error recovery: Abort
- Jitter Correction: Auto
- Data Speed: 4x
- Audio Speed: 4x
- Read Retry Count: 0
- Subcode Threshold: 300
Despues de fijar estas opciones, nos deberia quedar una configuración de CDRWin como la que se muestra en la imagen:
Una vez que tenemos el CDRWin configurado tenemos que esperar a que el lector
pare el motor y el cd que tenemos metido, deje de girar. Una vez que el motor ha dejado de girar retiramos la parte metalica de encima del cd que esta imantada,
retiramos el "cd trampa" y colocamos el GDROM que queramos leer, colocamos otra
vez encima el protector/fijador metalico y empezamos a extraer, si todo va bien,
el CD no debe hacer ruidos y al poquito tiempo debemos tener una imagen de mas o menos 2Mbs.
Una vez que hemos extraido la imagen con la toc debemos averiguar donde empieza y acaba cada pista para poder extraer exactamente las pistas de audio y de datos, para ello, abrimos la imagen que hemos generado con el programa GD TOC Reader, deberiamos ver lo siguiente:
Como vemos tenemos tres pistas, una primera pista de datos que NO sirve para nada, es un dummy file para obligar a los datos a que esten al final del disco, una segunda pista de audio y una pista de datos al final del disco, que es la que realmente contiene los ficheros del juego, en este caso, los sectores clave son el 227454 que es el inicio de la pista de datos y el 549150 que es final de la pista de datos y del GDROM, con estos datos ya sabemos donde empezar a extraer los datos sin temor a
equivocarnos.
IMPORTANTE: No cambies el CD hasta que el motor no se haya parado completamente.
4.2 Extracción de la pista de datos.
Una vez que sabemos el sector de inicio de la pista de datos, lo unico que tenemos que hacer es poner a extraer el CDRWin desde ese sector hasta el final del disco, no se porque, pero si la pista de datos empieza antes del sector 370000 mas o menos hay que partirla en dos trozos o el lector no sera capaz de extraerla hasta el final, en este caso partimos la imagen en un trozo que va del 227454 al 369999 y otro trozo
que va del 370000 al 549150, para extraer estas dos imagenes usamos las mismas opciones que utilizamos antes para extraer la tabla de contenidos, al igual que antes, si el GDROM no hace ruidos al extraer todo va bien, si somos capaces de extraer hasta el sector 549150 ya esta casi todo hecho.
Tenemos dos imagenes .iso sin tabla de contenidos y ademas separadas, no parece un panorama muy esperanzador, esto se arregla uniendo las dos imagenes y usando como toc de la imagen resultante, la que tenemos almacenada en la primera iso que
extragimos, para unir ambas imagenes usamos un comando simple de msdos, el copy
de toda la vida con la siguiente sintaxis:
copy /b trozo01.iso+trozo02.iso imagen.iso
despues de un ratito, tendremos una sola imagen en imagen.iso. Seguimos sin tener tabla de contenidos, por lo que no podemos extraer los ficheros con Isobuster, lo que vamos a hacer es usar la herramienta extract que nos permite utilizar una toc alamacenada en una imagen y aplicarsela a otra imagen, utilizamos la siguiente sintaxis:
extract toc.iso imagen.iso 227604 (227454+150)
este comando empezara a sacar todos los ficheros de la iso que contiene la imagen
de datos que extragimos antes, debemos ponerle 150 sectores mas ya que extract no cuenta los 150 sectores de la tabla de contenidos.
Cuando termine de ejecutarse extract debemos tener una carpeta con todos los ficheros del GDROM, en la imagen se ve la carpeta resultante de la extracción de los
ficheros del DreamON10.
Ya esta, ya hemos sacado todos los ficheros del GDROM, solo nos quedan, en caso de
que las hubiese las pistas de audio, el proceso es si cabe mas sencillo aun que la pista
de datos.
4.3 Extracción de las pistas de audio.
Una vez que tenemos los datos del GD que estemos rippeando, podemos empezar a sacar las pistas de audio, para ello, necesitamos apuntarnos, donde empieza y donde acaba cada pista de audio, usando el GD TOC Reader, una vez que tenemos el inicio y el final de todas las pistas de audio, podemos empezar a extraerlas, para ello, tenemos que usar el "cd trampa" de audio, sacamos el GDROM, metemos el "cd trampa" de audio y el decimos al CDRWin que lea la tabla de contenidos, cuando el lector pare el motor y el cd se haya parado completamente, cambiamos el "cd trampa" por el GDROM de nuevo y cambiamos las siguientes opciones en el CDRWin:
- File Format: WAVE
- Jitter correction: Auto
- Datatype: Audio (2352)
Ponemos los sectores de cada pista y vamos extrayendo las pistas de forma individual, cuando terminemos tendremos tantos ficheros .wav como pistas de audio hubiese en el GDROM.
4.4 Extracción del ip.bin.
Casi hemos terminado, en este punto solo nos queda extraer el ip.bin, este fichero es la secuencia de arranque (bootstrap) de todos los juegos de Dreamcast, indica que fichero es el primero que se tiene que ejecutar, la compatibilidad de mandos y modos de video, fabricante del juego y alguna cosilla mas, este fichero es indispensable para el funcionamiento de cualquier juego de Dreamcast, si tenemos suerte, el fichero aparte de estar insertado en el arranque del juego, se encontrara como un fichero mas dentro de los que hemos extraido anteriormente, si no, tendremos que extraerlo.
Aunque no es la función principal de isofix este programa al ser aplicado sobre la imagen que contiene la toc del juego, nos extrae el ip.bin a un fichero llamado
boot.bin, cuando arrancamos este programa, nos pregunta dos cosas, en primer lugar, la imagen que queremos parchear, y en segundo lugar, el valor LBA desde el que tiene que empezar a parchear, este ultimo es el 45000, cuando termine de ejecutarse isofix tendremos dos ficheros, un tmp.iso que no nos interesa y un boot.bin, que debemos renombrar a ip.bin y usarlo como secuencia de arranque del
CD que vayamos a estampar.
5. Reflexiones finales.
¿Ya esta?, ¿Hemos acabado?, ¿Ya somos 31337?, no, solo hemos acabado la parte mas facil, la de extraer de un GDROM sus datos, ahora queda mucho por delante, probablemente los datos ocupen mas de un CD de 80 minutos, por lo que tendremos que bajar de calidad el video y el audio, una vez que hayamos conseguido esto, aun nos queda hacer un CD autobootable usando el ip.bin que extragimos, en otra ocasión y cuando tenga ganas, ampliare este tutorial con mas información