Esta ha sido, sin duda, una de las consolas más vendidas a lo largo de la historia de nintendo. Mucha culpa de su éxito fue su diseño y el buen hacer de nintendo con los juegos que publicó para ella. Llegó a desbancar a todas las demás portátiles que hubo a lo largo de su vida, llegando a quedarse como reina indiscutible de las consolas de bolsillo. Sin embargo ¿cómo estaba hecha por dentro? A continuación vamos a dar un resumen del hardware que componía a esta consola.
Memoria:
La consola contenía 8KB memoria RAM y 8KB de memoria de video VRam, más memoria para atributos de sprites. La CPU de Gameboy podía direccionar un total de 64KB de memoria, que estaba dividida de la siguiente forma:
- Primeros 16KB (0×0000-0×4000) de memoria para el primer banco de la rom.
- Siguientes 16KB (0×4000-0×8000) de memoria para el resto de bancos de la rom. Las roms estaban divididas en bancos de 16KB. El primer banco de datos era accesible directamente desde la CPU, pero el resto de bancos se calculaban a partir de un registro con el índice del banco alque se quiere acceder. Estas zonas de memoria hacían referencia al cartucho introducido, no se encuentran físicamente en la consola.
- Siguientes 8 KB (0×8000-0xA000) para la memoria de video, o VRAM.
- Siguientes 8 KB (0xA000-0xC000) para los bancos intercambiables de memoria RAM (para poder acceder a la ram a través de bancos)
- Siguientes 8KB (0xC000-0xE000) para acceder a la memoria RAM directamente.
- Siguientes 8KB (0xE000-0xFE00) como “eco” de la memoria RAM. Permite acceder de la misma manera a lamemoria RAM que usando el direccionamiento anterior.
- Siguientes 100 bytes (0xFE00-0xFA00) para la OAM (tabla de atributos de sprites).
- Las direcciones 0xFEA0 hasta 0xFF80 eran usadas para las operaciones de entrada-salida, como el puerto de comunicaciones “Cable-Link”.
- El resto de direcciones (0xFF80-0xFFFF) se correspondían con ram interna y con registros especiales para interrupciones.
Video:
La pantalla consistía en un LCD de cuatro colores en escala de verdes, de 160×144 píxeles. El buffer de video consistía en un array de 256×256 píxeles, o 32×32 tiles. Las imágenes se construían a partir de tiles. La idea era la siguiente: se dividía la imagen que se quería mostrar en tiles de 8×8 píxeles, que luego se usaban para construir la imagen en el buffer de video. Un trozo de la VRAM se usaba para almacenar el “mapa de tiles”, al que se accedía para saber qué tiles se iban a mostrar en pantalla.
En pantalla se mostraban únicamente 160×144 píxeles del área total del buffer de video, y se usaban dos registros (SCROLLX y SCROLLY) para saber desde qué coordenada del buffer tenía que empezar a mostrar en el LCD.
Cada píxel del tileocupaba un byte, por lo que un tile ocupaba 16bytes. Cada byte representaba un color, que luego era usado por el circuito del LCD para traducirlo a una de las 4 posibles tonalidades.
CPU:
La CPU que usaba era la LR35902 a 4.194304 MHz, que se podía considerar equivalente a un Zilog Z80 modificado. Era muy similar en la mayoría de las instrucciones al Z80, pero algunas instrucciones del Z80 habían sido removidas o cambiadas, y otras nuevas habían sido añadidas.
Instrucciones nuevas:
LDI (HL),#$xx
LDD (HL),#$xx
SWAP A through L
LD A,($FFxx)
Instrucciones quitadas:
Cualquier instrucción que usara los registros IX o IY
Cualquier instrucción de input/output
Todas las instrucciones de intercambio
Todas las instrucciones de tipo ‘jp’ o ‘call basadas en los flags M o P
Instrucciones modificadas:
Las instrucciones ‘ld a,[x]’,'ld [x],a’ y ‘reti’ tienen opodes distintos
Sonido:
La Gameboy podía reproducir sonido de 4 formas distitas:
- Patrones cuadrangulares de onda con funciones de barrido y sonido envolvente
- Patrones cuadrangulares de onda con sonido envolvente
- Patrones de onda voluntarios
- Ruido blanco
Dimensiones:
La Gameboy original, medía 14.5×9x3.3 cm. Después se lanzó un nuevo modelo (la gameboy pocket) 13×7.7×2.2 cm. La primera necesitaba 4 pilas de 1.5 voltios para funcionar, mientras que la pocket usaba solo 2 pilas.
Soporte de juegos:
La Gameboy usaba cartuchos con memorias de tipo ROM, grabadas en chips. Los cartuchos podían hacer uso de memoria ram para poder grabar partidas. El pinout del cartucho era el siguiente:
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | +5 VDC |
| 2 | ? | ? Connected on Gameboy, but not used on GamePaks. |
| 3 | /RESET | Reset |
| 4 | /WR | Write |
| 5 | ? | ? Used by paging PAL on high capacity GamePaks. |
| 6 | A0 | Address 0 |
| 7 | A1 | Address 1 |
| 8 | A2 | Address 2 |
| 9 | A3 | Address 3 |
| 10 | A4 | Address 4 |
| 11 | A5 | Address 5 |
| 12 | A6 | Address 6 |
| 13 | A7 | Address 7 |
| 14 | A8 | Address 8 |
| 15 | A9 | Address 9 |
| 16 | A10 | Address 10 |
| 17 | A11 | Address 11 |
| 18 | A12 | Address 12 |
| 19 | A13 | Address 13 |
| 20 | A14 | Address 14 |
| 21 | /CS | Chip Select |
| 22 | D0 | Data 0 |
| 23 | D1 | Data 1 |
| 24 | D2 | Data 2 |
| 25 | D3 | Data 3 |
| 26 | D4 | Data 4 |
| 27 | D5 | Data 5 |
| 28 | D6 | Data 6 |
| 29 | D7 | Data 7 |
| 30 | /RD | Read |
| 31 | ? | ? Connected on Gameboy, but not used on Game-Paks. |
| 32 | GND | Ground |
Espero que os haya gustado. La mayoría de la información ha sido sacada de las siguientes páginas: Emulatronia
Artículos Relacionados
ningún usuario respondió
Escribe aquí tu comentario
Este blog utiliza moderación de comentarios. En ciertas condiciones, puede producirse un cierto retraso entre el envío del comentario y su publicación. Por favor, no envíe su comentario por segunda vez si no aparece inmediatamente.