Après avoir fait quelques articles récents sur ce petit projet, je vous propose de le tester vous même. Dans l’immédiat, il est opérationnel malgré quelques bugs qui n’ont pas encore étaient corrigés. Le code devrait être relativement portable grâce aux outils Autoconf. L’installation de la librairie Gtk+2 dev est nécessaire.
Archive pour la catégorie ‘Code’
AlCHIP8 : mon premier émulateur en version béta
Samedi 16 mai 2009Du nouveau sur mon émulateur CHIP8
Dimanche 12 avril 2009Maintenant que j’ai repris intégralement le code source de mon émulateur CHIP8, je viens d’intégrer un debugger fonctionnel pour celui-ci. En effet, il est relativement délicat de peaufiner un émulateur sans passer par une bonne dose de debuggage pour les diverses roms à tester.
Ce petit exercice m’a permis d’affronter l’objet GtkTreeView pour l’affichage du code desassemblé.Dans l’immédiat, ce debugger gère le pas à pas, la sélection d’un breakpoint et l’affichage des registres. Je pense continuer à travailler sur la partie GtkTreeView afin d’enrichir avec une petite dose de couleur l’interaction avec le debugger comme la sélection sur fond vert pour le pointeur de programme ou une sélection sur fond rouge pour la déclaration du breakpoint. Mais la programmation du GtkTreeView est assez délicate de prise en main donc ce sera pour plus tard. Dans l’immédiat, restont sobre et fonctionnel !
La prochaine étape sera la prise en compte des évènements claviers et le contrôle du fonctionnement de certains opcodes qui me paraissent douteux.
Voici un petit screenshot de la pièce maîtresse de mon émulateur.
This week, I’m sick
Jeudi 26 mars 2009La semaine a très mal commencé. Des prémices de douleurs abdominales étaient déjà apparus le dimanche midi mais sans plus. Cela ne m’a pas emêché de courir une douzaine de kilomètres avec ma petite famille qui eux étaient à bicyclette. La nuit qui suivit, ce fut pire et je n’ai point dormis.
Je pensais que c’était lié au repas trop riche du samedi soir mais finalement non. Deux jours d’arrêt, la veille de la reprise en tête à tête avec moi même dans un milieu confiné et me revoilà arrêté trois jours de plus. Au bilan, une saloperie de virus, un mal de bide qui traîne et un peu de temps pour réviser les classiques.
Parlons-en des classiques, j’ai planché longuement sur l’apprentissage d’Emacs 22. J’avais déjà quelques bases mais là je commence à être un peu plus à l’aise. J’ai repris un petit projet d’émulateur Chip8 en C. Au départ, le projet avait débuté sous Code::Block avec l’utilisation de Glade 2 pour l’interface Gtk. Là encore, à l’époque, je n’avais aucune notion de cette librairie. Aujourd’hui, le développement de Glade 3 fait place à une interface déployée sous forme XML qui sera interprété par la libglade à l’exécution de l’application.
Du coup, plutôt que de finir, j’ai ré-adapté le projet entièrement en jettant Code::Block pour passer à Emacs, en utilisant les outils Autotools (autoconf, automake & cie) pour fournir un code plus solide et plus portable. J’ai mis de côté Subversion pour passer sur Mercurial.
Allez pour mettre un peu de couleur, un début d’émulation de rom ! On dirait un pong de loin …
L’effet python
Jeudi 21 août 2008
Vous trouverez d’autres dessins bien sympathiques sur le site http://xkcd.com
Allez un petit dernier pour le fun.

