Daily Archives: 1 December 2006


CrocoDS Alpha v0.1a

CrocoDS est un émulateur de CPC 6128 pour Nintendo DS.
Je me suis acheté une DS il y a 2 mois. En tant que développeur (depuis presque 20 ans), je me suis vite achète une EZ4 lite pour profiter des homebrews.
Mon premier ordinateur ayant été un CPC, je fus très déçu de ne voir aucun émulateur de celui-ci.
Apres quelques recherches, je vis que nrx puis Alekmaul envisageaient de créer le leur il a quelques mois mais n’avaient pas beaucoup de temps à leur consacrer.
Du temps, je n’ai pas beaucoup plus mais j’ai terriblement envie d’un émulateur CPC. Le gros problème, c’est que je n’ai aucune expérience en développement console.
J’ai donc commencer à porter Caprice32 (le meilleur émulateur CPC sur PC).
Après quelques heures, je suis arriver a faire tourner une version sur ma DS mais avec un framerate de 5fps, je suis vite déçu: ma petite console est beaucoup moins rapide que les pockets pcs auxquels je suis habitué. Est-ce que ça ne serait pas juste un doux rêve d’émuler un CPC sur une DS… Pourtant, il existe des émulateurs Megadrive qui tourne à pleine vitesse.
Je vais donc faire un tour sur les autres sites proposant des émulateurs CPCs. C’est la que je tombe sur Dream CPC. Il s’agit du portage de l’émulateur WIN-CPC de Ludovic Delplanque sur Dreamcast. Si quelqu’un a réussi à faire tourner un émulateur CPC sur une Dreamcast, il doit forcément avoir moyen d’en faire tourner un sur DS.
Je recommence donc mon projet en partant des sources de WIN-CPC.
J’arrive vite à une version qui tourne à 30fps. Je suis sur la bonne voie.
Après quelques petites optimisations, l’émulateur tourne à 70% de la vitesse du CPC. Il est donc jouable.

crocods

Cette version permet le chargement des fichiers SNA et DSK qui se trouvent dans la racine de la cartouche GBA (utilisation de la LIBFAT de picodriveds ) en appuyant sur le bouton Select.
Le bouton R fait redémarre l’émulateur. Le bouton L switche entre l’émulation joystick/keypad/clavier.

Mes prochaines modifications seront de remplacer le core Z80 en C par une version asm (je pense m’orienter vers la librairie DrZ80 de Reesy créee pour MAME), ajouter le support des images zippées.

Le bitmap du clavier est temporaire: il s’agit d’une version massacrée de ce que ninxpe à fait pour AmE DS. Si quelqu’un a un peu de temps à consacrer à un autre clavier, qu’il n’hésite pas 🙂

Télécharger la v0.1a.