To be honest, the I/O capabilities of the Nintendo DS are worthy of separate study. Once unaffordable equipment such as wireless connectivity, a touchscreen, a Real-Time Clock (RTC), and a microphone, combined with flagship software, made this console stand out every single year of its lifecycle. I would say Nintendo delivered the right innovation, at the right price, at the right time; a philosophy reaffirmed with the arrival of the Wii, two years later.
Under the hood, however, I/O components are strictly handled by the ARM7. In fact, you won't see much activity on that CPU beyond passing data around... which ultimately leaves the ARM7 a bit underused.
Accessing cartridges and memory
Starting with the internals, there's a Memory Interface block connecting three endpoints:
- A 17-pin Slot-1, where Nintendo DS cards go.
- A 32-pin Slot-2, where GBA Game Paks or accessories (e.g. the Rumble Pak) reside.
- 4 MB of PSRAM, that's main memory.
The interface can be accessed by both CPUs, but it contains registers that are modified to prioritise one CPU over the other, if two requests are issued on the same bus at the same time.

External memory model with labelled data bus width.
Inside Slot-1 cards
Now, here's the challenging bit: unlike the old GamePak, DS cards are not memory-mapped, they use multiple serial interfaces to communicate. So, for either CPU to read the card's content, this must be copied to RAM first.
In the case of the card's ROM chip, the CPU must send blocks of 64-bit commands, referencing 32-bit addresses, to the DS card. Afterwards, the data can be retrieved either by pulling from a 32-bit register or through DMA. The data bus is 4 bits wide and, depending on the type of ROM fitted, it can reach speeds of up to 6.7 MB/s .
Alongside the DS card ROM, there is typically a 'backup' chip used for storing save data. These chips are instead accessed using a Serial Peripheral Interface (SPI) bus . In there, we may find:
- EEPROM or flash memory: As Game Paks previously included.
- Ferroelectric RAM (FRAM): Behaves like Static RAM (SRAM) but doesn't require a battery.
Curiously enough, some games repurposed the SPI bus to include special hardware, such as:
- An Infrared controller: Certain Pokémon titles bundle an infrared sensor and emitter in their card, either to communicate with an external pedometer (the Pokéwalker), or to interact with other players before using Wi-Fi (I'm guessing, as an extra copy-protection mechanism).
- A Bluetooth 2.1 controller: The game Learn with Pokémon: Typing Adventure housed a Broadcom BCM2070 controller inside its card . This was used to connect to the wireless keyboard included with the game's box.
- A MicroSD adapter: The Japan-exclusive DSvision 'game' allowed users to play movies on the Nintendo DS (you could call it a spiritual successor to GBA Video). The movies were either sold on 512 MB DSvision-branded MicroSD cards , or downloaded from their servers and transferred using a proprietary USB-MicrosSD adapter . In both cases, the data employed digital rights management to prevent third-party access or modification.
- You may recall MicroSD as the main ingredient for 'Flashcards'. The idea is similar but the execution is very different. I go into more details later in the 'Anti-piracy' section.
Inside Slot-2 cartridges
At the bottom of the console, the Slot-2 is memory-mapped using the original pinout, but the addresses are slightly shifted in DS mode. However, just like the GBA, the ROM data bus is 16-bit wide and the RAM data bus is 8-bit wide.
Peripherals
The ARM7 is also connected to another SPI node that interfaces with the touchscreen controller, which drives the bottom screen. It is made of a resistive panel, requiring the use of a stylus. The bus also connects to flash memory, where the firmware is stored (more details are explained in the 'Operating System' section).

A switchboard puzzle. To rescue the lassie, the player had to swipe the screen using two fingers at the same time to switch on the lights.
A curious aspect of this touchscreen is that, in addition to detecting the X/Y positions, it can also return the diagonal position (used to calculate the 'pressure value', which represents the area over which pressure is being applied). Unfortunately, this was never officially exposed. So, as far as I know, no commercial game made use of this undocumented feature, except homebrew.
As soon as this article was shared across different forums, many readers pointed out that Hotel Dusk: Room 215 relied on this feature for one of its puzzles, where the player is instructed to use two fingers at the same time. This is not the case, however. After running a series of experiments with the no$gba debugger, I noticed the puzzle does not make use of pressure data. Instead, it checks whether the X/Y values alternate sharply. The game interprets this behaviour as though the player were pressing the screen with two fingers.
The touchscreen controller is also connected to the console's microphone. Games operate it by simply switching an amplifier on, and then issuing SPI commands to get its input, bit by bit . The captured audio has a resolution of 8 bits, but its sampling rate depends on how many cycles the ARM7 plans to dedicate to pulling samples. In general, while the microphone is very primitive in terms of capability, games either used it as a basic speech detector, or to identify actions such as blowing into it. WarioWare: Touched! and the Nintendogs series are examples of games that leveraged microphone use.
Finally, in the same stack, we find the Real-Time Clock (RTC). Some titles relied on it to evolve their scenery as time progressed. Games like Animal Crossing: Wild World, The Sims 2, and the Pokémon series are notable examples. The operating system in this console also kept an internal calendar for one of its services.
Wireless network
Last but not least, the console houses a dedicated Wireless Controller that implements the IEEE 802.11b specification, also known as 'Wi-Fi'. The controller operates in the 2.4 GHz band, where Nintendo implemented many innovative services to enable multiplayer gaming :
- Internet Play: The console connects to an existing Wi-Fi Access Point (AP) to communicate with an online server.
- This time, Nintendo provided the necessary network infrastructure and libraries to handle authentication and matchmaking. Afterwards, all client-server communication was handled by servers bundling SSLv3 certificates signed by Nintendo .
- For encrypted Access Point connections, the console supported only Wired Equivalent Privacy (WEP), a protocol that is now considered insecure.
- Multi-card Play: Sets up the Nintendo DS as an Access Point with a custom identifier, allowing up to 15 consoles to connect to it.
- Single-card Play: The successor of Multiboot, enabling the game to upload a small program to another DS. This was particularly useful when a group of friends had only one copy of the game card.
You may remember that these were also marketed under the memorable 'Nintendo Wi-Fi Connection' logo.
