Game Boy: tecnología limitada con éxito ilimitado

Con más de 100 millones de consolas vendidas, una vida de más de una década y casa de fenómenos de los videojuegos como Tetris y Pokémon, la Game Boy de Nintendo marco una generación en los años 90 y cimentó el dominio de los de Kyoto en el mercado de las consolas portátiles, el cual aún mantienen gracias al éxito de la Nintendo Switch. Mientras que el resto están obsesionados con la Switch 2, nosotros hemos decidido hacer un viaje a aquella consola monocromática para hablar de su hardware.

La historia de la Game Boy

La creación de la Game Boy fue el resultado de la combinación de dos enfoques distintos: el de Yokoi y el de Okada. Okada tenía la intención de desarrollar una versión portátil de la Famicom (NES). Sin embargo, Yokoi se oponía a esa idea. Su relación con Uemura, el arquitecto de la NES, era conflictiva, y sentía una fuerte envidia hacia él debido al favoritismo que había tenido la Famicom sobre su línea de Game & Watch. Para Yokoi, hacer que la Game Boy se pareciera a la Famicom equivaldría a ceder ante Uemura. Por eso, insistió en que la consola tuviera un sistema de manejo de imagen distinto, basado en el uso de la CPU para mover bloques de datos y crear un búfer de imagen, una solución que se alejaba del enfoque de la NES y que reflejaba esa rivalidad personal.

Game Boy

Si bien Yokoi terminaría diseñando la Game Boy Pocket, el diseño original de la portátil de Nintendo fue de Okada, ya que la propuesta de Yokoi fue desechada por parte de la directiva de Nintendo, aunque no del todo. La idea de Yokoi era usar las pantallas de las por aquel entonces nuevas agendas de bolsillo de SHARP, basadas en una matriz de puntos en vez de las clásicas de cristal líquido de las calculadoras que usaron en las primitivas Game and Watch.

Inicialmente, la consola iba a ser a color

El diseño original de Okada para la Game Boy se asemejaba bastante a la que fue su primera rival: la Game Gear de SEGA. Por lo que se planteó inicialmente como una portátil a color con una pantalla de Citizen. Esto con los años les permitió armar rápidamente el diseño de la GBC cuando fue necesario, 9 años después del lanzamiento de la consola original. Sin embargo, la elección de los proveedores fue un punto de conflicto interno. El entonces presidente de Nintendo, Hiroshi Yamauchi, no quería que Ricoh, proveedor de la NES y la Super Famicom, también fabricara los componentes clave de la Game Boy. Temía que eso afectara el rendimiento o la estrategia comercial de la nueva consola doméstica, por lo que se descartó a Ricoh como opción.

Gunpei Yokoi

Ante esto, Nintendo recurrió a SHARP, que contaba con experiencia en la creación de dispositivos de bolsillo como calculadoras y agendas electrónicas. Precisamente en ese punto ganó la partida Yokoi, ya que SHARP era el proveedor tecnológico de las Game and Watch. Fue entonces cuando se tomó una decisión crucial: abandonar las pantallas a color en favor de pantallas monocromas, lo cual marcó un giro radical respecto al concepto inicial de Okada. Como resultado de este cambio de rumbo, Nintendo canceló su acuerdo con Citizen, que luego terminaría colaborando con SEGA. Paradójicamente, la tecnología que originalmente se pensó para la Game Boy terminaría alimentando a su futura competencia.

Los primeros videojuegos

La Game Boy se lanzó el 21 de abril de 1989 con cuatro títulos de estreno, desarrollados por el mismo equipo que había trabajado en el hardware de la consola, aunque no sin tensiones internas. Desde el lado de Yokoi, se presentaron Alleyway, un clon de Breakout, y Yakuman, un juego de Mahjong. Yokoi tenía una visión clara: quería que la Game Boy se dirigiera al público adulto, especialmente a quienes pasaban tiempo fuera de casa. Para él, la consola debía diferenciarse de los sistemas de sobremesa y seguir la filosofía de las Game & Watch, que permitían jugar de forma discreta, como si se tratara de un reloj de mesa. Una idea que, con los años, anticipó en cierto modo el concepto de los smartphones

En paralelo, el equipo de Okada se encargó de desarrollar dos juegos técnicamente más ambiciosos: Super Mario Land, una versión compacta del clásico Super Mario Bros., adaptada al nuevo hardware portátil, y un juego de béisbol que aportaba variedad al catálogo inicial.

Tetris

En cuanto a Tetris, su historia es particular. En un principio, fue uno de los títulos desarrollados internamente por el equipo de Yokoi como parte del planteamiento de la Game Boy como un sistema autocontenido, ideal para jugar en cualquier momento. Se sabe que un prototipo de este Tetris era constantemente mostrado por Minoru Arakawa, presidente de Nintendo of America y yerno de Hiroshi Yamauchi, mientras promovía la consola.  Sin embargo, esa no fue la versión que terminó llegando al mercado. El Tetris que acompañó a la Game Boy en su lanzamiento oficial fue desarrollado por Bulletproof Software para Nintendo, y se convirtió en el verdadero fenómeno que ayudó a cimentar el éxito de la consola a nivel mundial.

tetris

La inclusión  de Tetris como el juego de regalo en la Game Boy fue una jugada maestra, pese a que no formó inicialmente parte del plan original de lanzamiento. Hiroshi Yamauchi entendió rápidamente su potencial como título universal, capaz de atraer tanto a jugadores experimentados como a quienes nunca habían tocado una consola. Lo que contribuyó al enorme éxito de la misma. Pese a ser un juguete de bolsillo, el impacto social de Tetris superó las barreras demográficas de la edad y el sexo.

Se cuenta que, en una ocasión, Hiroshi Yamauchi le mostró el prototipo de la Game Boy a Norio Ohga, entonces presidente de Sony, quien quedó impresionado por el dispositivo y, al mismo tiempo, frustrado al darse cuenta de que Sony contaba con la tecnología necesaria para haber creado algo similar; aquella reacción marcaría irónicamente el inicio de una colaboración entre ambas compañías que, tras un prometedor comienzo, acabaría en un sonado y conflictivo divorcio que cambiaría para siempre la historia de los videojuegos.

La CPU de Game Boy

Nos encontramos ante un caso particular. Si hablamos de programación, es un clon del Intel 8080, aunque en algunos sitios hayáis leído que se trata de un Z80. En realidad, carece de todas las mejoras que trajo el chip de Zilog sobre el de Intel. No obstante, se trata de una pieza particular, por el hecho de que los tiempos de cada instrucción y el funcionamiento interno difieren enormemente. Es decir, tiene en común el set de registros, pero tampoco es 1 a 2 con el conjunto de instrucciones del 8080 de Intel, por lo que no se trata de un clon directo, sino de un microprocesador que hizo la propia SHARP para sus productos de bolsillo como agendas electrónicas y calculadoras a finales de los 80 y principios de los 90.

Circuiteria Game Boy

La Famicom/NES usaba un 6502, microprocesador ya conocido por los desarrolladores de Nintendo, por lo que tenía sentido que el proyecto de la Famicom Pocket empezará con una CPU con el mismo set de registros e instrucciones.  El motivo de ello es el consumo energético, si bien el 6502 soportaba RAM a la misma velocidad que la CPU, incluso el doble de rápida, en los derivados del 8080 (recordemos que el Z80 es una extensión del mismo y el microprocesador de Game Boy una variante) la memoria tenía una frecuencia cuatro veces menor.

Es decir, y para que lo entendáis mejor, estamos hablando de microprocesador sin memoria caché, donde todas las instrucciones se hacen en modo microprocesador-memoria. Colocar una RAM a la velocidad de un 6502 a 1.79 MHz o incluso 2 MHz (la CPU de GB funciona a 4.2 MHz) supone un consumo energético mucho mayor, de ahi la elección de este microprocesador por parte de Nintendo. Además, que SHARP era la proveedora de la pantalla.

Parece un Z80, pero no lo es

El motivo por el cual muchos lo confunden con el Z80, es por el hecho de que las instrucciones que sí que tiene el SM83, la CPU de Game Boy, comparte los opcodes con la CPU de Zilog, lo que facilita la conversión de los juegos programados para dicho microprocesador en ensamblador, pero obviamente no se puede compilar directamente el código de forma directa por el hecho que los programas van a llamar a ciertas instrucciones que no existen en el hardware de Game Boy.

SM83 SHARP Litografia

Ahora bien, ¿qué instrucciones faltan en la CPU de Game Boy que sí que se encuentran en un Z80 o incluso un Intel 8080 estándar?

  • Las instrucciones IN/OUT para comunicarse de forma directa con los periféricos a través de un bus propio se eliminaron. El motivo de ello es ahorrar en el pinout externo y hacer el chip más pequeño. Ahora la comunicación con los periféricos se hace a través de la RAM (como en los x86 y el 6502) usando las instrucciones LD clásicas o el nuevo opcode LD (FF00+n).
  • Los registros índice IX e IY del Z80 no se implementaron en el SM83 de Game Boy, y con ello tampoco todas las instrucciones que los usan.
  • No es el único elemento propio de los Z80 que no existe en el microprocesador de SHARP, ya que el segundo set de registros, los cuales se usaban cuando los principales estaban ocupados, se han eliminado.
  • Las instrucciones de copia de bloques de memoria del Z80, tampoco existen en la CPU de Game Boy.
  • Dispone de una RAM (128 bytes) dentro de la propia CPU, por lo que para acceder a ella no necesita pasar por los 4 ciclos de reloj de la memoria externa, situada entre las direcciones de memoria FF80 y FFFE

La CPU en Game Boy Color iba más rápida

La versión con pantalla a color de la Game Boy lanzada en 1998 puede funcionar en tres modos distintos, siendo el tercero el único en que los juegos solo pueden ejecutarse en el hardware de dicha consola. ¿La diferencia con los otros modos? El hecho de poder colocar la CPU al doble de velocidad de reloj. Por otro lado, no hay novedades en lo que al set de registros e instrucciones se refiere. Incluso los opcodes del Z80 que se encuentran libres en el set de instrucciones no se recuperaron.

Game Boy Color

No es de extrañar, dado que el diseño de la consola fue hecho en pocos meses, incluso semanas, ya que por aquel entonces el equipo de Okada se encontraba trabajando en lo que terminaría siendo la Game Boy Advance. De ahí a que los cambios en hardware en la Game Boy Color fueron mínimos respecto al modelo original. La limitación de este modo es que solo funcionaba con los juegos exclusivos de Game Boy Color que no podían usar en el modelo monocromo, por lo que en el 99% del catálogo la velocidad a la que iba la CPU era la misma siempre, 4.2 MHz.

Sonido en la Game Boy

La consola portátil de Nintendo es infame por la mala calidad de su altavoz, no obstante, la cosa cambiaba cuando conectábamos unos auriculares que nos permitían disfrutar del sonido estéreo sin molestar a los demás. Su funcionamiento se parece mucho al de la Famicom/NES, por lo que tenemos dos canales de onda cuadrada y un canal de muestras PCM para efectos de sonido sencillos. Sin embargo, el canal de la onda triángulo se ha reemplazado por otro, capaz de hacer cualquier tipo de onda, al igual que el SID del C64.  Por lo demás, el audio de la consola no tiene ningún secreto en comparación con otros sistemas de 8 bits.

Memoria RAM y cartuchos en la Game Boy (Color)

El sistema de memoria de Game Boy no tiene nada de especial a simple vista. Su CPU, al tener un direccionamiento de 16 bits, soporta sin mapeadores de memoria externos hasta 64 KB de memoria, que divide en 32 KB para la RAM y 32 KB para los cartuchos. Sin embargo, la primera Game Boy usaba solo 8 KB de direccionamiento para la RAM, mientras que Game Boy Color usaba los 32 KB disponibles. En cuanto a los cartuchos, los primeros, como por ejemplo el ultrapopular Tetris, no son más que títulos que no superan los 32 KB de información.

MapeadorROMRAMApuntes
MBC12 MB32 KB (Cartucho más usado en Game Boy)
MBC2256 KB2048 bitsCartuchos low cost GB
MBC32 MB 32 KB chip de reloj a tiempo real
MBC304 MB64 KBGame Boy Color (Pokémon Crystal)
MBC58 MB128 KB(Cartucho estándar Game Boy Color)
MBC62 MB512 KB
MB72 MB32 KBAcelerometro
HuC-11 MB32 KBHudson Soft
HuC-32 MB128 KBHudson Soft

No obstante, el igual que ocurrió con Famicom/NES, Nintendo creó una serie de chips mapeadores que permitieron usar juegos con una capacidad mayor a la del direccionamiento de la consola, aparte de llevar una serie de accesorios integrados en muchos de los casos. Por ejemplo, relojes a tiempo real que permiten que ocurran eventos a ciertas horas del día o un acelerómetro para el primer videojuego de Nintendo en usar dicha tecnología, el Kirby Tilt and Rumble, lanzado casi una década antes que la Wii.  Por cierto, cabe aclarar que en los juegos que guardaban partida, la RAM del cartucho era la que se usaba en combinación de una pila para ello. El único cartucho que no usa este mecanismo es el MBC7, el cual ya disponía de un primitivo cartucho con memoria NAND Flash que le permitía prescindir de la pila. Por desgracia no soportaba un RTC.

Por otro lado, no es totalmente igual a la Famicom/NES en lo que a los mapeadores se refiere, ya que en este caso no tenemos la lista de patrones en una ROM aparte del cartucho, se vuelcan en la VRAM como el resto de sistemas basados en el TMS9918A.

Gráficos en la Game Boy

El chip gráfico de Game Boy es una versión adaptada de la PPU de Famicom/NES, por lo que funciona igual que esta, pero con algunas particularidades propias. Para empezar, su velocidad de reloj es la misma que la de la CPU, ya que al encontrarse en el mismo chip comparten la misma señal de reloj, la cual es de 4.19 MHz frente a los 5.37 MHz de su hermana mayor al tiempo de su lanzamiento. El motivo de ello es que la pantalla de la primera portátil de Nintendo tiene una resolución de 160 x 144 píxeles, resolución que se mantendrá en GBC.

Super Mario Land

Al igual que Famicom/NES y la PC-Engine tenemos:

  • La tabla de atributos de los sprites (40 sprites por frame) se encuentra dentro del chip. Esta es copiada desde la memoria del sistema a través de un canal DMA exclusivo desde la VRAM y, en algunos casos, especialmente en escenas estáticas y no interactivas desde el propio cartucho.
  • Soporte de scroll por hardware, tanto vertical como horizontal, al mismo tiempo sin necesidad de chips mapeadores.
  • Mecanismos de detección de colisiones sin depender de la CPU.

Tomb Raider GBC

Sin embargo, pese a basarse en la PPU de NES, esta tiene algunos cambios:

  • 8 KB de VRAM asignados.
  • Es capaz de mostrar hasta 10 sprites por línea de escaneo en vez de 8.
  • Trae un mecanismo HDMA integrado que permite copiar datos desde la RAM o el cartucho a la VRAM, puede copiar 16 bytes de datos en el periodo HBlank, pero si no se dibuja la línea hasta 2048 bytes. ¿El problema? En ese periodo, la ejecución de la CPU se para al perder el acceso temporal sobre la RAM del sistema.

Tabla de sprites y modos gráficos Game Boy (Color)

Tanto Game Boy como Game Boy Color utilizan la misma tabla de sprites para los juegos que funcionan en ambas consolas.

ByteBitsGame BoyGame Boy Color
00-7Posición Vertical del pixel -16.Posición Vertical del pixel -16.
10-7Posición Horizontal del Pixel -8Posición Horizontal del Pixel -8
29-7Patrón/Tile de la lista de 256 ­Patrones/Sprite al que hace referencia la tabla.Patrón/Tile de la lista de 256 ­Patrones/Sprite al que hace referencia la tabla.
30-4No se utilizan(0-3) numero de paleta. 4 (Banco secundario de sprites)
5 El Patrón/Sprite se dibuja verticalmente a la inversaEl Patrón/Sprite se dibuja verticalmente a la inversa
6El Patrón/Sprite se dibuja horizontalmente a la inversaEl Patrón/Sprite se dibuja horizontalmente a la inversa
7Bit de PrioridadBit de Prioridad

Ahora bien, hay títulos que solo funcionan en Game Boy Color, son aquellos que muestran hasta 56 colores en pantalla, compuestos por 8 paletas de 8 colores cada una, pero dado que uno de los colores ha de ser transparente, de ahí lo de 56 colores en vez de 64.  No obstante, no podemos olvidar que la pantalla de Game Boy solo puede representar 4 tonos de luminancia distintos y, por lo tanto, no se pueden mapear 8 colores en 8 luminancias monocromáticas.

Paleta Game Boy

En el modo mixto, los juegos para Game Boy Color se ven con 31 colores, ya que tenemos 8 paletas, pero solo 4 valores por paleta. Por lo que el tercer bit del Byte 3 sirve para indicarle a la consola que funcionará en modo GBC puro, donde cada uno de los objetos en pantalla tendrá su propia paleta de colores. En cuanto a la paleta total de colores, GBC soportaba hasta 32.768 distintos, una cifra que no tiene importancia dados los pocos colores que mostraba la consola y tiene que ver más con que Nintendo y SHARP le colocaron el primer DAC que encontraron por ahí. Lo que es prueba de que la versión a color no era más que un hack de la consola original.

4.8 6 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x