-
Programmer un emulateur.
Bonjour,
Voil� une question que je me pose, je n'ai pas forcement l'intention d'en faire un, meme si ca m'plairait, mais j'me demandais comment programmer un emulateur, par exemple de gameboy, qui m'semble relativement simple.
Par o� commencer? comment ca fonctionne? extraire les donn�es ( images, evenements... ) des roms.
J'ai une connaissance en programmation dans le C/C++, ainsi que la sdl, que j'ai vu, bon m�me si c'est pas forcement le meilleur, qu'on pouvait utiliser pour tout ce qui est graphique, et interaction avec l'utilisateur ( controle et tout... )
voil� ^^
-
En dehors du graphisme, tu oublies toute la partie interpr�tation des ROMs. Les ROMs sont dans un langage machine particulier propre � la GameBoy. Tu dois donc tout d'abord cr�er un simulateur pouvant simuler le processeur d'une GameBoy, s'il n'existe pas d�j�. Ensuite l'�mulateur pourra envoyer les instructions contenues dans la ROM au processeur simul�.
Apr�s, bien s�r, tu pourras ajouter un peu de graphisme pour �muler l'�cran de la GameBoy.
-
oui, justement, mais par o� commencer? comment interpreter ce langage machine?
-
Si le sujet t'int�resse vraiment, je t'encourage � �tudier les sources de gnuboy, un �mulateur Open Source de GameBoy.
http://freshmeat.net/projects/gnuboy/
Si tu regardes le fichier loader.c, tu y verras le chargement d'une ROM.
-
merci beaucoup, je vais y jeter un coup d 'oeuil
-
Dans ce cas, je pense pouvoir affirmer que la gestion des graphismes, du son, des entr�es, etc,... est accessoire par rapport au gros du travail: la cr�ation de la partie �mulation en elle m�me qui doit coller parfaitement � la spec.
Tout d'abord il te faudra trouver la spec en elle m�me, ce qui, m�me si �a n'a aucun rapport avec la programmation, peut s'av�rer assez ardu en soi (quoi que dans ce cas ci il est surement possible d'aller demander gentiment au concepteur d'un �mulateur existant, il y en a des paquets pour la gameboy). Ensuite, fatalement, il faut comprendre la spec. Et la laisse moi te dire que tu as de quoi t'amuser, �a peut se compter en semaines pour les plus complexes (qui a dit C++?). Qui plus est, rien ne dit qu'elle sera parfaitement claire et exhaustive, beaucoup de d�veloppeurs doivent t�tonner pour certaines parties obscures (ce qui explique que pratiquement tous les �mulateurs ne peuvent faire tourner certains jeux, ils ne peuvent supporter l'instruction-qu'on-utilise-jamais ou le composant int�gr� � la cartouche utilis�-dans-un-seul-jeu-sur-toute-l'histoire-de-la-console).
Ha oui, au cas o� tu ne l'aurais pas compris, si tu n'as pas un bon niveau en anglais technique il faut oublier. Non, sans rire, il n'y a pas d'alternative.