Programmer en LUA pour la Nintendo DS sous linux
Par Valentin JANIAUT, samedi 2 décembre 2006 à 01:27 | Geekerie | #43 | rss
Voila que les choses continue d'avancer rapidement (quand on pense à un jeudi après-midi à s'arracher les cheveux avec Seeme pour réussir à faire marcher la PAlib). Je viens enfin de réussir à faire fonctionner des éléments essentiels lorsque l'on code : de quoi tester mon code (en l'occurrence un émulateur NDS) de quoi le compiler (ou l'interpréter dans notre cas). Mais ce fut un peu le parcours du combattant !
Quand MS-Dos revient nous hanter
Pour lancer des sources LUA sous DS le plus simples et le plus efficace c'est de générer une rom (.nds) avec le runtime LUA dedans. Comme cela on à tout au même endroit et tout marche pour le mieux ! Seulement DSLua.com ne propose que les outils windows pour faire cela !! (Snif snif). J'ai donc fait un bricolage (qui marche très bien !!) grâce à wine ! Le principe pour générer notre rom est le suivant : mouliner les scripts dans un fichier data.gbfs grâce à un petit outil commande (mais pour windows) et le concaténer avec le runtime dans un même fichier. L'archive propose un .bat pour réaliser cela, j'ai donc simplement fait un petit script shell avec les commandes linux qui vont bien et dans le script je lance les commandes windows fournit par l'archive grâce à wine. Vous pourrez récupérer mon script à la fin de ce billet, pour qu'il fonctionne il faudra par contre que vous ayez wine d' installé.
Quand on oublie le principe du -dev sous linux
Deuxième étape compiler DesMuMe pour linux. grâce à Thoduv j'ai pu trouver un archive avec les sources facilement compilable et avec une interface en gtk !! Seulement, le shell m'insulte lorsque je cherche à compiler la bestiole ! Mais pourtant j'ai gtk sur machine, je comprend pas ! Bon après quelques minutes de réflexions, je réalise que j'ai pas le paquet -dev qui permet de compiler avec gtk ! Un petit sudo apt-get install libgtk2.0-dev et hop roulez jeunesse un beau DesMuMe se lance, et je lance facilement la rom générée précédemment avec mon petit script shell ! Que la vie est belle
Vous pouvez trouver ici une archive avec DesMuMe et DSLua pour linux (et donc mon petit script shell). Je vous laisse me poser toutes les questions que vous voulez en commentaire, je tacherais d'y répondre le plus rapidement possible !
Anecdote pour finir
Rappelons tout de même que je fais tout cela dans la cadre de la programmation d'un HomeBrew NDS inspiré de The Incredible Machine ! Je voulais donc rejouer a ce jeu qui est (plus ou moins) en abandonware, grâce à freedos j'ai réussi très facilement a avoir une belle console MS-DOS et à lancer le jeu ! C'est pas beau ???
Rajout de derniére minute
DesMuMe est bien bugué chez moi (il detecte un Y appuyé en permanence, et tous les programme en LUA n'arrive pas à se lancer). Des gentils gens de PlayerAdvance m'ont conseillé d'utiliser NO$GBA et c'est vrai qu'il marche bien, même si je dois le lancer avec wine ! Donc cherchez plutôt à utiliser ce dernier que DesMuMe




















espèce de geek gamer ... et après on me reproche de me coucher tard ... non mais ... :D