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 ?