« Arquitectura de la Nintendo DS (index)

Arquitectura de la Nintendo DS

Chapter 6: E/S


Tabla de contenidos

  1. Acceso a cartuchos y memoria
    1. Dentro de las tarjetas Slot-1
    2. Dentro de los cartuchos Slot-2
  2. Periféricos
  3. Red inalámbrica

A decir verdad, las capacidades de E/S de la Nintendo DS merecen un estudio aparte. Equipos que antes estaban fuera del alcance del gran público —como la conectividad inalámbrica, una pantalla táctil, un Reloj en Tiempo Real (RTC, del inglés Real-Time Clock) y un micrófono— combinados con software de primera categoría, hicieron destacar a esta consola año tras año durante todo su ciclo de vida. Diría que Nintendo acertó con la innovación adecuada, al precio adecuado y en el momento adecuado; una filosofía reafirmada con la llegada de la Wii, dos años después.

Bajo el capó, sin embargo, los componentes de E/S son gestionados en exclusiva por el ARM7. De hecho, más allá de transferir datos de un lado a otro, no verás demasiada actividad en esa CPU... lo que, en última instancia, deja al ARM7 un tanto desaprovechado.

Acceso a cartuchos y memoria

En cuanto a los componentes internos, hay un bloque de Memory Interface que conecta tres extremos:

Ambas CPU pueden acceder a esta interfaz, aunque contiene registros que se modifican para priorizar una CPU sobre la otra en caso de que se emitan dos solicitudes simultáneas en el mismo bus.

Image
Modelo de memoria externa con el ancho del bus de datos etiquetado.

Dentro de las tarjetas Slot-1

Aquí viene la parte complicada: a diferencia del Game Pak original, las tarjetas DS no están mapeadas en memoria; utilizan múltiples interfaces serie para comunicarse. Por tanto, para que cualquiera de las CPU pueda leer el contenido de la tarjeta, este debe copiarse primero a la RAM.

En el caso del chip ROM de la tarjeta, la CPU debe enviar bloques de comandos de 64 bits que referencian direcciones de 32 bits a la tarjeta DS. Después, los datos pueden recuperarse bien extrayéndolos de un registro de 32 bits, bien mediante DMA. El bus de datos tiene 4 bits de ancho y, dependiendo del tipo de ROM instalada, puede alcanzar velocidades de hasta 6,7 MB/s .

Junto a la ROM de la tarjeta DS, suele haber un chip de 'respaldo' para almacenar los datos de guardado. A estos chips se accede mediante un bus de Interfaz Periférica Serie (SPI, del inglés Serial Peripheral Interface) . En él podemos encontrar:

Curiosamente, algunos juegos reutilizaron el bus SPI para incluir hardware especial, como:

Dentro de los cartuchos Slot-2

En la parte inferior de la consola, el Slot-2 está mapeado en memoria usando el patillaje original, aunque las direcciones están ligeramente desplazadas en modo DS. Sin embargo, al igual que en la GBA, el bus de datos de la ROM tiene 16 bits de ancho y el bus de datos de la RAM tiene 8 bits.

Periféricos

El ARM7 también está conectado a otro nodo SPI que hace de interfaz con el controlador de pantalla táctil, que gestiona la pantalla inferior. Está formada por un panel resistivo que requiere el uso de un lápiz stylus. El bus también conecta con la memoria flash donde se almacena el firmware (más detalles en la sección 'Sistema Operativo').

Image
Un puzle de centralita. Para rescatar a la chiquilla, el jugador tenía que deslizar la pantalla con dos dedos al mismo tiempo para encender las luces.

Image
Pero si lo haces mal...

Hotel Dusk: Room 215 (2007).

Una característica curiosa de esta pantalla táctil es que, además de detectar las posiciones X/Y, también puede devolver la posición diagonal (usada para calcular el 'valor de presión', que representa el área sobre la que se ejerce presión). Por desgracia, esta función nunca se expuso oficialmente. Así que, que yo sepa, ningún juego comercial hizo uso de esta característica indocumentada, salvo el homebrew.

En cuanto este artículo se difundió por distintos foros, muchos lectores señalaron que Hotel Dusk: Room 215 recurría a esta característica en uno de sus puzles, donde se le indica al jugador que use dos dedos al mismo tiempo . Sin embargo, no es así. Tras realizar una serie de experimentos con el depurador no$gba, observé que el puzle no hace uso de los datos de presión. En cambio, comprueba si los valores X/Y alternan de forma brusca. El juego interpreta este comportamiento como si el jugador estuviera presionando la pantalla con dos dedos.

El controlador de pantalla táctil también está conectado al micrófono de la consola. Los juegos lo operan simplemente activando un amplificador y después emitiendo comandos SPI para obtener su entrada, bit a bit . El audio capturado tiene una resolución de 8 bits, aunque su frecuencia de muestreo depende de cuántos ciclos el ARM7 tenga previsto dedicar a la extracción de muestras. En general, aunque el micrófono es muy básico en cuanto a capacidades, los juegos lo usaron bien como detector básico de voz o para identificar acciones como soplar en él. WarioWare: Touched! y la serie Nintendogs son ejemplos de juegos que aprovecharon el uso del micrófono.

Por último, en el mismo conjunto, encontramos el Reloj en Tiempo Real (RTC). Algunos títulos recurrieron a él para que los escenarios evolucionasen conforme avanzaba el tiempo. Juegos como Animal Crossing: Wild World, The Sims 2 y la serie Pokémon son ejemplos notables. El sistema operativo de esta consola también mantenía un calendario interno para uno de sus servicios.

Red inalámbrica

Por último, y no menos importante, la consola alberga un Controlador Inalámbrico dedicado que implementa la especificación IEEE 802.11b, también conocida como 'Wi-Fi'. El controlador opera en la banda de 2,4 GHz, donde Nintendo implementó numerosos servicios innovadores para habilitar el juego multijugador :

Puede que recuerdes que todo esto también se comercializó bajo el memorable logotipo 'Nintendo Wi-Fi Connection'.


Previous: 5. Audio

Next: 7. Sistema Operativo


Rodrigo Copetti © 2026 RSS Feed

Ir a la edición moderna

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