Forums de Grospixels
Bienvenue sur le forum de Grospixels : [ S'Enregistrer ]
Déjà inscrit ? [ Connexion ]
 
retour sur le site
rechercher
Index du Forum » » Emulation » » Petite FAQ sur l'émulation
1 message • page
1
Auteur Petite FAQ sur l'émulation
Kaede
Pixel visible depuis la Lune


Inscrit : Mar 06, 2002
Messages : 5248

Hors ligne
Posté le: 2022-11-09 21:01   [ Edité le: 2023-02-05 17:02 ]
Une petite FAQ que j'ai écrite au détour de ce topic http://grospixels.com/phpBB/viewtopic.php?topic=16483&forum=7&start=20.
Pas un truc "fini", ça peut évoluer Si vous avez des idées de questions "importantes" auxquelles je n'aurais pas pensé, n'hésitez surtout pas !

L’émulation pour les nuls
FAQ à l’intention des débutants


I. Questions générales

Q. Qu’est-ce qu’un émulateur ?
A. “En informatique, l'émulation consiste à substituer à un élément de matériel informatique – tel un terminal informatique, un ordinateur ou une console de jeux – un logiciel.” (Wikipedia).
C’est comme si vous aviez une ancienne console ou un ancien micro “dans” votre ordinateur, et cela donne, par exemple, la possibilité de faire tourner des jeux retro, conçus pour tourner sur le matos adéquat de l’époque et uniquement celui-là, sur des machines à la fois plus modernes et très différentes, telles que nos PC.

Q. C’a l’air génial, je voulais rejouer aux jeux de mon enfance. De quoi ai-je besoin ?
A. D’une machine moderne, de l’émulateur, qui n’est en fait “que” un logiciel comme un autre, et des copies des jeux où logiciels que vous souhaitez utiliser avec l’émulateur. Egalement, selon les systèmes, des copies de BIOS ou micrologiciels sont nécessaires.

Q. Est-ce que c’est légal ?
A. C’est là le problème : en général, l’émulateur, en tant que programme est légal, mais les copies des jeux ou logiciels sont soumises aux règles du copyright, du droit d’auteur.
De rares programmes sont distribués gracieusement avec l’autorisation des ayant-droits, mais la plupart ne le sont pas, cela rentre alors dans le domaine du piratage. On voit parfois le terme plus flatteur d’”Abandonware”, pour désigner les logiciels à l’abandon, qui ne sont plus distribués par des moyens légaux, mais que la loi interdit néanmoins de pirater.
Pour cette raison, quasiment tous les émulateurs sont fournis “nus”, sans logiciels à faire tourner au sein de ce dernier.

Q. Qu’est-ce qu’une “ROM” ?
A. Ca désigne les copies des jeux dont il est question plus haut.
Le terme est plutôt adapté aux jeux sur cartouches mais pas vraiment aux jeux sur disquettes. Pour ces dernières on préfèrera les terme d’image disque (sans distiction avec des images de CDs ou autres supports optiques) ou le terme anglais générique de “dump”, généralement connoté très négativement dans cette langue, mais qui dans ce contexte désigne une simple copie, ou l’action de la produire à partir des originaux.

Q. Qu’est-ce qu’un “ROMset” ?
A. “Set” signifie “collection” en anglais, et c’est également le terme pour un “ensemble” dans la théorie des ensembles.
Un ROMset est un ensemble de ROMs, généralement ça désigne l’ensemble des programmes disponibles pour un système donné.
Ces ROMset sont distribués par des voies non légales, et il existe donc autant de ROMset différents que de “distributeurs”.

Q. Pourquoi il existe des tas de dumps différents d’un même programme ?
A. Pour plusieurs raisons. Pour un jeu de votre enfance, il existe plusieurs versions officielles - il peut s’agir de versions différentes pour les différentes régions du monde (avec des langues d’affichage différentes), mais aussi de différentes révisions du jeu, sorties à des moments différents.
Il peut aussi s’agir de dumps erronés (techniquement incorrect), ou enfin, de “hacks”, c’est-à-dire de modifications volontaires des originaux.
Les différentes groupes de préservation gèrent cela à leur propre sauce.


II. Questions spécifiques à MAME

Q. C’est quoi, MAME ?
A. MAME est un des émulateurs les plus anciens encore en activité et en évolution aujourd’hui.
MAME signifie à l’origine Multiple Arcade Machine Emulator et est un programme capable d’émuler plusieurs systèmes arcade.
Le scope de MAME n’a fait que s'agrandir, en 2015 M.A.M.E. merge avec M.E.S.S., son équivalent consoles, et devient un émulateur de “tout”.
Aujourd’hui MAME émule systèmes arcade, console, micro-ordinateurs, synthétiseurs, en gros, tout ce qui “peut” être émulé.

Q. Comment est structuré le “ROMset” de MAME ?
A. C’est divisé en 4 grandes catégories :
1) ROMs
2) CHDs
3) Software Lists ROMs
4) Software Lists CHDs
Explications ci-dessous

Q. C’est quoi, un “CHD” ?
A. CHD est le format de prédilection de MAME pour certains supports en particulier, notamment les disques optiques (CD, DVDs, LaserDisc), disques durs. Il fournit des fonctionnalités supplémentaires comparé aux classiques formats ISO ou BIN/CUE.
1 fichier CHD correspond à 1 media physique (1 CD, par exemple).
Des conversions sont possibles : fabriquer un fichier .CHD à partir d’une image ISO, ou convertir un CHD vers un autre format en sortie.
MAME est fourni avec l’outil chdman.exe, pour la manipulation manuelle de fichiers CHD, réservée aux utilisateurs aguerris.

Q. C’est quoi, une “Software List” ?
A. C’est un système de gestion des supports logiciels hérité de M.E.S.S., assez riche en fonctionnalités (mais cela est transparent pour l’utilisateur, sauf si vous souhaitez émuler un micro-ordinateur).
En général les supports amovibles sont rangés dans “Software Lists”. Exception notable : de rares systèmes arcade utilisent un support amovible, généralement à l’initialisation. Toutefois ce support sera généralement unique pour le système, par opposition aux consoles ou micro-ordinateurs (fin de la parenthèse).
Enfin, les supports “amovibles” pour lesquels le format CHD est adapté sont dans Software Lists CHDs, les autres, Software Lists ROMs, même s’il s’agit, par exemple, de disquettes, qu’on ne qualifie pas généralement de ROMs (on parle plus volontiers de "dump". Ou d'image disque). En effet, dans la façon de “ranger” de MAME, c’est du CHD si c’est le format adapté, sinon c’est ROMs.

On récapitule
4) Software Lists CHDs : tous les supports “amovibles” (défini plus haut) pour lesquels le format CHD est nécessaire ou utile. Exemple : un jeu Playstation 1.
3) Software Lists ROMs : tous les autres supports amovibles. Exemple : la cartouche d’un jeu Super Nintendo, un jeu Amiga sur disquettes.
2) CHDs : tous les supports non amovibles pour lesquels le format CHD est nécessaire/utile. Exemple : le disque de Killer Instinct version arcade.
1) ROMs : tous les autres supports non amovibles. Exemple : Galaga (arcade).

Q. Je cherche des sets, et je vois mention de sets non-merged, split, merged, j'y comprends rien ...
A. Version simple : pour une utilisation normale, un set merged est ce qu'il se fait de mieux, car c'est le plus compact.
Version compliquée : certains jeux sont sortis en plusieurs versions, se sont vus cloner, piratés (bootlegs...), etc. or, ces versions sont en général similaires les unes aux autres sur pas mal de points,
et notamment, elles partagent des ROMs en commun.
Pour gérer cela plus efficacement, MAME utilise un système de parent/clone. Ainsi, le fichier parent contient le gros des données communes, et les clones n'ont plus qu'à contenir leurs données spécifiques.
Au niveau du système de fichiers (les fichiers que vous pouvez donner à manger à MAME), il y a plusiuers façons de gérer ce système de parent/clone, c'est ici qu'interviennent les notions de sets non-merged, split,
ou merged. MAME sait gérer les trois (c'est automatique).
Non-merged : le parent et le clone sont stockés séparément (dans des fichiers séparés). Chacun des clones contient individuellement toutes les données nécessaire pour le faire tourner.
Un set non-merged est donc redondant et moins compact qu'un set split ou merged.
Split : 1 fichier pour le parent, 1 fichier pour chaque clone. Le clone ne contient pas les données du parent. Moins redondant qu'un set non-merged.
Merged : les fichiers du parent et de tous les clones sont stockés au même endroit (typiquement, au sein d'une seule archive type zip). Moins redondant qu'un set split : dans le cas où clones sont eux-mêmes
redondants les uns par rapport aux autres, leurs données ne sont pas redondées mais stockées en un seul exemplaire.

Pour aller plus loin (en anglais) :
https://docs.mamedev.org/usingmame/aboutromsets.html la page de la doc' de MAME dédiée aux explications sur les ROMset, leur fonctionnement et MAME
https://docs.mamedev.org/ la documentation complète de MAME
https://choccyhobnob.com/demystifying-mame-roms/ une autre explication des ROMsets / Software Lists


III. Le mot de la fin
Q. Quelle émulation est-ce qu'il me faut ? Je commence où ?
A. Il existe trop d'émulateurs pour tous les lister ici. Si vous cherchez une liste d'émulateurs pour une plateforme donnée, Emulation General Wiki (en anglais) n'est pas mal : https://emulation.gametechwiki.com/index.php/Emulation_hardware

Version courte
On retiendra les critères de choix suivant : disponibilité (architecture, plateformes), compatibilité, rapidité, liste de fonctionnalités, licence.

Version longue
La plupart des émulateurs sont open-source. Beaucoup d'entre eux sont compatibles avec l'architecture AMD64 (comprendre : PC et certains MAC) seulement. Certains sont multiplatformes, càd qu'on peut les trouver sur plusieurs OS (Windows, Linux, macOS...).

Si un émulateur est disponible pour plateforme ARM, ça veut dire qu'il est possible de le faire tourner sur des téléphones, sur Raspberry Pi ou d'autres SOCs.
Le "form factor" de ces solutions séduit de très nombreux utilisateurs, mais aussi les fabricants de mini-machines. La plupart des mini-machines sont en effet à base de SOC sur architecture ARM, entre autres pour des raisons de coût.

Aujourd'hui l'émulation est partout et est très largement utilisée pour la distribution des oldies, que ce soit via des solutions purement software (Nintendo Switch Online -successeur du VC-, GOG.com avec DOSBox), parfois via un hardware dédié (consoles mini officielles, Analogue Super NT ...), et tout un tas de produits plus ou moins légaux genre Pandora Box. Spoiler : quand les BIOS et ROMs sont fournis en nombre (généralement par centaines ou milliers, comme pour les Pandora Box), la solution n'est pas légale.
D'un Raspberry Pi à une Super Nt, le public n'est pas le même, toutefois je tiens à rappeler que le PC est la plateforme la plus universelle (càd avec le + de choix), et qu'un PC correct est satisfaisant pour la plupart des usages.

Si vous avez des idées de questions "importantes" auxquelles je n'aurais pas pensé, n'hésitez surtout pas !


Index du Forum » » Emulation » » Petite FAQ sur l'émulation

1 message • page
1




Forum www.grospixels.com (© 2011-2019 Grospixels)