Qu'est-ce qu'un fichier ROM ?

Un fichier ROM est une copie numérique de la puce de mémoire morte d'une cartouche de jeu physique ou d'un disque. Lorsque vous extrayez les données d'une cartouche, le fichier binaire résultant contient un en-tête — un petit bloc d'octets au tout début — qui décrit le jeu et le matériel pour lequel il a été créé. Chaque famille de consoles utilise sa propre structure d'en-tête unique, donc une ROM NES ressemble fondamentalement à une ROM Game Boy ou Sega Genesis au niveau des octets.

L'en-tête stocke généralement des informations telles que la région cible, le type de mappeur mémoire, les tailles de ROM et de RAM, et un code d'identifiant de jeu. Cela permet de détecter la console d'origine à partir du fichier seul, sans se fier uniquement à l'extension du fichier.

Description de l'outil

Téléchargez n'importe quel fichier ROM et l'outil identifiera instantanément à quelle console de jeu il appartient. Il lit l'en-tête binaire, le compare avec les signatures de consoles connues, et retourne le nom de la console ainsi que les métadonnées spécifiques au système telles que la région, le code du jeu, le type de mappeur, les tailles de ROM/RAM, et les hachages cryptographiques (CRC32 et SHA-1). Les archives ZIP contenant une ROM sont également supportées — l'outil extraira et analysera la première ROM trouvée à l'intérieur.

Consoles supportées

Console Clé système Notes
NES / Famicom nes En-têtes iNES 1.0 et NES 2.0 ; détecte le mappeur et le sous-mappeur
Super Nintendo sfc Détecte LoROM / HiROM, vitesse ROM, co-processeurs (SuperFX, SA-1, DSP)
Nintendo 64 n64 Analyse d'en-tête, détection de région, variantes avec inversion d'octets (.z64, .v64)
Game Boy / Color gb Détecte le type MBC, la taille de RAM, la compatibilité GBC / SGB
Game Boy Advance gba Extrait l'ID du jeu et le type de sauvegarde (SRAM / Flash / EEPROM)
Nintendo DS nds Code du jeu, région, code d'unité (compatible DSi), capacité de l'appareil
Sega Genesis / Mega Drive genesis Titre national et international, numéro de série, région
Sega Master System sms En-tête TMR SEGA, code produit, région
Sega Game Gear gg Basé sur le format d'en-tête Master System
PC Engine / TurboGrafx-16 pce Identification basique
WonderSwan ws En-tête de fin de ROM, ID du jeu, modèle
WonderSwan Color wsc En-tête de fin de ROM, ID du jeu, modèle

Exemples

Résultat du téléchargement d'une ROM NES

Console détectée  NES / Famicom
Clé système       nes
CRC32             7d2d8d2c
SHA-1             a793e28a...
Version NES       iNES 1.0
Mappeur           4
PRG ROM           256 KB
CHR ROM           128 KB
Région            NTSC

Résultat du téléchargement d'une ROM SNES

Console détectée  Super Nintendo (SNES)
Clé système       sfc
CRC32             b19ed489
Type ROM          LoROM
Vitesse ROM       SlowROM
RAM               8 KB

Fonctionnalités

  • Détection de console à partir des octets d'en-tête : Identifie la console en lisant les mots magiques binaires et les structures d'en-tête, pas seulement l'extension du fichier
  • Support des archives ZIP : Téléchargez un fichier .zip contenant une ROM et l'outil analyse automatiquement la ROM à l'intérieur
  • Métadonnées spécifiques au système : Affiche le type de mappeur, la région, le code du jeu, le titre, le numéro de série, les tailles de ROM et de RAM selon la console détectée
  • Double sortie de hachage : Calcule CRC32 et SHA-1 simultanément, les deux sommes de contrôle les plus couramment utilisées dans les bases de données de vérification de ROM
  • Analyse côté serveur : Le traitement s'effectue sur le serveur à l'aide de la bibliothèque roomie, donc aucune limitation JavaScript côté client ne s'applique à l'analyse des fichiers

Cas d'usage

  • Organiser une bibliothèque ROM : Identifiez rapidement les fichiers ROM sans étiquette ou mal nommés et triez-les par console sans avoir besoin d'ouvrir un émulateur
  • Vérifier les extraits ROM : Comparez le hachage CRC32 ou SHA-1 avec les bases de données No-Intro, Redump ou TOSEC pour confirmer qu'une ROM est un extrait connu et valide
  • Configuration d'émulateur : Confirmez le mappeur exact et la région d'une ROM NES ou SNES avant de configurer un émulateur qui nécessite ces informations manuellement

Limitations

  • La détection repose sur la présence d'un en-tête valide dans le fichier. Les ROM sans en-tête ou corrompues peuvent ne pas être reconnues.
  • Une seule ROM est analysée par téléchargement. Pour les archives ZIP contenant plusieurs ROM, seul le premier fichier correspondant est traité.
  • La détection de console couvre les systèmes énumérés ci-dessus ; les formats ROM pour d'autres plates-formes ne sont pas supportés.