header
[[stellae:wiki]] 
 

Mini-Guide de la programmation game boy sous linux

Cet article est focalisé sur l’aspect logiciel de la programmation sur game boy sous linux. Pour la partie matérielle, vous devriez vous diriger vers la page dediée à la réalisation d’une cartouche programmable.

Il est à noter qu’il s’agit ici des consoles Game Boy (originales) et ces derivées (GB pocket & GB pocket light) ainsi qu’à la Game Boy color. Certes, tout ceci est bien loin des consoles nintendo plus modernes telles que les différentes Game Boy Advance ou encore la Nintendo DS. Mais ces veilles machines présentent au moins deux avantages, il est facile de s’en procurer d’occasion pour une modique somme et le développement sur ces plateformes reste abordable pour tous avec un investissement en temps relativement faible. Si, comme moi, vous considérez la Game Boy comme une des machines qui a marquée les années 90, c’est le moment de devenir les maîtres du jeu...

Les explications données ici visent essentiellement les utilisateurs de linux car elles visent à toucher un maximum de plateformes matérielle differentes. Je rappelle néanmoins aux utilisateurs de MS Windows que le sujet est déjà bien documenté sur le web et que, s’ils le désirent, peuvent faire fonctionner tout ce qui est exposé ici s’ils utilisent Cygwin. Voici donc tout le monde rassuré, entrons dans le vif du sujet.

L'assembleur

WLA DX

WLA DX semble être un très bon assembleur sous licence GPL. Je l’ai découvert il y a peu de temps, et cet outil m’apporte entière satisfaction pour le moment. Cependant, j’attends de l’avoir utilisé plus intensivement pour donner un avis objectif.

WLA DX est écrit en C et compile très bien sur de nombreuses machines.

Voici ma version précompilée linux/sparc64-static (pas de dépendances) :

  • wla_dx_9.4a-static_sparc64.tar.gz
21efe7d85c4fda29005fc3c0675ac06  wla_dx_9.4a-static_sparc64.tar.gz

Yet Another GB-Z80/Z80/6502/65C02/6510/65816/HUC6280/SPC-700 Multi Platform Cross Assembler Package Written by Ville Helin in 1998-2006

WLA DX website

TASM

:misc:interrogation.pngAvant toute chose, il est à noter que TASM n’est pas gratuit en cas d’utilisation intensive, merci de vous réferer au fichier “COPYRIGHT” inclu dans l’archive. Ceci déroge quelque peu aux valeurs de ce site, mais voici les raisons qui me poussent à présenter tout de même cet outil :

  • Cet outil est extrêmement léger et de très bonne qualité.
  • La démo que j’ai écrite pour illustrer cette section à pris des rides mais compile parfaitement sous TASM.
  • Beaucoup de demos GB sur Internet dont le source est disponible utilise cet assembleur.

Si vous ne souhaitez pas utiliser cet outil, vous pouvez vous en tenir à WLA DX, il devrait parfaitement faire l’affaire. Le portage de la démo presentée ici sur WLA DX n’est pas prévu pour l’instant, mais reste envisageable.

TASM est un assembleur croisé qui fonctionne à l’origine sous DOS pure. C’est pourquoi l’utilisation de DOSBox est indispensable.

Pour terminer, notez que vous pouvez utiliser DOSBox pour faire fonctionner divers petits outils DOS destinés à la création de sons, maps... pour GameBoy.

Programmation en C avec GBDK

GBDK (GameBoy Developers Kit) fournit tout ce vous avez besoin pour programmer en C. Des examples sont fournis dans l’archive du source et dans les paquets présentés ici.

Voici 2 versions précompilée : linux/sparc64-static et linux/mipsel_EE-static (Playstation2).

  • gbdk-2.96a-static_sparc64.tar.gz [md5: 8508646e9c9168d5c570e5d3eac2aa10]
  • gbdk-2.96a-static_mipsel_EE.tar.gz [md5: 595d91e8047b6ac053ecbda2d548e626]
8508646e9c9168d5c570e5d3eac2aa10  gbdk-2.96a-static_sparc64.tar.gz
595d91e8047b6ac053ecbda2d548e626  gbdk-2.96a-static_mipsel_EE.tar.gz

GBDK website

Emulateur

gnuboy

Les documents indispensables


Game Boy™, Game Boy Pocket™ & Game Boy Color™ are registered trademarks of Nintendo CO., LTD.

All trademarks stated in this website are the property of their respective owners.

 
gb/programming_howto_fr.txt · Dernière modification: 2007/02/22 22:03 par stellae
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki