# Émulateur de système de jeux vidéo

Un émulateur de système de jeux vidéo est un programme informatique qui permet à un ordinateur ou à une console de jeux vidéo d'émuler le comportement d'une autre console de jeux vidéo, ou d'un système d'arcade.
Ces émulateurs sont surtout utilisés pour jouer à de vieux jeux vidéo sur des ordinateurs personnels et sur des consoles de jeux actuelles, mais ils sont aussi utilisés pour jouer à des jeux traduits dans d'autres langues ou à des jeux modifiés appelés « hack ». Ces émulateurs sont également utiles pour le développement de démos faites maison et de nouveaux jeux pour les anciennes consoles.

## Émulation de jeux
### Description

Les extractions des jeux de consoles, sous forme de fichier, sont couramment appelées ROM (Read-Only Memory).
L'extension des fichiers ainsi que les renseignements concernant le jeu sont généralement indiqués dans le nom du fichier.
Il s'agit d'une nomenclature particulière qui s'est imposée d'elle-même afin d'apporter des précisions utiles et importantes à la ROM et ainsi d'en faciliter son partage avec d'autres utilisateurs.
Une ROM peut par exemple être nommée « Arkanoid (Bung) (PD) [C].gbc »
Exemple : :
| Nom du Jeu | Codeur | Version (état) | Type d'affichage | Extension de fichier |
| Arkanoid | Bung | PD = Domaine public | C = Jeu en couleur | .gbc = pour Nintendo Game Boy Color. |

### Nomenclature

Codes standard d'état (légende) :
| Version (état) | [!] = Bonne sauvegarde, (good dump) vérifiée, conformes au support d'origine, parfaite, à choisir ! |
| | [a] = Alternative, réalisée pour corriger des bogues ou éliminer les codes Game Genies. |
| | [b] = Mal dumpée (bad dump), mal sauvegardée pour être convertie en fichier ROM. |
| | [f] = Réparée (fixed), modifiée, afin de mieux fonctionner sur l'émulateur. |
| | [h] = Piratée (hacked), son en-tête a été modifié ou Multi-régions, contient parfois scènes modifiées ou ajoutées. Illégale si le jeu n'est pas du domaine public. |
| | [o] = Surdumpée (over dump), contient plus de données que la cartouche originale, mais le jeu n'est pas modifié. |
| | [M#] ou [MULTI#] = Multi-langage (multi-language), le symbole # indique le nombre de langues. |
| | [###] = Empreinte (checksum). |
| | [ZZZ] ou [ZZZ_Unk] = Non classifiée ou inconnu. |
| | [p] = Pirate, ROM illégale, diffusion et utilisation interdite. Venant souvent de cartouche de jeux bootlegs |
| | [t] = ROM d'entrainement (trained), le code spécial exécuté au début du jeu (trainer), permet d'accéder à des codes de triche. |
| | [T] = ROM traduite (traduced), d'une langue vers une autre. |
| | [x] = Mauvaise empreinte (checksum), une erreur s'est glissée dans le fichier ROM sauvegardé, ce qui cause des plantages ou la rend inutilisable. |
| | [??k] = Taille ROM (exprimé en octets, kilooctets et en mégaoctets, le code spécial exécuté au début du jeu (trainer), permet d'accéder à des astuces. |
| | [Unl] = Sans licence (unlicensed), ROM réalisée sans la licence officielle du jeu, présente sur la cartouche d'origine. C'est le cas de nombreux jeux de console NES. Il peut parfois s'agir de jeux bootleg |
| | [-] = Version de ROM inconnue |
| Extension de fichier | *.gb = Jeu pour la Nintendo Game Boy |
| | *.gbc = Jeu pour la Nintendo Game Boy Color |
| | *.gba = Jeu pour la Nintendo Game Boy Advance |
| | *.nds = Jeu pour la Nintendo DS |
| | *.nes = Jeu pour la Nintendo Entertainment System |
| | *.smc = Jeu pour la Super Nintendo Entertainment System |
| | *.bin = Extension utilisée par plusieurs types de consoles, très utilisé pour les jeux Mega Drive |
| | *.gcm, *.ciso, *.nkit.iso = Jeu pour la GameCube |
| | *.jag = Jeu pour l'Atari Jaguar |
| | *.gen, *.md, *.smd = Jeu pour la MegaDrive |
| | *.v64, *.z64, *.n64 = Jeu pour la Nintendo 64 |
| | *.32x = Jeu pour la Sega 32X |
| | *.gg = Jeu pour la Game Gear |
| | *.cdi, *.chd, *.gdi = Jeu pour la Dreamcast |
| | *.wbfs = Jeu CD pour la Wii |
| | *.wad = Jeu WiiWare pour la Wii |
| | *.3ds = Jeu décrypté pour la Nintendo 3DS |
| | *.cia = Jeu crypté pour la Nintendo 3DS |
| | *.nsp = Jeu du eShop pour la Nintendo Switch |
| | *.xci = Jeu venant d'une cartouche de jeu Nintendo Switch |
Codes pays standards :
* U = USA
* J = Japon
* K = Corée
* E = Europe
* Fr = France
* De = Allemagne

### Émulation de consoles de jeux

Dans ce contexte, les systèmes de stockage de la console sont appelés des ROM, car dans les consoles de jeux (d'arcades ou autres) les programmes de jeux étaient effectivement stockés dans des mémoires mortes (soit sur la carte mère, soit dans des cartouches enfichables). Pour les machines utilisant comme support le CD-ROM ou le DVD, on utilise généralement le terme ISO.
Il est également possible d'émuler une console de jeu sur une autre console de jeu, par exemple, un émulateur qui permet de jouer aux jeux NES (Nintendo Entertainment System) sur une PlayStation.

### Émulation de systèmes d'arcade

Certains programmeurs se sont spécialisés dans l'émulation des systèmes inclus dans les bornes d'arcade (ces meubles de jeux vidéo que l'on trouve souvent dans les bars). Ce secteur est dominé par un projet célèbre et vivant nommé MAME, très structuré autour d'une équipe de développeurs réguliers et efficaces.

## Popularisation de l'émulation

Les émulateurs étant devenus très populaires au milieu des années 1990, une très grande communauté de fans et de programmeurs s'est formée sur l'Internet, ce qui a popularisé plusieurs sites web dédiés à l'émulation. Les artefacts de cette « culture de l'émulation » commencent à faire l'objet d'un effort de conservation.
Le site web EmuWiki.com, l'encyclopédie de l'émulation a pour vocation de recenser l'ensemble des émulateurs ayant existé (toutes plateformes confondues) ainsi que leur historique respective, leur programmeur, et plus particulièrement vise à promouvoir la conservation des artefacts de la culture de l'émulation de ses débuts à aujourd'hui. Le site détaille largement les différentes versions distribuées pour chaque émulateur ainsi que le contenu de chaque mise à jour (par exemple, la révision complète de l'histoire de Final Burn ou de Basilisk II).
Le 17 avril 2024, Apple a commencé à autoriser les émulateurs sur l'App Store, levant une interdiction qui avait duré près de 16 ans. À la suite de cette décision, de nombreux émulateurs tels que Delta, Sutāto et Retroarch sont apparus sur le store$^,$$^,$.

### Le problème légal des ROM

Sur les consoles de jeu et les bornes d'arcade, le logiciel du jeu et le système d'exploitation de la machine sont enregistrés sur des mémoires mortes (ROM - de l'anglais Read Only Memory) soudées dans la machine, ou sur une cartouche. L'émulateur permet techniquement de faire fonctionner le jeu sans utiliser la console, cependant le contenu des ROM n'est pas fourni avec l'émulateur - pour des raisons de droit d'auteur, or ce contenu est indispensable à l'utilisation du jeu.
Le fait de copier le contenu d'une ROM et de la vendre ou la distribuer sans l'accord de son auteur est assimilé à de la contrefaçon et est illégal, les auteurs qui autorisent la copie sont rares.
La copie de ROM est autorisée si la durée du copyright est passée.
Les auteurs de l'émulateur MAME recommandent d'attendre au minimum trois ans depuis le début de la commercialisation du jeu, cependant cette règle empirique n'a aucune base juridique.
Il existe toutefois des ROMs homebrew sous des licences permettant de les télécharger gratuitement. (Il faut toutefois noter que certains homebrews sont payants)

### La distribution légale

La distribution légale, effectuée avec l'accord de l'auteur, et parfois son soutien, est l'exception plus que la norme.
* Les auteurs des jeux Gridlee et Robby Rotto sont parmi les seuls auteurs qui autorisent la distribution gratuite et la copie des ROM de leurs jeux$^,$.
* Les sociétés Capcom et Atari mettent à disposition le contenu des ROM de leurs anciens jeux qui ne sont plus disponibles dans le commerce.
* Le jeu Poly Play (en) est distribué légalement sur le site web de MAME, la date de copyright est expirée, et l'auteur (VEB Polytechnik Karl-Marx-Stadt. en République démocratique allemande) n'existe plus.

### La distribution alternative

* Le partage de fichiers en pair à pair (P2P) est une pratique courante pour la distribution de ROM. Celle-ci fait usage de logiciels tels que eMule, BitTorrent ou IRC fServe.
* Des CD ou des DVD contenant un grand nombre de copies de ROM sont vendus par l'intermédiaire de sites de vente en ligne.
* Des copies de ROM sont distribuées via des forums, comme Usenet.
* Des copies de ROM sont aussi souvent distribuées sur des sites internet spécialisé dans la distribution de ROM, très souvent trouvable avec un moteur de recherche.
La distribution d'une ROM est libre une fois la durée du copyright passée. L'extraction de la ROM ou la création d'un ISO d'un jeu en sa possession est en revanche légale dans un but de copie privée ou de compatibilité technique (lancement sur un émulateur par exemple).