[Dossier] Concevoir un émulateur ?

Retrouvez l'intégralité des discussions inclassables dédiés à l'émulation et à l'abandonware en général.
Répondre
Avatar du membre
Alex 57

[Dossier] Concevoir un émulateur ?

Message par Alex 57 »

Hello la compagnie,

Je vous propose un vieux dossier écrit vers 2010 pour un site web a l'époque sur une question lié à la création d'un émulateur !

Bonne lecture :)

Concevoir un émulateur


Créer un émulateur est un gros défit d'une difficulté très élevé.
Pour concevoir un émulateur, le développeur doit d'abord se pencher sur la partie hardware de la machine.

Il doit obtenir différente fiche technique du support et se renseigné sur son mode de fonctionnement.
Avant toute chose, un émulateur est créé en language de programmation ( C par exemple ), ce qui réserve le développement qu'à des développeurs professionnels ou à des développeurs "amateurs" ayant une parfaite maîtrise de language de programmation.

Une fois avoir assemblée toute la documentation nécessaire à la conception de l'émulateur, le développeur l'éxamine très méticuleusement afin de ne loupper aucun détail de la machine.
Il regarde principalement son hardware tel que le Cpu, le Bios, le chipset graphique, le chipset sonore et tout les éléments graphiques ou sonore de la machine.

Dès que ceci est fais, le programmeur se lance dans la partie conception de l'émulateur et le crée en rentrant toutes les lignes de programmation nécessaire au fonctionnement de l'émulateur ( bien sûr, avant, il réfléchit au code qu'il va utilisé ).

Un émulateur de console next génération ( Playstation, Nintendo 64... ) peut mettre jusqu'à 3 ans pour être vraiment opérationnel.
A noter que la Saturn ne possède toujours pas d'émulateur après prêt de 10 ans de bon et loyaux services.

Tout dépend de l'hardware ainsi que son mode de fonctionnement ( inutile de vous dire que suivant le support, le développeur peut avoir plus ou moins de mal à le créer.

Un Gdrom ou un Dvd ne fonctionne pas pareil qu'une cartouche ).
Une autre note qui peut avoir raison d'un développement est la puissance de la machine émulée, il faut que le support émulant soit 10 à 20 fois supérieur que le support émulé.

Je m'explique : Vous possédez un Pentium I à 90 Mhz, n'espérez pas faire tourné un émulateur Nintendo 64 car le support émulant ( à savoir votre ordinateur ) est 10 à 20 fois trop faible pour émuler l'autre support ( à savoir la Nintendo 64 ).

Parfois, il faut presque 50 fois la puissance du support émulé ( c'est le cas de certain jeu NeoGeo qui refuse catégoriquement de marcher sous un ordinateur équipé pourtant de 1 gigahertz !! ). Inutile d'espérez que demain sorte un émulateur Gamecube ou Playstation II parfaitement opérationnel sur le net, c'est totalement impossible car il faut pallier le problème de la puissance ainsi que la difficulté du codage de l'émulateur.

Des développeurs se penchent sur le sujet mais ils ne fourniront pas avant 4 voir 5 ans une version à peut prêt stable de leur logiciel.
Il faut aussi que les développeurs créaient un Bios ( c'est le moteur même d'une console puisqu'il connait tout le code de la machine ).
Hors, les Bios sont illégaux si celui-ci contient le code du support à émuler.

Il faut donc que les développeurs trouvent une parade à ce problème ( ou alors, proposer une version où il faut un bios ).
Une fois ceci achevé, le développeur teste son émulateur à l'aide d'une rom, du jeu original ou d'un iso ( la rom et l'iso ne sont que les jeux originals mais copier sous un autre format afin de facilité l'échange des jeux du supports concerné )
Répondre

Retourner vers « Divers »