2 puntos por GN⁺ 2023-12-28 | 1 comentarios | Compartir por WhatsApp

Imágenes compatibles

  • Modelos
    • Original
    • Color

Modelos

  • El Game Boy original se lanzó el 21 de abril de 1989 en Japón, el 31 de julio de 1989 en Estados Unidos y el 28 de septiembre de 1990 en Europa.
  • El sucesor de la siguiente generación, Game Boy Color, se lanzó el 21 de octubre de 1998 en Japón, el 18 de noviembre de 1998 en Norteamérica y el 23 de noviembre de 1998 en Europa.

Placa madre

  • Original
    • Marcada

Diagrama

  • Diagrama principal de la arquitectura del Game Boy original

Introducción breve

  • Se puede imaginar al Game Boy como un NES portátil con rendimiento limitado, aunque incluye funciones nuevas muy interesantes.

Análisis del arcoíris

  • Debido a la enorme popularidad de esta consola, aparecieron varias revisiones (por ejemplo, Game Boy Pocket, Light y también en formato de cartucho para Super Nintendo).
  • La marca Game Boy abarca dos generaciones.
  • En la cuarta generación están el Game Boy monocromático y sus revisiones, y en la generación siguiente está el Game Boy Color (lanzado después del final del Virtual Boy).
  • Como este artículo cubre ambas generaciones, al final tendrás una buena comprensión de cómo evolucionaron el funcionamiento y la tecnología del Game Boy hasta convertirse en el Game Boy Color.

CPU

  • En lugar de colocar varios chips disponibles en el mercado sobre la placa madre, Nintendo eligió un diseño de chip único que contiene (y oculta) la mayoría de los componentes.
  • A este chip se le llama System On Chip (SoC) y, en este caso, fue fabricado específicamente para esta consola y adaptado a los requisitos de Nintendo (eficiencia energética, antipiratería, E/S adicional, etc.).
  • Como este chip no podía encontrarse en catálogos minoristas, a los competidores de la época les resultó más difícil crear clones.
  • El SoC usado en Game Boy se conoce como DMG-CPU o Sharp LR35902, y fue fabricado por Sharp Corporation.
  • Esta empresa mantiene una relación cercana con Nintendo.

Núcleo de la CPU

  • El procesador principal dentro del DMG-CPU es el Sharp SM83, una mezcla entre el Z80 (la CPU usada en Sega Master System) y el Intel 8080.
  • Funciona a una velocidad de aproximadamente 4.19 MHz, lo que lo hace más rápido que una CPU promedio de 1 MHz.
  • El SM83 no incluye los registros IX o IY del Z80 ni las instrucciones IN o OUT del 8080. Es decir, no puede usar puertos de E/S.
  • Como solo implementa el conjunto de registros del Intel 8080, tiene solo 8 registros de propósito general, a diferencia de los 16 registros del Z80.
  • Incluye parte del conjunto extendido de instrucciones del Z80 (solo instrucciones de manipulación de bits).
  • Sharp también añadió algunas instrucciones nuevas que no existen ni en el Z80 ni en el 8080. Estas optimizan ciertas tareas relacionadas con la forma en que Nintendo/Sharp configuró el hardware.

Efecto de color

  • Casi 10 años después, tras abandonar el Virtual Boy y su hardware innovador, apareció su humilde sucesor: Game Boy Color.
  • En su interior hay un nuevo SoC, CPU CGB, con algunos añadidos; el núcleo SM83 sigue siendo el mismo, pero la velocidad de reloj se duplicó (ahora funciona a ~8.38 MHz).
  • Los desarrolladores pudieron reutilizar sus conocimientos actuales para programar la nueva consola, ahorrar costos sin rediseñar el sistema para una arquitectura nueva y permitir retrocompatibilidad sin un esfuerzo considerable.
  • El CPU CGB implementa dos modos de funcionamiento:
    • Modo normal: el SM83 funciona a ~4.19 MHz.
    • Modo de doble velocidad: el SM83 funciona a ~8.38 MHz.

Acceso al hardware

  • El SM83 mantiene un bus de datos de 8 bits y un bus de direcciones de 16 bits, por lo que puede direccionar hasta 64 KB de memoria.
  • El mapa de memoria se compone principalmente de los siguientes endpoints:
    • Espacio del game pak (cartucho del juego).
    • RAM de trabajo (WRAM), RAM alta (HRAM) y RAM de video (VRAM).
    • E/S (joypad, audio, gráficos, LCD).
    • Control de interrupciones.

Memoria disponible

  • Nintendo instaló 8 KB de RAM en la placa madre. Se usa para propósitos generales (conocida como Work RAM o 'WRAM').
  • Dentro del SoC hay 127 B adicionales de RAM, que proporcionan un espacio pequeño para datos que requieren acceso inmediato (por ejemplo, la pila).

Gráficos

  • Todos los cálculos gráficos se realizan en la CPU y luego la Picture Processing Unit o 'PPU' los renderiza.
  • Se muestran en la pantalla LCD integrada, con una resolución de 160×144 píxeles y, en el caso del Game Boy monocromático, 4 tonos de gris (blanco, gris claro, gris oscuro y negro).

Composición del contenido

  • La PPU está conectada a 8 KB de VRAM o 'RAM de video', y también ofrece acceso regulado a la CPU.
  • El juego es responsable de llenar las distintas áreas con el tipo correcto de datos.

Construcción del cuadro

  • Si observamos cómo la PPU dibuja elementos en pantalla, podemos tomar Super Mario Land 2 como ejemplo.

Tiles

  • La PPU usa tiles como material base para renderizar gráficos.
  • Un tile es un bitmap de 8x8 almacenado en una zona de la VRAM llamada tile set o 'tabla de patrones de tiles'.

Capa de fondo

  • La capa de fondo es un mapa de 256x256 píxeles (32x32 tiles) que contiene tiles estáticos.
  • El juego elige qué parte se muestra en pantalla y puede mover el área visible durante la partida.

Ventana

  • La ventana es una capa de 160x144 píxeles que se muestra por encima del fondo y de los sprites, y esta capa no se desplaza.

Sprites

  • Los sprites son tiles que pueden moverse de forma independiente por la pantalla.
  • Esta capa usa/requiere un color adicional llamado transparente.

Resultado

  • Cuando el cuadro se completa, se pasa al siguiente cuadro.

Secretos y limitaciones

  • La introducción de la capa de ventana y de interrupciones adicionales hizo posibles nuevos tipos de contenido y efectos.

Añadidos de color

  • La PPU del Game Boy Color funciona como un superconjunto de la original.

Audio

  • El sistema de audio está a cargo de la Audio Processing Unit (APU), un chip PSG de 4 canales.

Funciones

  • Cada uno de los cuatro canales está reservado para un solo tipo de forma de onda:
    • Pulso
    • Ruido
    • Onda

Secretos y limitaciones

  • El mezclador genera sonido estéreo, por lo que los canales pueden asignarse a la izquierda o a la derecha.

Sistema operativo

  • A diferencia del NES, el Game Boy fue diseñado para arrancar siempre desde una ROM interna de 256 bytes, y después saltar al código del juego.

Juegos

  • Los juegos se escriben en ensamblador y su tamaño máximo es de 32 KB.

Comunicación externa

  • Puede comunicarse con otro Game Boy mediante el cable link de Game Boy.

Antipiratería

  • La consola no ejecuta el juego de inmediato, sino que realiza una serie de comprobaciones para evitar la ejecución de cartuchos no autorizados y verificar que el cartucho esté insertado correctamente.

Opinión de GN⁺

  • La evolución técnica del Game Boy representa un avance importante en la historia de las consolas portátiles.
  • El enfoque de Nintendo con el SoC fue innovador en el diseño de hardware y dificultó que los competidores crearan clones.
  • La retrocompatibilidad del Game Boy Color ofreció una gran ventaja tanto para desarrolladores como para usuarios.

1 comentarios

 
GN⁺ 2023-12-28
Comentarios en Hacker News
  • Lo sorprendente del desarrollo del Game Boy original es que, en ese momento, el equipo de Yokoi Gunpei enfrentó bastante escepticismo. Había opiniones de que sería incómodo jugar en el autobús o en el baño. Su visión era crear un dispositivo que ofreciera juegos simples y cortos usando tecnología sencilla. Este equipo fue protagonista en el inicio de los juegos móviles.
  • Se mencionó al Game Boy Color, pero no se corrigió la parte que decía que el tamaño del cartucho era de 1 MB. Algunos juegos de GBC llegan a 4 MB. Además, también hay un juego de trenes de 8 MB, que incluye videos cortos e imágenes de alta calidad.
  • Gracias por la demo usando audio de Pokémon. Fue un viaje de nostalgia.
  • El Game Boy sigue siendo mi consola favorita de todos los tiempos. Ahora mismo estoy desarrollando un juego de pinball dungeon crawler en ASM (lenguaje ensamblador). El hardware es fácil de entender y las limitaciones exigen creatividad.
  • Me pregunto si ahora vivimos en una época en la que cualquiera puede comprar las piezas y el PCB necesarios para recrear un Game Boy.
  • ¿Qué se puede hacer aprendiendo la arquitectura del Game Boy? ¿Acaso estás planeando hackear la Tierra?
  • Hay un libro completo sobre el Game Boy, pero lamentablemente no ha sido traducido al inglés. Lo compré en español. Incluye entrevistas únicas con sus creadores.