Comment faire ???? il faut modifier la caltos "physiquement" ???
Ximoon> mmm.. je pense que même avec un overclocking, l'augmentation de vitesse soit insufisante pour que ça soit jouable.
elle monte à 22 je crois ... ca commence à donner
Non, j'ai pas encore overclockée la mienne car j'ai pas encore trouvé un motif pour le faire. N'overclockez pas la votre pour tigb, car même ave l'overclock ça continue à ramer...
Bon, je vais commenter mes résultats.
J'ai fait un prog en C qui récompile du code en GB-Z80 vers du code natif M68K.
Les optimisations faites sont:
- Ne pas avoir à chercher l'opcode ni les paramètres de l'instruction dans la RAM
- Ne pas altérer les flags qui sont altérés para une instruction suivante sans être utilisés
- Sauter directement vers les endroits récompilés et ne retomber dans le parser qu'en cas d'intérruptions
- Écrire directement dans les endroits de la RAM qui ne sont pas spéciaux (dans les instructions où l'on connaît l'endroit de la RAM où il faut écrire)
Des optimisations que l'on pourrait encore faire seraient:
- Si l'on connait les valeurs des régistres, optimiser l'instruction et alterer les autres régistres en fct des valeurs connues.
- Faire un gros algorithme qui analyze le code et trouve ce qu'il fait.
J'ai aussi ajouté à TIGB un système de stats qui permet de logger quels endroits du code sont les plus éxécutés.
Avec ces deux choses, j'ai récompilé une 30 de kilooctets de code du jeu Lemmings, et j'ai mésure le gain de vitesse.
Eh ben, les résultats son assez bons. Un gain de vitesse de 15%. Pourquoi si peu? Parce que la quantité de code récompilée est très petite par rapport à la quantité de code éxecutée. Pourquoi j'ai pas récompilé d'avantage de code? Vous devez le deviner: pas assez de RAM.
J'avais pas trop pensé à ça lorsque je me suis jeté sur le dynarec, mais vous savez bien que tous les émulateurs qui s'en servent bouffent une quantité de RAM monstrueuse. Hélas, 30ko c'est le plus que j'ai pu récompiler (car tout le reste est bouffé par l'émulateur). Ça devrait aller pour des jeux petits, tel Tetris (il faut que je l'essaye), mais pour les grands jeux.... nananan
Bien sur, on peut se jeter sur le récompilateur, car plus on l'optimise, moins le code résultant occupe et plus de code on peut récompiler. Faudrait essayer les deux points qui manquent. Mais la RAM est un facteur vraiment très limitant. Je ne sais pas si on réussira.
Je vais dans les jours qui suivent publier la version avec support pour code récompilé.
Boogerman
Bouger, travailler, manger et se reposer, c'est la devise de la tortue!
on peut passer Mario ??? (mario land 1)
Euu ya kwa comme aut' jeu qui passe (et qui sont "petits") ???
Uther Le 12/02/2003 à 17:48 Peut-être qu'avec Pedrom on pourait arriver a des résultat plus conséquent?
Ben je connaisais pas Pedrom. C'est vachement intéressant, de se débaraser de toutes les fcts merdiques de l'AMS. Je vais y jetter un coup d'oeil.
Boogerman
Bouger, travailler, manger et se reposer, c'est la devise de la tortue!
À ta place, je ne sacrifierais pas la compatibilité avec le système d'exploitation utilisé par au moins 99,9% de la communauté (AMS).
Daprès ce que j'ai vu je gagnerais une 60 de ko. C'est pas mal mais je ne suis pas sur que ça suffisse. En tout cas, mon premier but est optimiser énormement le récompilateur. J'aimerais bien qu'il puisse analyser des algorithmes entiers et les simplifier. Je connais pas de théorie à ce sujet donc il va faloir que j'experimente. Des trucs genre arbre d'éxpressions devraient être utiles.
Il y a pas mal de trucs qui peuvent se simplifier, genre operations de 16 bits faites avec 2 operations de 8 bits, des asl/asr/etc consécutifs...
On vera bien.
Boogerman
Bouger, travailler, manger et se reposer, c'est la devise de la tortue!
C'est bien de pouvoir allouer 128k en une seule fois. Ca peut s'ajouter comme option de compilation.
Boogerman
Bouger, travailler, manger et se reposer, c'est la devise de la tortue!
Pourquoi ne pas faire un recompilateur on-pc ?

I'm on a boat motherfucker, don't you ever forget
PpHd Le 15/02/2003 à 14:47 Dis le moi si tu veux que je te l'envoies.
L'autre est plus directe (boogersoft c'est chez moi)
Boogerman
Bouger, travailler, manger et se reposer, c'est la devise de la tortue!
boogerman> zelda : link's awakening (pas le DX en couleur) fait 512 Ko.