J'ai codé un petit interpréteur du langage Chip8 en C# en utilisant le Framework .NET 2.0
Vous pouvez télécharger l'exécutable et les sources ici :
http://mygameisrich.com/chip8dotnet/
Normalement ça devrait tourner sous Linux / Mac Os en utilisant Mono, mais je n'ai pas vraiment essayé, n'hésitez pas à me le dire si vous essayez ^^
J'ai essayé de rendre le code assez lisible pour tous, histoire que ça soit un minimum pédagogique pour ceux qui débutent. Aussi je n'ai pas toujours utilisé les opérateurs logiques quand le Framework .NET m'offrait une solution plus haut niveau, mais aussi plus simple à lire.
Tout (ou presque, mais jvais corriger ça bientôt, j'ai récupérer deux icones sur Visual Studio et quelques jeux dont je dois vérifier la source) est sous licence MIT, faîtes vous plaisir.
Si j'ai le courage, je vais améliorer un petit peu l'application, en rajoutant peut être le support de SCHIP (qui est une extension du langage rajouté dans les années 90), et surtout un moyen de contrôler la fréquence de rafraichissement pour que tous les jeux soient jouables. Si vous testez Pong par exemple, il vous faudra être vif.
Je vais mettre une description un peu plus étoffée de Chip8 sur mon site un peu plus tard, en attendant voici un bref résumé de ce qu'est Chip8 :
Chip8 c'est un langage interprété crée dans les années 70 afin d'être implémenté dans des petit micro-computers 8bits (http://en.wikipedia.org/wiki/COSMAC_VIP , http://en.wikipedia.org/wiki/Telmac_1800).
Il permettait entre autre de faciliter la programmation de jeux vidéo sur ces dits micro-computers.
Pour en savoir plus : http://devernay.free.fr/hacks/chip8/
http://en.wikipedia.org/wiki/CHIP-8
Have fun !