Le JIT pour E-UAE passe en phase Alpha

Le travail effectué par Álmos Rajnai sur l’implémentation d’un JIT (compilateur Just In Time qui permet d’améliorer grandement les performances d’un émulateur) dans E-UAE PowerPC commence à porter ses fruits. Álmos développe la version AmigaOS 4 de cet E-UAE avec JIT, mais une version MorphOS est compilée en parallèle par d’autres as du code et on peut imaginer qu’une version MacOS X PPC ou même Linux PPC pourraient voir le jour à terme.

Il a annoncé fièrement, et il a de quoi être fier, sur son blog que son bébé était rentré en phase d’alpha test.Il a pris cette décision après son combat victorieux qui lui a permis de démarrer le Kickstart avec son JIT, un bug qu’il « chassait » depuis près de 4 mois.

Bien évidemment, ce n’est pas encore fini et il reste encore de nombreuses choses à faire mais, comme il le dit lui même, il va pouvoir désormais s’attaquer sereinement à la correction des instructions déjà implémentées et implémenter le reste des instructions manquantes. Dès que ceci sera fait, l’OS sera utilisable et le reste pourra être ajouté graduellement.

 

Site Internet : Le blog EUAEJIT d’Álmos Rajnai

Source : Le site polonais Exec.pl

20 Commentaires

Passer au formulaire de commentaire

    • serge sur 7 janvier 2013 à 23h17

    /me fait des bonds de joie intérieurement.

    • Jul sur 8 janvier 2013 à 0h03

    Génial! 🙂

    • BatteMan sur 8 janvier 2013 à 1h13
      Auteur

    Un rêve qui deviendra réalité !

    Je me souviens encore d’en avoir discuté quand on a eu nos premiers Peg/AOne, comment on bavait devant cette « feature » de WinUAE ! Et bientôt, il sera nôtre !

    YES ! 😎


    /me est tout content aussi !

    • krabob sur 8 janvier 2013 à 9h56

    Le fait que ce JIT soit pour les powerpc et os4/mos n’apparaît pas dans la news…(avec tout les systèmes et ému aujourd’hui, pas évident de deviner la plateforme « target ») Mais cool ! Egalement très intéressante lecture pour les coders.

    • sur 8 janvier 2013 à 10h19

    Il développe en premier pour OS4, vu que c’est de là que vient le Bounty, mais il a donné l’accès aux sources a chacun et un programmeur talentueux est déjà en train de porter son travail sur Morphos. C’est une super nouvelle et je dois dire que je l’attend avec impatience ce JIT.

    • serge sur 8 janvier 2013 à 12h11

    Autant le travail a faire sur OS4 est une véritable montagne immense, autant le portage vers d’autres systèmes comme MorphOS risque d’être tout aussi gigantesque. En effet, la version OS4 utilisera Petunia (le JIT de l’OS4) alors que Trance (le JIT de MorphOS) est différent.

    @Guibrush : est ce que ce serait indiscret de donner le nom de ce développeur talentueux? 😉

    • elwood sur 8 janvier 2013 à 12h47

    @serge
    [quote]la version OS4 utilisera Petunia (le JIT de l’OS4)[/quote]
    non

  1. c’est le même gars qui a fait petunia mais c’est pas petunia c’est un nouveau projet

    • serge sur 8 janvier 2013 à 14h28

    @ Elwood : c’est ce que j’ai écris 😉

    • serge sur 8 janvier 2013 à 14h29

    @ Elwood : ah, oups, je vois que tu dis que ce n’est pas le cas 😮

    • Sa sur 8 janvier 2013 à 15h35

    Quel est la différence entre un JIT 68K -> PPC pour un UAE et un JIT 68K -> PPC Pour un OS comme MOS ou AOS4 ?
    En quoi n’était-il pas possible d’utiliser le code source de Pétunia ou mieux de Trance pour JITer UAE ?
    Même si j’imagine que ce précédent travail (sur pétunia donc) n’a pas été inutile il semble qu’il faille recommencer de 0, pourquoi ? (Juste pour ma culture et être un peu moins idiot ?).

    • Jul sur 8 janvier 2013 à 16h22

    @Sa:
    UAE accède aux registres hardware des Amiga d’origine, ce qui n’est pas le cas d’OS4/Mos. Raison pour laquelle seules les applis système tournent sous Petunia/Trance: hors de question d’essayer tes démos ECS/AGA favorites.

    • Sa sur 8 janvier 2013 à 16h31

    Pas satisfaisant comme réponse, le JIT ne concerne que la transformation à la volée d’instructions 68k en PPC que viennent faire les customs chips dans cette histoire…
    Mais je pense avoir compris pourquoi.

    • Jul sur 8 janvier 2013 à 16h43

    Bon, alors je détaille, même sans merci 😉
    En plus de recompiler à la volée les parties exécutables, Pétunia et Trance vont rediriger tous les appels systèmes vers OS4 et MOS. Ce n’est donc bien sûr pas possible de faire tourner les jeux et démos utilisant les processeurs dédiés des Amiga classiques. Il fait donc avoir un UAE dédié, qui agit comme une boîte noir hermétique. Pour son JIT on peut bien sûr réutiliser en partie le code de Pétunia/Trance, mais en ignorant tout le code créant des passerelles avec l’OS.

    • Jul sur 8 janvier 2013 à 16h47

    (désolé pour les fôôtes :
    – il faUt donc avoir…
    – une boîte noirE )

    • Sa sur 8 janvier 2013 à 17h27

    ok, j’avais donc bien traduis la réponse sur un forum anglois ou la même question avait été posée [b]MERCI[/b].

    • Jul sur 8 janvier 2013 à 17h34

    😀

    • thefab sur 8 janvier 2013 à 18h01

    je dois bien être le seul à ne pas être intéressé par ce truc 😛

    • sur 10 janvier 2013 à 9h05

    @ serge :

    Le programmeur MorphOS en question s’appelle Thor. Il a déjà implémenté le code de Rajnai dans la version MOS de E-UAE et il l’a aidé a débuger la fonction qui enpéchait le kickstart de démarrer. Voici le lien vers la discution en question : http://euaejit.blogspot.ch/2012/07/jit-goes-blue.html#comment-form

    Sinon, meme si c’est Rajnai qui a développé Petunia pour OS4 et que le JIT est certainement basé sur cette expérience qu’il a acquis, il s’agit d’une toute autre implémentation qui n’est absolument pas dépendante du système d’exploitatation utilisé. C’est pourquoi le JIT profitera autant à MOS qu’a OS4. Je trouve au passage que c’est une belle ouverture d’esprit qui montre bien que l’on peut s’aider les un les autres au lieu de se taper dessus pour savoir quel système est le meilleur. La collaboration entre Rajnai et Thor est la pour le prouver.

    Pourquoi ne pas utiliser Petunia ? Parce que Petunia a été développé pour faire fonctionner des applications purement 68k, donc tout ce qui touche aux accès du chipset a été laissé de côté. Rajnai explique clairement dans sa faq qu’implémenter les instructions manquantes revient a revoir completement la construction même de Petunia, c’est pour cela qu’il recommence à 0. Beaucoup de gens disent que ça ne devrait pas poser de problème car il ne s’agit que de l’émulation 68k. C’est malheureusement faux, car la manière dont le JIT va traiter les données est intiment liée à la manière dont le chipser émulé par UAE va les recevoir et les envoyer. Comme beaucoup de choses ont été programmées en « dur » sans passer par les appels systèmes voir même sans respecter les guides de programmation de feu Commodore, une émulation juste un peu diférente de l’original va amener au crash du jeu en question.

    C’est pour ça que c’est facile d’émuler un mac 68k, car tout est dans la ROM, et que c’est si compliqué d’émuler un amiga, car les composant émulés doivent fonctionner comme dans la réalité au timing exact.

    • sur 10 janvier 2013 à 19h44

    Tout ceci est intéressant.. Du moment que ça marche, c’est le principal ! 😉

Les commentaires sont désactivés.

Amiga Impact