« Arquitectura Game Boy Advance (index)

Arquitectura Game Boy Advance

Chapter 7: Juegos


Tabla de contenidos

  1. Acceso a los datos del cartucho
  2. Memoria RAM del cartucho
  3. Accesorios
    1. El nuevo puerto EXT
    2. Cambios internos
    3. Modos de intercambio
    4. Aún más modos

Los juegos se distribuyen en un nuevo formato de cartucho propietario que sigue llamándose Game Pak, pero presenta un diseño más pequeño.

Image
El nuevo diseño del Game Pak para juegos de GBA .

La programación para la GBA comparte algunas metodologías con la Super Nintendo, pero también hereda los avances de principios de los 2000: lenguajes de alto nivel estandarizados, compiladores fiables, CPUs RISC depurables, estaciones de trabajo no propietarias para el desarrollo, documentación comparativamente mejor y... ¡acceso a Internet!

Los programas de GBA se escriben principalmente en C con secciones de rendimiento crítico en ensamblador (ARM y Thumb) para ahorrar ciclos. El SDK oficial que Nintendo suministraba a los estudios autorizados incluía bibliotecas y compiladores.

Acceso a los datos del cartucho

Aunque el ARM7 tiene un bus de direcciones de 32 bits, hay solo 24 líneas de dirección conectadas al cartucho.

Esto significa, en teoría, que se puede acceder a hasta 16 MB en el cartucho sin necesidad de un mapeador. Sin embargo, el mapa de memoria muestra que 32 MB de datos del cartucho son accesibles . Entonces, ¿qué está pasando aquí? La verdad es que la Game Pak utiliza direcciones de 25 bits (lo que explica ese bloque de 32 MB) pero su bit más inferior está fijado a cero. Por lo tanto, solo se manipulan los 24 bits restantes. Así funciona el direccionamiento del Game Pak.

Image
Representación del modelo de direccionamiento del Game Pak. Fíjate en cómo el último bit de la dirección de 25 bits (llamado 'A0') siempre es cero. También debo señalar que en realidad, las patillas de direcciones y datos están compartidas/multiplexadas.

Ahora bien, ¿significa esto que los datos situados en direcciones impares (con su bit menos significativo a 1) serán inaccesibles? No, porque el bus de datos es de 16 bits: en cada transferencia, la CPU o el controlador DMA obtiene el byte de la dirección indicada junto con el siguiente, lo que permite leer tanto direcciones pares como impares. Como puedes ver, se trata de otra obra de ingeniería que aprovecha al máximo las capacidades del hardware al tiempo que reduce los costes.

Curiosamente, las CPUs ARM de 26 bits también recurrían a la misma técnica. Estas albergaban un Contador de Programa de 24 bits, ya que las direcciones debían ser múltiplos de ocho (es decir, alineadas por palabra), por lo que los dos últimos bits de la dirección de 26 bits siempre eran ceros. Sin embargo, dado que estas CPUs leen 32 bits de memoria (el byte de la dirección indicada más los tres siguientes), se puede acceder a todo el espacio de direcciones de 26 bits.

Memoria RAM del cartucho

Para guardar partidas, los Game Pak podrían incluir :

Accesorios

A lo largo de su ciclo de vida, la GBA contó con una interesante gama de accesorios que reimaginaron las posibilidades de uso de esta consola. Muchos de ellos sacaron partido de Multi-boot, la versatilidad del puerto EXT y la flexibilidad de la ranura del Game Pak.

El nuevo puerto EXT

La anterior conexión Game Boy Link (también llamada 'EXT' o interfaz serie) recibió una nueva actualización. Los mismos 6 pines que ofrecían capacidades multijugador y accesorios se mantuvieron, pero la electrónica de cada pin evolucionó significativamente.

El nuevo cable Link diseñado para la GBA presenta varios rasgos novedosos:

El nuevo diseño lo hace incompatible con las consolas anteriores (y sus juegos). Sin embargo, permite encadenar hasta cuatro GBA con facilidad, estandarizando así arenas multijugador más grandes.

Nintendo también lanzó una variante llamada 'cable GameCube-Game Boy Advance', específicamente diseñado para conectar una GBA a una GameCube. Lo explico con más detalle en la siguiente pestaña.

Cambios internos

Desde el lado de la consola, la conexión serie original se amplió con modos de operación adicionales, seleccionables mediante dos registros.

Estos modos se agrupan en dos categorías:

Los juegos de GBA pueden elegir entre modos síncronos y asíncronos, mientras que los títulos de Game Boy que corren en la GBA están restringidos a sus modos SPI heredados. 'Oficialmente', estos últimos solo admiten el cable Link original, pero he aquí algo curioso: los juegos de GB también funcionan con dos cables Link de GBA encadenados y conectados a las consolas por los extremos grises (convirtiendo a ambas en esclavas). Esto se debe a que esa configuración cruza las líneas de datos entre las dos consolas, replicando el esquema del cable Link original.

Modos de intercambio

El conector EXT proporciona cuatro pines programables, que la consola gestiona a través de los siguientes modos de operación :

Dicho esto, ¿recuerdas Multi-boot? Esta función es compatible tanto con el Modo Normal como con el Modo Multi-jugador. Corresponde al maestro elegir cuál. La elección depende del número de periféricos y de la velocidad necesaria.

Aún más modos

Image
El cable GameCube-Game Boy Advance , específicamente diseñado para conectarse al puerto del controlador de la GameCube (gestionado por la Interfaz Serie).

Para accesorios muy concretos, hay modos de comunicación adicionales disponibles:


Previous: 6. Sistema Operativo

Next: 8. Anti-Piratería y Homebrew


Rodrigo Copetti © 2026 RSS Feed

Ir a la edición moderna

Inicio · Escritos · Soporte · Acerca del autor · Acerca del sitio web