jueves, 19 de abril de 2018

Modificando la Dreamcast (VI): Doble BIOS, teoría

Entradas relacionadas:


Debería seguir con la realización práctica de las salidas de vídeo pero las voy a dejar para el final con el fin de ubicar a la vez todos los componentes adicionales como interruptores y conectores.

Hay una manera de modificar solo la región y el idioma de la máquina desbloqueando una pequeña memoria en la que se guarda la configuración regional, luego se pasa un programa para modificar estos valores, y por último hay que bloquear otra vez el chip para evitar que desde un juego puedan sobreescribirlo, dejando la consola bloqueada. Como este MOD esta superado con el cambio de BIOS no voy a abordarlo, pero podeis verlo por ejemplo aquí.

Los rusos son muy aficionados a la Dreamcast y en la página www.dc-swat.ru sacaron un programa que permite realizar cambios en la máquina, simplemente leyendo un CD y ejecutando el programa denominado DreamShell. Una vez arrancado el programa puedes modificar la región, activar la lectura de las tarjetas de memoria, la lectura del disco duro o incluso cargar copias de seguridad directamente, e incluso algunas cosas adicionales, pero esto solo estará activo mientras no se apague la máquina por lo que es necesario cargar el programa cada vez que arranca la máquina. Para que este cambio sea permanente es posible cambiar la BIOS original por una que incorpora ya estas utilidades, de forma que cuando arranque la máquina ya esté todo disponible.

Hay dos maneras de modificar la BIOS, una es reemplazarla por completo por otra, pero esto implica grabar la BIOS antes de ubicarla para lo que necesitas un grabador y no merece la pena. El mejor cambio posible es colocar una segunda BIOS en el aparato y poder conmutar entre la original y la nueva (lo que es bueno ya que hay algunos juegos que no funcionan con la BIOS modificada), y además esta nueva BIOS se graba desde la propia DreamCast sin necesidad de aparatos adicionales, por lo que es lo mas cómodo. Para ubicar la segunda BIOS sin necesidad de cablear mucho se utiliza el que la memoria dispone de muchos pines que son comunes a todos los chips conectados a la memoria.

Los chips de memoria disponen de muchos pines, pero podemos agruparlos en cuatro bloques diferentes en función de para que se utilizan (una agrupación de líneas es lo que se denomina un bus):
  • Los de direcciones indican a la memoria que posición de la misma se desea leer o en cual se desea escribir, el valor de la dirección siempre lo envía el procesador.
  • Los de datos envían el dato del procesador hasta la memoria para grabarlo, o desde la memoria lo ponen a disposición del procesador para su lectura.
  • Los de control permiten seleccionar el comportamiento del chip, si está o no activo y si se desea leer o escribir por ejemplo.
  • Los de alimentación son para lo que indica su nombre.
Las memorias se conectan todas compartiendo la mayoría de estos pines, salvo los de control, de manera simplificada cuando el procesador desea leer la memoria pone en el bus de direcciones la dirección a leer y activa la señal de lectura, un circuito auxiliar detecta el chip que se debe utilizar y lo activa, este pone en el bus de datos el contenido de esa dirección. Cuando el procesado desea escribir en la memoria pone en el bus de direcciones la dirección donde guardar, pone el bus de datos el contenido a guardar, y activa la señal de escritura, un circuito auxiliar detecta el chip que se debe utilizar y lo activa, este se guarda en la dirección deseada el contenido informado.

De esta manera podemos unir entre sí en ambos chips de las BIOS todos los pines relacionados con direcciones y con datos, la señal de lectura o escritura (suele ser la misma señal y según esté en valor alto o bajo indica una u otra cosa), y solo separamos la señal de control que activa el chip. Para simplificar el cableado y como el chip original y el nuevo tienen las mismas patillas, y las señales están ubicadas en la misma posición en ambos, los montamos uno sobre otro, soldando directamente las patas necesarias entre sí.

Hay dos modelos de placa, la VA0 es la original japonesa y la VA1 la europea, son casi iguales pero en la Japonesa la BIOS se alimenta a 5 voltios y en la europea a 3'3 voltios. Los esquemas de conexión para ambas versiones son los siguientes (a la izquierda está ubicada la BIOS original, en el centro la nueva BIOS y a la derecha otro chip de la placa cercano de donde sacar una de las señales necesarias):

Esquema doble BIOS para placas VA0 (original de www.dc-swat.ru)

Esquema doble BIOS para placas VA1 (original de www.dc-swat.ru)

En los dos esquemas todos los pines que no están conectados a nada se deben unir entre ambos chips (2 a 11, 13 a 22 y 24 a 43), el pin 12 de la BIOS original es necesario levantarlo de su sitio (es el único a levantar y debe hacerse con mucho cuidado de no romperlo o será casi imposible recuperarlo), y los pines 1, 12 y 44 de la nueva BIOS no se deben unir a los pines de la original. El pin 23 puede estar unido de forma diferente en ambas versiones de las placas.

El pin 12 marcado como /CE es la señal de activación del chip, proviene del componente D501, por lo que es necesario capturar esa señal y ponerla en el centro de un interruptor de dos posiciones un circuito, y los dos lados del interruptor irán a los pines 12 de cada uno de los chips, con este se selecciona cual de los dos chips desea utilizarse, es necesario usar una resistencia de pull-up de 10K Omios conectada a la alimentación de cada uno de los chips.

El pin 1 de la nueva BIOS está marcado como /RESET, se debe unir 3'3 voltios para que esté siempre activo.

El pin 44 de la nueva BIOS está marcado como /WE, es el que selecciona si se desea escribir en el mismo, se usará a la hora de programarlo por lo que es necesario unirlo a la señal de escritura de la placa para lo que se utiliza una pata de otro chip de la placa, en concreto el de una memoria flash cercana.

El pin 23 de la nueva BIOS es el de alimentación, en la máquina VA0 debe buscarse un punto que nos proporcione 3'3 voltios, en el esquema sugieren usar el pin 1 del chip IC302, mientras que en la VA1 como ambos chips trabajan al mismo voltaje se puede elegir, o bien se usa el mismo sistema o bien unir entre si directamente ambas patas.

No hay comentarios:

Publicar un comentario