The Nintendo DS (2004) introduced dual-screen, touch, and wireless to handhelds. Here's the technical breakdown:
| Component | Spec | Role |
|---|---|---|
| CPU Main (ARM9) | ARM946E-S @ 67 MHz | Main game logic, 3D geometry, sound mixing, system OS. |
| CPU Sub (ARM7) | ARM7TDMI @ 33 MHz | Touchscreen, Wi-Fi, sound hardware (PSG/PCM), GBA backward compat, power management. |
| 3D GPU | Custom (integrated in ARM9 bus) | 2048 polygons/frame, 6144 vertices, 128KB VRAM, Toon shading, Alpha blending, Fog. No pixel shaders. |
| 2D Engines (x2) | Backgrounds (4 per screen), Sprites (128 per screen), Affine/BG rotation/scaling. | Classic 2D, UI, text. One per screen. |
| Screens | Top: 3.0" TFT 256×192. Bottom: 3.0" Resistive Touch 256×192. | Top: Main view. Bottom: Touch input, maps, menus, 2nd view. |
| RAM | 4 MB Main (PSRAM) + 656 KB VRAM + 32 KB WRAM (ARM7) | Tight. Developers streamed assets from cart. |
| Cartridge (Slot-1) | 512 Mbit – 2 Gbit (64MB–256MB). Fast ROM, Save Flash/EEPROM/FRAM. | Game code + assets. Execute-in-place (XIP) for code. |
| GBA Slot (Slot-2) | 32-bit bus, 16MB addressable. | GBA carts, Rumble Pak, Memory Expansion Pak (Opera Browser, DS Linux), Guitar Grip. |
| Wi-Fi | 802.11b (2.4 GHz), Custom protocol (NiFi) for local MP. | Local (30ft, 16 players), Nintendo WFC (Internet, shutdown 2014), DSi Shop. |
| Mic | Bottom hinge. | Voice recognition (Nintendogs, Zelda Phantom Hourglass), chat. |
| RTC | Real-Time Clock (CR2032 coin cell on mobo). | Time-based events (Animal Crossing, Pokémon). |
| Power | 3.7V 850mAh Li-ion (DS/DS Lite), 1000mAh (DSi). 5-19 hrs. |
touchRead(), touchPosition struct. Calibration stored in firmware.Dual-screen + touch enabled genres: Trauma Center (surgery), Hotel Dusk (notebook UI), Zelda PH/ST (direct control), Elite Beat Agents (rhythm), Brain Age (writing), Mario 64 DS (map/touch cam).
DSi (2008) added: Cameras, SD slot, DSiWare, faster CPU (133/66 MHz), 16MB RAM, no GBA slot.