L'Emulation : qu'est-ce que c'est ? Introduction

21.03.1999

  00:47:00 par iGREKKESS, Catégories: Outils & Emulation , Tags: , ,
L'Emulation : qu'est-ce que c'est ? Introduction
Ci-dessous, une petite présentation de l'Emulation pour les néophytes ou les personnes qui ne sauraient pas encore tout sur ce phénomène.

 

Définition

On trouve dans le dictionnaire (Larousse Compact 1998) qu'il s'agit de la technique permettant de simuler le fonctionnement d'un équipement donné à l'aide d'un autre, non conçu primitivement pour cet usage.

Traduction dans un langage un peu moins technique :
C'est en fait une façon d'utiliser sur un PC des programmes venant d'un support totalement différent, comme par exemple des jeux développés à l'origine pour console.

Note : le PC est le support le plus courant pour accueillir toutes sortes d'émulateurs mais ce n'est pas le seul, aujourd'hui les consoles elles-mêmes peuvent accueillir des jeux d'autres consoles, telle la Dreamcast qui peut émuler des jeux Mega Drive ou Master System grâce à DC Generator et SMEG ! L'émulation commerciale tend même à se répandre de plus en plus avec la sortie de compilations "rétro" sur consoles et PC, ou la mise à disposition d'anciens jeux sur des serveurs de jeux comme Xbox Live...

 

En pratique

Dans le cas donc d'un jeu sur console, il est extrait de la cartouche (à l'aide d'un dumper) sous la forme d'un fichier (rom) afin de pouvoir être récupéré sur ordinateur. Quant au programme qui va simuler la console (émulateur) et permettre de jouer au jeu sur PC, il est créé par un programmeur expérimenté, connaissant relativement bien les deux supports (console et PC).

Si la connaissance du PC n'est jamais un problème, celle du support d'origine (la console) est toute autre, puisque qu'elle nécessite comprendre le fonctionnement du système et de se documenter, mais encore faut-il avoir accès à des documentations...

Dans l'éventualité où la console présenterait un BIOS (le BIOS est le programme interne de la console, plus ou moins complexe, qui donne les instructions aux micro-processeurs, qui initialise les registres, ou décider de démarrer un jeu ou non en fonction de son pays, etc.), le programmeur peut opérer de 2 manières pour que son programme (émulateur) fonctionne :

  • dans un cas l'émulateur utilise le BIOS (dumpé) de la console, il va alors pouvoir se décharger de tout ce qui est géré par le BIOS et faire office d'interface, pour se concentrer sur l'émulation de tout ce qui est "hard" (matériel) et non géré par le BIOS.
  • dans l'autre cas le programmeur écrit complètement le programme qui va tout gérer de A à Z.
    C'est un vrai travail de Titan qui est réalisé dans ce cas !

Question : Mais pourquoi ne pas procéder seulement comme dans le 1er cas qui est plus simple ?
Tout simplement parce qu'il y a des droits d'auteur sur le BIOS des consoles (c'est un programme comme un autre) et que dans la logique des choses un programmeur qui utilise le BIOS d'une console dans son émulateur doit payer l'auteur du programme qu'il utilise !
Donc programmer un émulateur dans le 1er cas est plus simple mais pas forcément légal, l'autre cas est plus compliqué mais tout ce qu'il y a de plus légal (ex : les programmeurs de Bleem! n'utilisaient pas le BIOS de la PlayStation dans leur émulateur, donc ils ne devaient rien à SONY ! C'était aussi pour cela que l'émulateur était payant !).

Pourquoi ROM ?

Une cartouche de jeu n'est autre qu'un ensemble de mémoires R.O.M. (Read Only Memory), qui sont des mémoires (composants) qui ne peuvent être que lues (on ne peut pas écrire dedans à volonté comme avec les mémoires R.A.M.), dans lesquelles se trouvent un jeu ou un programme sous forme binaire (des 0 et des 1).
On appelle une rom le contenu (le jeu ou le programme) d'une mémoire R.O.M. qui a été extrait sous forme d'un fichier, d'où son nom (c'est un abus de langage).

Lorsqu'on parle donc de mémoire R.O.M., on parle d'un composant, d'une mémoire morte dans laquelle on ne peut pas écrire et lorsqu'on parle d'une rom, on parle du contenu d'une mémoire R.O.M. sous forme de fichier (dans le cas des consoles).

 

Et les ISO ?

Une "ISO", est par abus de langage, le nom qu'on donne à l'image faite d'un CD, en référence au standard d'image le plus utilisé pour les pistes de données (Mode 1) répondant à la norme ISO 9660.
L'image d'un CD se résume en un fichier comprenant le contenu et l'architecture de ce dernier, et permettant le transport et la reproduction de celui-ci. Plusieurs formats existent bien évidemment...
Si vous téléchargez l'ISO d'un jeu sur Internet, il vous est possible de re-graver le jeu pour y jouer sur console ou avec un émulateur (si celui-ci le supporte) ou de jouer directement au jeu avec un émulateur si celui-ci le permet.
L'ISO est donc en quelque sorte au CD, ce que la rom est à la cartouche de jeu...

 

Légalité

La programmation d'un émulateur est parfaitement légale (sauf dans certains cas comme il a été montré un peu plus haut) et la plupart du temps les émulateurs sont distribués gratuitement (freeware) par leurs auteurs. Mais attention pour posséder la rom ou l'ISO d'un jeu il faut obligatoirement posséder aussi la version commerciale de ce jeu (la loi en France autorise à une copie de sauvegarde, fonction que peuvent remplir une rom ou une ISO, bien qu'il semblerait que le support doive être identique...) ; posséder la rom ou l'ISO d'un jeu sans posséder sa version commerciale est illégal...

Une "loi" sur Internet (pour se donner bonne conscience, bien sûr non valable en France) stipule que si vous téléchargez une rom alors que vous ne possédez pas la version commerciale du jeu, vous devez impérativement l'effacer de votre disque dur dans les 24 heures qui suivent. Cela dit elle semble raisonnablement difficile à mettre en application... &#59;)


© SegaKore - toutes copies partielles ou totales de ce document autorisées
avec mention explicite de la source "SegaKore" et de son adresse, merci.