Pourquoi Les émulateurs émulent-ils En Live ?


Dom83
 Share

Messages recommandés

Salut

Y'a une question que je me suis toujours posé, et à laquelle j'aimerai enfin une explication, juste pour calmer enfin ma curiosité : Pourquoi les émulateurs émulent-ils en live ? Pourquoi l'émulation n'est pas plutot pré-calculée ?

De la maniere dont je vois les choses (et merci de corriger mes erreurs car y'en a surement), une rom contient : les images, les sons, et le code sous forme d'instructions ASM destinées à etre exécutées directement par le CPU et le GPU de la console. L'émulateur va se charger de traduire à la volé ces instructions de l'ASM des puces de la machine émulée vers l'ASM des puces de la machine sur laquelle tourne l'émulateur. C'est bien ça ?

Résultat, la machine qui émule doit être beaucoup plus puissante que la machine émulée, car en plus d'éxécuter le programme/jeu, elle doit traduire chaque fois les instructions avant de les executer.

Et là se pose la question que je me suis toujours posé : pourquoi traduire ces instructions en live ? Pourquoi les émulateurs ne pré-traduisent pas d'abbord toutes les instructions de la rom ? donnant ainsi un jeu converti d'avance que la machine n'aura plus qu'à juste éxécuter et non traduire à chaque fois.

Puisque tous les émulateurs font ça, c'est qu'il doit bien y avoir une raison, qui justement m'échappe et titille trop ma curiosité depuis des années... Quelqu'un peut m'expliquer svp ?

Modifié par Dom83
Lien vers le commentaire
Partager sur d'autres sites

Les instructions sont traitée par l'ordre dans lequel le jeu les invoquent. En plus quand tu déplace ton personnage, tu le déplace pas la même chose d'une partie à une autre et donc les registre chargés et les instructions ne seront pas chargée de manière prévisible.

Lien vers le commentaire
Partager sur d'autres sites

  • 2 months later...
  • 5 weeks later...

Elle est pas si bête la question, une machine qui n'est pas assez puissante pour émuler aurait la puissance pour faire tourner le jeu dans son propre language.

On traduit une rom dans son intégralité une bonne fois pour toute pour le PC ensuite le PC (ou autre) fait tourner le jeu direct ?

On ne perd plus de temps à traduire et formater les instructions en live... En gros faire une rom pour PC.

Après il y a peut être des restrictions légales à modifier une rom ou la traduire pour une autre cible...

Mais ce que je ne comprend pas c'est pourquoi y aurait il plus de code redondant dans le code traduit que dans l'original ?

Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share