danirod

El número mágico en los cartuchos de Game Boy

¿Por qué a veces los cartuchos de Game Boy no se iniciaban y tenías que soplarlos para que se encendieran? Hace poco encontré mis antiguas Game Boys. Hoy las he vuelto a ver y he decidido meter un cartucho y encenderla. Y me ha vuelto a pasar, como a mucha gente, que el juego en vez de arrancar muestra un logo de Nintendo corrupto que impide que el juego arranque.

La pantalla de una Game Boy encendiendo.
Mapa de bits con el logo de Nintendo.

Estuve buscando sobre la estructura de los archivos GB/GBC/GBA. Y encontré esta página, donde te descodifican la utilidad de todos los bytes de un cartucho. Resulta que existe, en todos los cartuchos de Game Boy, una serie en los primeros bytes del ROM. Para los más técnicos, entre los bytes 104 y 133 del cartucho. Esta serie es un mapa de bits que contiene el dibujo “NINTENDO(R)” que se ve siempre que uno enchufa la consola.

Cuando la consola se enciende, se lleva a cabo una acción que va pregrabada en la secuencia de arranque de la consola (vamos, un proceso rutinario que se hace siempre que se enciende la consola): se lee esta serie de bytes, y se comprueba que sean correctos. La secuencia debe ser ésa, no puede cambiar ni un sólo número. De ser correcto, el juego inicia. De no ser correcto, la consola se queda colgada y no arranca el juego, obligandote a sacar el juego, y volverlo a meter.

Además de comprobar esta secuencia, el dibujo se muestra en pantalla tal cual se ha leído (es descodificada por el procesador del mismo modo que se descodifican luego el resto de imágenes del juego). Cuando la secuencia de bytes es correcta, se puede leer perfectamente la palabra “NINTENDO(R)”. Cuando la secuencia es incorrecta, lo que se muestra es una palabra manchada, como la de la fotografía que hay encima, en la que la palabra es ilegible, debido a que el código no es correcto.

La forma de corregir esto es sacar el cartucho y volverlo a meter. ¿Por qué? Porque cuando se mete mal, los contactos de la consola no tocan bien y producen esto: una mala lectura. La clave está en sacarlo y volverlo a meter, con la esperanza de que los contactos se produzcan bien. A veces cuesta, y es preciso sacarlo y meter varias veces. Todo es cuestión del deterioro del cartucho o del uso que se le haya dado últimamente.

¿Qué es soplar el cartucho? Según mis búsquedas por Internet, es una pérdida de tiempo. Siempre se ha dicho que se hace para sacar el polvo de la consola, pero no tiene por qué ser el polvo. Puede ser por un mal contacto. Es más, los fabricantes recomiendan no soplar un cartucho, dado que se podrían oxidar los semiconductores con el aire ionizado y la saliva que expulsamos por la boca al soplar.