IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Programmer un emulateur.


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Par défaut 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à ^^

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    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.

  3. #3
    Membre chevronné
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Par défaut
    oui, justement, mais par où commencer? comment interpreter ce langage machine?

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    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.

  5. #5
    Membre chevronné
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Par défaut
    merci beaucoup, je vais y jeter un coup d 'oeuil

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    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.

Discussions similaires

  1. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  2. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  3. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  4. Comment débuter en programmation ?
    Par Marc Lussac dans le forum Débuter
    Réponses: 0
    Dernier message: 08/04/2002, 11h29
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo