Imágenes compatibles
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
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:
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
Comentarios en Hacker News