Environnement de développement d'applications

Contraintes d'affichage
La GBA dispose de plusieurs modes graphiques (bitmap et mosaïque).

Modes bitmap
Mode 3 (240 x 160 x 16 bits) : beau, plein écran mais seulement une image. Il correspond à un buffer linéaire. Cela veut dire qu'il suffit de définir un tableau qui démarre au début de la mémoire vidéo et chaque valeur de ce tableau correspond à un pixel de l'image. Ceci permet d'obtenir des beaux graphiques mais ce n'est pas beaucoup utilisé pour les animations comme le processeur n'est pas très assez rapide pour redessiner une scène complexe pour chaque image.

Mode 4 (240 x 160 x 8 bits) : moins beau que 16 bits mais correct, plein écran et un double buffer. Ce mode est identique au mode 3, à l'exception qu'une table de couleurs est utilisée. A la place de stocker des couleurs 16 bits, le tableau stocke une référence à une couleur de la palette stockée dans la table. Cela permet de dessiner un écran avec la moitié de la mémoire (affichage deux fois plus rapide et stockage de deux images dans la mémoire). Cela permet de dessiner un écran pendant qu'on affiche l'autre. Ce procédé est appelé "double buffering". Il permet des animations fluides.

Mode 5 (160 x 128 x 16 bits) : beaucoup de couleurs mais pas plein écran (doit être redimensionné). Ce mode mélange les modes 3 et 4 (respectivement le buffer linéaire de 16 bits et la possibilité d'avoir un double buffer). Mais le redimensionnement entraîne des imperfections dans l'image.

Modes mosaïque
Les modes 0 à 2 fonctionnent comme des mosaïques. L'écran est divisé en carrés de 8 x 8 pixels. Cela implique de placer dans la mémoire vidéo plusieurs mosaïques (jusqu'à 1024) ainsi qu'une carte pointant sur les différentes mosaïques. Le processeur vidéo regarde la carte et construit alors l'écran avec les mosaïques spécifiées. L'écran peut alors être de 256 x 256 à 1024 x 1024 pixels.

Développement
Le développement d'application pour la GameBoy Advance n'impose aucun outil officiel. Les langages utilisés sont le C et le C++. Les deux compilateurs C les plus populaires sont ARM/Thumb GCC et ARM/Thumb SDT (Software Development Toolkit).

GCC est un compilateur gratuit. Les développeurs officiels utilisent généralement GCC. Pour que celui-ci soit effectif, il doit avoir été compilé pour générer du code Thumb et / ou ARM. La plupart des développeurs utilisent un compilateur pour Thumb car le code privilégie la simplicité à la performance. Il est également possible de combiner les deux types de code. Ainsi le code assembleur ARM est plus efficace mais plus gros car les instructions ARM prennent quatre octets alors que les instructions Thumb n'en prennent que deux.

L'outil qui semble le plus simple d'utilisation est l'ARM SDT, celui-ci est accompagné du compilateur ainsi que d'une interface de développement. Ce logiciel est disponible en version d'évaluation pendant 60 jours. Son prix s'élève à US$ 4500. Il est compatible avec Microsoft Windows (NT 4/95/98), Sun Solaris (2.5/2.6) et HP/UX (10). A noter qu'il est possible d'utiliser Visual C++ 6.0 avec le compilateur SDT pour développer les applications.


Mis à jour le 25 octobre 2001