====== 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 [[this>gb:gamepak_v1_fr|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 [[http://users.tkk.fi/~vhelin/wla.html|WLA DX website]] ==== TASM ==== {{:misc:interrogation.png?20x30 |:misc:interrogation.png}}//Avant 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 [[http://dosbox.sourceforge.net/|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 [[http://gbdk.sourceforge.net/|GBDK website]] ===== Emulateur ===== gnuboy ===== Les documents indispensables ===== * {{:gb_linux_data:pandocs.txt|Pan Document}} * {{:gb_linux_data:gbcpuman.pdf|Game Boy(tm) CPU Manual}} * {{:gb_linux_data:um0080.pdf|Zilog's Z80 datasheet}} \\ //Game Boy(tm), Game Boy Pocket(tm) & Game Boy Color(tm) are registered trademarks of Nintendo CO., LTD.// //All trademarks stated in this website are the property of their respective owners.//