Login
Newsletter
Werbung

So, 22. Januar 2006, 00:00

Nintendo DS und Linux

In diesem Artikel geht es um den Nintendo DS (Abbildung 1) und die Portierung des Linux-Kernels.

Abb. 1: Nintendo DS geöffnet

Kai Lauterbach

Abb. 1: Nintendo DS geöffnet

Einleitung

Der Nintendo DS alias NDS ist auf dem deutschen Markt seit März 2005 erhältlich, in Japan und den USA seit Mai 2004. Er ist der direkte Nachfolger des Gameboy Advanced SP, wobei sich Nintendo einige Neuerungen ausgedacht hat. Der Name des Nintendo DS kommt von den beiden Bildschirmen, DS bedeutet hier Double Screen. Das Spielgefühl an sich wird durch das zweite Display nicht großartig beeinflusst, denn der untere Bildschirm, welcher mit dem Touchscreen ausgestattet worden ist, wird in den meisten Spielen nur als Übersichtskarte und/oder analoges Steuerkreuz verwendet. Der Daumen verdeckt also die meiste Zeit die Sicht auf den Schirm. Was die Eingabemöglichkeit angeht, wurde zu den üblichen Knöpfen auf dem Gamepad zwei weitere Möglichkeiten hinzugefügt, ein Touchscreen und ein Mikrofon zur Sprachsteuerung. Der Touchscreen nimmt durch die Verwendung recht schnell Gebrauchsspuren an, wobei Nintendo hat das Problem mit den Kratzern schon vor der Veröffentlichung erkannt hat. Als optional erhältliches Zubehör wurden Schutzfolien für die beiden Displays (2 Stück je Packung) gleich mit auf den Markt gebracht, der Kostenpunkt liegt bei ca. 10 EUR. Alles in allem glänzt der NDS durch seine Robustheit und Akkulaufzeit. Zudem ist die Tatsache, dass ein Gameboy Advanced im Gerät mit enthalten ist, von großem Vorteil, da man die alten GBA-Spiele nicht in einem anderen Gerät spielen muss, und mit ein bißchen Aufwand sogar eine kleine Linux-Distribution auf dem Gerät lauffähig ist.

Hardware

Technische Daten

Abgesehen von Nintendos Vermarktungs- und Verkaufs-Strategien ist der Nintendo DS eine interessante Plattform mit den folgenden Eigenschaften:

  • CPU ARM7 33 MHz (32-bit RISC; 130 MIPS)
  • CPU ARM9 66 MHz (32-bit RISC; 300 MIPS; MPU)
  • 4MB RAM
  • 2D/3D Grafik ­ 60 Frames/Sekunde ­ 656 KB RAM ­ maximal 262144 Farben gleichzeitig ­ 120k Polygone/Sekunde ­ 30M Polygone/Sekunde Pixelfüllrate
  • 8 Tasten (Start; Select; A; B; X; Y; R; L)
  • 2 LCDs ­ max. Auflösung 256x192 ­ Hintergrundbeleuchtung ­ Touchscreen im unterem Bildschirm
  • WLAN IEEE802.11-kompatibel
  • 2 Cardslots (NDS & GBA)
  • 16 Bit Stereo Sound
  • Internes Mikrofon
  • Kopfhörer-Ausgang

Allgemeine Infos

Abb. 2: Nintendo DS geschlossen

Kai Lauterbach

Abb. 2: Nintendo DS geschlossen

Das WLAN ist auf 10 Meter Reichweite und 2 Mbit/s beschränkt, und die Akkulaufzeit beträgt ca. 8 Stunden. Die Grafikhardware erzeugt, dank der neu entwickelten 3D-Engine, Bilder, die die des Nintendo 64 übertreffen. Effekte wie Cell Shading und Nebel, und dies bei 60 Frames/Sekunde. Das Timing der Displays ist mit dem NTSC-Standard kompatibel.

Der Nintendo DS muss zur Verwendung aufgeklappt werden, so das die Displays beim Transport geschützt sind (Abbildung 2). Zudem wird beim Zuklappen der Energiesparmodus aktiviert, der aber von dem aktuell laufendem Programm unterstützt werden muss. Eine Realtime Clock (RTC) und ein Wecker sind auch vorhanden, der jedoch über die Nintendo Firmware explizit eingeschaltet werden muss. Das Problem dabei ist, dass das NDS nicht abgeschaltet werden darf, da sonst der Wecker wieder inaktiv geschaltet wird.

Software

BIOS

  1. Original GBA: Original Gameboy Advanced Bios (kein Zugriff aus dem DS-Modus möglich)
  2. DS ARM7: Startadresse 0x00000000 (Die ersten 0x1205 Bytes sind nicht schreibbar)
  3. DS ARM9: Startadresse 0xFFFF0000

Firmware

Abb. 3: SL1

Kai Lauterbach

Abb. 3: SL1

Die Firmware ist in einem SPI Data Flash Chip gespeichert (256 KB Speicherkapazität). Der Code der Firmware ist verschlüsselt im Chip abgelegt und wird beim Laden in das RAM durch das BIOS entschlüsselt. Es beinhaltet das Bootmenü und den Pictochat. Die ersten 64 KB sind schreibgeschützt. Dieser Schreibschutz kann durch das Überbrücken eines dafür vorgesehenen Pins auf dem Mainboard temporär entfernt werden (Abbildung 3). Fünf verschiedene Versionen sind bereits von Nintendo ausgeliefert worden. Bei den letzten beiden ist das Starten von nicht zertifiziertem Code bis jetzt sehr umständlich. Die letzte Version der Firmware (512KB) beinhaltet Code, um ein Umgehen der Sicherheitsrichtlinien zu verhindern. Es werden zudem Benutzerdaten wie Systemsprache, Lieblingsfarbe, Alarm, Touchscreen-Kalibrierung etc. gespeichert. Der Health Screen (Abbildung 4) ist auch in der Firmware abgelegt. Mit dem in der Firmware enthaltenen Pictochat kann mit mehreren NDS per Text und Bild über WLAN kommuniziert werden, man beachte hierbei die Reichweite der WLAN-Hardware und die Flüchtigkeit der übertragenen Daten.

NDS

In diesem Modus können beide Bildschirme, der Touchscreen, die 3D-Hardware sowie WLAN verwendet werden. Die GBA-Hardware wie z.B. die ARM7-CPU muss explizit aktiviert werden. Sie ist im Normalfall inaktiv, um Strom zu sparen.

GBA

Im GBA-Modus kann nur jeweils auf ein LCD zugegriffen werden, welches über die Nintendo-Firmware durch den User festgelegt wird. Der Touchscreen und die WLAN-Hardware ist deaktiviert und Powermanagement ist nicht möglich. Die Speicherkapazität einer originalen GBA- Spielekarte variiert. Backup-Speicherkarten sind z.Zt. bis zu einer Größe von 4 Gbit verfügbar. Zudem gibt es Supercards mit der Möglichkeit, SD/MMC- und CF 1-Karten zu verwenden. Das Maximum liegt hierbei bei ca. 4 GB.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung