Arranque directo de DreamShell en Dreamcast
· Sergio Roldán
El lector óptico es el punto débil clásico de la Dreamcast. Con los años se deteriora hasta dejar de leer juegos, y encontrar un lector de repuesto nuevo resulta complicado. Un usuario del foro apuntaba en su día que se puede sustituir la lente por la de un lector de PC, aunque el proceso no parece nada sencillo. La consola tuvo un recorrido comercial corto, pero la escena homebrew la ha mantenido viva desde entonces, y esa misma escena dio con una salida mucho más elegante para las consolas con el lector muerto.
La alternativa habitual es un lector de tarjetas SD conectado al puerto serie. El problema: para usarlo hace falta, en principio, arrancar la consola con un CD que cargue el software adecuado. Si el lector de discos está averiado, no hay CD que valga. La solución llega en forma de mod, documentado originalmente por el grupo ruso dc-swat: soldar un chip de memoria Flash sobre la BIOS de la consola y usarlo como BIOS alternativa, con un interruptor para elegir en cada arranque entre la BIOS original y la nueva.
Material y herramientas
El mod requiere lo siguiente:
- Cable fino de un único conductor (hilo de wrapping, por ejemplo).
- Cable de 3 conductores (prescindible, puede usarse el mismo hilo, pero el montaje queda más limpio).
- Estaño.
- 2 resistencias de 10 kΩ.
- 1 circuito integrado MX29LV160 o compatible, en encapsulado SOP de 44 pines. Es la pieza más difícil de encontrar con ese encapsulado.
- 1 interruptor de 2 posiciones y 1 circuito, el básico de toda la vida.
- Tubo termorretráctil (opcional) y cinta aislante.
- Un lector de tarjetas SD para Dreamcast, disponible en sitios como eBay; también puede montarse interno con otro mod adicional.
- Un lector de discos ópticos operativo. Solo hace falta un momento, así que puede tomarse prestado de otra consola y devolverse al terminar.
En cuanto a herramientas: destornillador de estrella, soldador, tijeras, alicates de punta plana, taladro y una lima plana pequeña. Y paciencia, que no es poca cosa en este mod.
Soldar el chip Flash sobre la BIOS
El primer paso es desarmar la consola hasta dejar la placa principal a la vista, un proceso sencillo y bien documentado en vídeos de YouTube. El chip Flash se instala directamente encima de la BIOS de la consola:
Hay que levantar la pata 12 del chip de la BIOS. Se calienta el pin con el soldador para fundir el estaño y se hace palanca con cuidado desde abajo con un útil de punta fina. Un exceso de fuerza arranca la pata, y ahí se acaba la fiesta.

Después se prepara el chip de memoria: se aplanan todas las patillas con los alicates y se doblan hacia abajo a 90 grados, todas salvo la 1 (RESET), la 12 (Chip Select) y la 44 (Write Enable). El chip se coloca justo encima de la BIOS, haciendo coincidir sus patas con las de la BIOS original salvo las tres que han quedado levantadas, y se sueldan todas las patas coincidentes.

El interruptor que seleccionará entre ambas BIOS se prepara con 3 cables: el central para el hilo común y los dos extremos para cada posición. Conviene ser generoso con la longitud, con un segmento extra que luego facilite instalar el interruptor en el chasis con comodidad.

Las conexiones del esquema de dc-swat
Con el chip soldado, el interruptor preparado y las resistencias a mano, queda completar el esquema publicado por los creadores del mod en www.dc-swat.ru:

La primera conexión es la de la derecha del esquema: la pata 44 levantada se une al pin 9 de la memoria de configuración. Esta línea, que la BIOS original no utilizaba, es la que permite escribir datos en el chip Flash. Lo más sencillo es soldarla a la VIA (el pequeño círculo taladrado) conectada a ese pin.

Después se une el pin 1 de la memoria Flash con la unión de los pines 23 de ambos chips. Es la conexión de RESET, imprescindible: sin ella el chip permanece dormido y no hace nada.
Las 2 resistencias de 10 kΩ trabajan como pull-up, llevando a nivel alto la pata del chip que no esté seleccionado para mantenerlo en reposo. La primera va entre la unión de los pines 23 y la pata 12 levantada de la BIOS de la consola. La segunda, entre el pin 1 del chip Flash (donde ya hay un cable soldado) y el pin 12 de ese mismo chip. El tubo termorretráctil sobre las patas de las resistencias evita cortocircuitos; en su defecto, cinta aislante y pulso. Un aviso que el esquema repite por algo: los pines 12 de ambos chips no deben quedar unidos entre sí bajo ningún concepto.
Queda el interruptor. Su pin central se conecta a la patilla suelta de D501; de los otros dos, uno va a la pata 12 de la BIOS original y el otro a la pata 12 del chip Flash. Con eso termina la parte eléctrica: se tapan las soldaduras y el chip con cinta aislante.
El hueco del interruptor y el primer arranque
La parte mecánica admite variaciones según el interruptor elegido y la maña de cada cual. El método documentado: elegir la ubicación, hacer unos taladros cilíndricos en la zona y convertirlos en un agujero rectangular con la lima plana pequeña. El interruptor se fija con tornillos y tuercas si su formato lo permite, o con un poco de pegamento tipo Loctite, que no es la solución más fina pero funciona.
Al cerrar la consola y probarla, con el interruptor en una posición arranca con normalidad; en la otra, pantalla negra. Es lo esperado: el chip Flash todavía está vacío.
Grabar DreamShell en el chip
Con el interruptor en la posición de arranque normal, se descarga la última versión de DreamShell en formato «CDI Image» desde la página de dc-swat (http://www.dc-swat.ru/page/dreamshell), se graba en un CD y se arranca la consola con él. Una vez arrancado, se cambia el interruptor a la otra posición (este orden es importante) y se selecciona la opción DSInstall. En unos minutos el arranque de DreamShell queda grabado en la Flash. Si durante la grabación aparecen errores, lo más probable es que alguna soldadura haya quedado mal: toca desmontar y repasar.
El último paso es preparar la tarjeta. Se descarga DreamShell en formato «Form SD Loader» desde la misma página, se descomprime la carpeta «DS» en la raíz de la tarjeta SD (manteniendo la carpeta y todo su contenido dentro) y se inserta la tarjeta en el lector conectado al puerto serie trasero, salvo que el lector ya esté montado interno. A partir de ahí, una posición del interruptor arranca la consola normalmente y la otra arranca DreamShell sin disco alguno. Si el lector óptico era prestado, ya puede volver a su consola de origen.
Hay un detalle importante que solo se descubre con el mod hecho: los mandos y las tarjetas Visual Memory parecen necesitar la BIOS original para funcionar, así que DreamShell se cuelga justo al terminar el arranque si hay un mando enchufado. La rutina para evitarlo:
- Poner el interruptor en la posición DreamShell y encender la consola sin ningún mando conectado.
- Cuando DreamShell termine de arrancar, devolver el interruptor a la posición de arranque normal, activando así la BIOS original.
- Conectar los mandos.
- Jugar.
Qué gana la consola con el mod
Con la Flash grabada y el lector de tarjetas en su sitio, la Dreamcast sin lector óptico vuelve a ser útil para bastantes cosas:
- Toda la escena homebrew de la consola: emuladores de sistemas de 8 y 16 bits, ports de Doom, Quake o ScummVM, juegos basados en OpenBOR, reproductores multimedia y hasta SDK para programar.
- Cargar juegos comerciales, con compatibilidad incompleta: muchos títulos dan tirones al cargar datos en streaming durante la partida, aunque varios funcionan muy bien y otros mejoran notablemente al desactivar la música, que es justo lo que se carga en streaming.
- Copiar partidas guardadas, incluidas las protegidas contra copia.
- Cambiar la región de la consola para jugar importaciones sin discos de arranque, o forzar 60 Hz en juegos que van lentos en una consola PAL.
- Y si no importa sacrificar el arranque de DreamShell desde la Flash, grabar en su lugar una BIOS hackeada con la animación de arranque de las consolas de desarrollo, bastante más vistosa que la estándar.
Entre los juegos comerciales probados, Headhunter funciona perfecto quitando la música (una pena, porque su banda sonora es enorme) y Resident Evil 3 resulta bastante jugable, con algún tironcillo ocasional.