Creezvosjeux ~ 2003


Quelques conseils



Je ne peux pas vous laisser comme ça, alors comme je suis au moins aussi cool qu'Huguy, je vais vous filer encore quelques tuyaux!

Ce qu'il vous reste à faire maintenant c'est d'apprendre KallistiOS, pour cela le meilleur moyen est de lire le manuel situé dans le répertoire doc/manual (il s'agit d'un fichier *.lyx qui doit normalement être lu avec Lyx mais si vous ne l'avez pas ouvrez le avec Textpad, il y aura quelques lignes commençant par "/" que vous devrez ignorer mais ça reste lisible). Il vous faut aussi voir les exemples qui sont un très bon moyen d'apprendre pleins de choses (vous aurez souvent réponse à bon nombre de vos problèmes).

Si vous avez besoin d'aide, le meilleur moyen est de contacter la communauté via les mailing list, kesako? Il s'agit tout simplement d'un système de boite aux lettres email ouvertes au public, c'est un bon moyen si vous avez des questions techniques (n'en abusez pas non plus si c'est pour poser des questions évidentes qui ont réponse dans la documentation de KallistiOS, abstenez vous!):

Pour vous inscrire:


DCdev Yahoo
KallistiOS

Pour vous guider encore un peu plus dans l'apprentissage de KallistiOS, sachez qu'il est nécessaire d'apprendre et de comprendre comment fonctionne le Tile Accelerator (qui est le procédé de rendu graphique du chipset graphique PowerVR de la Dreamcast), vous trouverez une fois de plus la documentation dans le manuel de KallistiOS.

Pourquoi? Tout simplement parce que la Dreamcast a été conçue pour être utilisée comme cela et c'est la méthode la plus rapide et la plus efficace pour afficher des graphismes. Concrètement c"est quoi? Le Tile Accelerator divise l'écran en petits carrés de taille fixe (par exemple 32*32 pixels) totalement manipulables (cela fait d'ailleurs étrangement penser au hardware de la PCengine, normal c'est aussi NEC qui était dans le coup!). Il gère en outre une liste de polygones et de vecteurs qui seront ensuite rendus en hardware. Vous allez voir, c'est assez simple à manipuler. Même si vous faites de la 2D, je vous conseille d'utiliser le Tile Accelerator pour optimiser les performances (vous pourrez en plus faire du bilinear filtering!).

Cerise sur le gâteau, Dan Potter a inclus dans KallistiOS ce que l'on pourrait appeler une simulation d'OpenGL (la Dreamcast ne possède pas de driver OpenGL donc ne peut faire de l'OpenGL à proprement parler), ce qui s'appelle KGL: ça ressemble à l'OpenGl, ça se programme comme l'OpenGL (à quelques exception près), donc c'est du tout bon!

Si ça ne vous suffit pas, sachez que sont livrées avec KallistiOS des librairies annexes (avec des exemples!) permettant d'utiliser du Jpeg ou du PNG dans vos programmes, ainsi que du ogg (format similaire au mp3), à vous de découvrir tout ça! (je trouve que c'est la grande classe!)

Une dernière chose pour finir, vous vous demandez peut être si vous avez parcouru les exemples ce que sont les romdisks, hé bien, réfléchissez un instant... Si vous écrivez un programme qui affiche une image "exemple.jpg", vous aurez après avoir compilé votre programme deux fichiers: l'image et le programme, donc comment allez vous faire pour l'envoyer à votre Dreamcast? Tout simplement en créant une rom qui contiendra l'image et le programme pour ne faire au final qu'un fichier *.bin exécutable que vous n'aurez qu'à lancer sur votre Dreamcast! Pour créer une romdisk, allez voir genromfs dans les utilitaires, et consultez la documentation (je ne le dirai jamais assez!).

Si vous souhaitez développer par contre un émulateur (par exemple) qui devra lire les roms sur un CD, la situation est différente: vous aurez alors d'un côté le CD sur lequel vous aurez mis les roms que vous introduirez dans votre Dreamcast après avoir lancé votre CD de DCLoad ou de Serial Upload Slave, en effet ces programmes n'ont plus besoin de lire sur le CD dès que vous les avez lancés, ils se chargeront en RAM. Ensuite vous n'avez qu'à uploader sur la Dreamcast l'émulateur sur lequel vous travaillez et ô magie, votre programme aura alors accès au CD ROM!



Suite...