Présentation du hardware DS

1) Présentation

La Nintendo Dual Screen, ou DS, est une console portable. Je précise au cas où vous ne seriez pas au courant ... Développée par Nintendo, elle est dotée de 2 processeurs, de la même famille, un ARM946E-S, cadencé à 67 MHz, et un ARM7TDMI, cadencé à 33 MHz. Pour le moment, nous n’utiliserons “que” l’ARM9, pour la simple et bonne raison que c’est celui qui nous permet d’utiliser les fonctions principales de la DS. Mais par la suite, nous utiliserons le second processeur.

2) Connexion sans fil

La DS gère la communication sans fil de 2 manières : en utilisant la norme IEEE 802.11 pour la connexion à internet, et un format propriétaire Nintendo, le NiFi, pour communiquer entre DS. La première méthode peut être gérée via la libwifi, mais il n’y a encore aucune librairie fonctionnelle permettant d’utiliser le NiFi.

3) Contrôles/sorties

La DS est dotée de 2 écrans, dont un tactile. Ils ont tous les deux une résolution de 256×192 pixels, un pitch de 0,24 mm et ils gèrent 262 000 couleurs. En plus de l’écran tactile, la DS possède de nombreux contrôles : une croix multidirectionnelle, et 8 boutons X, Y, A, B, L, R, Start et Select. Elle dispose également d’un micro intégré, en dessous de l’écran tactile pour les DS, et entre les deux écrans pour la DS Lite. Enfin, elle dispose de 2 haut-parleurs stéréo.

4) Mémoire

La DS est dotée de 4 Mo de mémoire RAM. De plus, l’ARM7 peut accéder à une mémoire de 64 ko, et la console possède également une zone de mémoire partagée par l’ARM9 et l’ARM7, de 32 ko. Enfin, une mémoire de 656 ko est réservée à la vidéo, c’est-à-dire à l’unité graphique de la DS. Le tableau suivant montre les types de données utilisés par la DS, et leurs equivalents utilisés par GCC :

Nom Taille en bits
Types génériques
Nibble 4
Octet (byte) 8
Demi-mot (halfword ou hword) 16
Mot (word) 32
Double-mot (doubleword ou dword) 64
Types utilisés par GCC
char 8
short 16
long 32
long long 64
float 32
double 64

Voici également un tableau des différents types déclarés par la libnds :

Non-signéSigné Volatile non-signéVolatile signéTaille en bitsAbbréviations
bool - - - 8 -
uint8 int8 vuint8 vint8 8 u8, s8, vu8, vs8
uint16 int16 vuint16 vint16 16 u16, s16, vu16, vs16
uint32 int32 vuint32 vint32 32 u32, s32, vu32, vs32
uint64 int64 vuint64 vint64 64 u64, s64, vu64, vs64
- float32- vfloat32 32 -
- float64- vfloat64 64 -

De plus, la DS est Little Endian, donc les octets qui composent chaque mot sont inversés. Par exemple le double-mot 0xBADC0FEE sera stocké comme suit :

Octet 0 1 2 3
ValeurEE0FDCBA

http://fr.wikipedia.org/wiki/Endianness

 
presentation.txt · Dernière modification: 31/07/2007 13:47 par 217.128.107.153
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki