Qu'est-ce que le format de fichier SMC ?
Les fichiers avec l'extension .smc stockent des images ROM de jeux Super Nintendo. Le nom de l'extension provient du Super MagiCom, un dispositif de copie de cartouches fabriqué par Front Fareast Industrial et l'un des outils de dump de ROM les plus populaires de son époque. Le copieur lisait les données des cartouches et les sauvegardait dans des fichiers .smc ; pour les jeux multi-cartouches, des fichiers .smc supplémentaires avec un suffixe .001, .002 et similaires étaient générés. Chaque cartouche stockait un seul jeu. Un détail technique distinctif est l'en-tête de copieur optionnel de 512 octets ajouté avant les données ROM brutes - les émulateurs le détectent en vérifiant si la taille du fichier est un multiple de 32 Ko plus 512 octets et l'ignorent automatiquement. L'en-tête de jeu interne SNES se situe à l'offset 0x7FC0 (LoROM) ou 0xFFC0 (HiROM) dans les données de la cartouche ; une variante interchangeable, .sfc, utilise des données ROM identiques mais omet cet en-tête de copieur. Les formats de dump de copieurs similaires incluent .fig (copieur Figaro) et .swc (Super Wild Card).
Les fichiers .smc sont principalement utilisés par les émulateurs SNES (SNES signifie Super Nintendo Entertainment System). Les émulateurs SNES sont disponibles pour PC de bureau (Windows, macOS ou Linux) et peuvent être utilisés pour jouer à des jeux SNES sauvegardés dans des fichiers .smc. Ces émulateurs prennent en charge divers contrôleurs et modes d'affichage pour recréer l'expérience originale aussi fidèlement que possible. Des versions mobiles sont également disponibles pour Android et iOS. Les émulateurs SNES les plus populaires prenant en charge le .smc sont :
- Snes9x (Windows, macOS, Linux, Android)
- RetroArch (Windows, macOS, Linux, Android, iOS)
- bsnes / higan (Windows, macOS, Linux)
- OpenEmu (macOS)
- Snes9x EX+ (Android)
- Delta (iOS)
Les images de jeu .smc ont été utilisées pour distribuer des jeux piratés, bien que le format ait été conçu pour sauvegarder les ROM de jeux en cas de perte ou de dommage des données de la cartouche, ou pour le partage privé de jeux avec d'autres utilisateurs. Au Japon, tous les outils permettant de copier des ROM de jeux étaient appelés magicoms - ordinateurs magiques.
Sécurité et sûreté
RISQUE : MEDIUMLes données ROM elles-mêmes sont du code de jeu inerte qui ne s'exécute qu'à l'intérieur d'un émulateur, mais deux préoccupations réelles s'appliquent. Juridique : le téléchargement de ROM de jeux que vous ne possédez pas est une violation du droit d'auteur dans la plupart des pays - la voie légale est de dumper vos propres cartouches ou de jouer à des homebrews. Sécurité des sources : les « sites de ROM » regorgent de publicités, de faux boutons de téléchargement et de logiciels malveillants groupés, et les anciens émulateurs (notamment ZSNES) présentent des vulnérabilités d'analyse - utilisez un émulateur récent et précis (Snes9x, RetroArch, bsnes) et évitez les portails de téléchargement suspects.
Détails du format
en brefProgrammes qui ouvrent les fichiers SMC
Détails techniques
spécifications approfondies| Structure du fichier | Dump ROM brut de cartouche, éventuellement précédé d'un en-tête de copieur de 512 octets ajouté par le matériel Super Magicom |
| Taille de l'en-tête du copieur | 512 octets ; présence détectée en vérifiant si la taille du fichier modulo 1 024 est égale à 512 (la taille totale est un multiple de 32 Ko plus 512 octets) |
| En-tête interne SNES - offset LoROM | 0x7FC0 dans les données ROM ; contient le titre du jeu, le type de ROM, l'octet de taille et la somme de contrôle |
| En-tête interne SNES - offset HiROM | 0xFFC0 dans les données ROM ; utilisé pour les cartouches plus grandes avec mappage d'adresses en mémoire haute |
| Champ du titre du jeu | Chaîne ASCII de 21 octets complétée par des zéros, stockée au début de l'en-tête interne SNES |
| Somme de contrôle d'intégrité ROM | Somme de contrôle de 2 octets et complément bit à bit de 2 octets stockés dans l'en-tête SNES ; utilisés par les émulateurs pour détecter les ROM corrompues ou mal dumpées |
| Modes de mappage ROM | LoROM, HiROM, ExLoROM, ExHiROM - déclarés via un seul octet à l'offset +0x25 de l'en-tête SNES |
| Tailles de fichiers typiques | 256 Ko à 6 Mo, reflétant les capacités réelles des ROM de cartouches SNES (256 Kbit à 48 Mbit) |
| Signature de fichier (octets magiques) | Aucune - pas de signature fixe ; format identifié de manière heuristique par le motif de taille de fichier et la validation de la somme de contrôle de l'en-tête interne SNES |
| Nommage des fichiers multi-parties | Les dumps multi-cartouches produisent des fichiers compagnons nommés avec les suffixes .001, .002 et similaires ajoutés après le nom de base .smc |
| Fichier de sauvegarde compagnon | Sauvegarde SRAM en jeu stockée dans un fichier .srm séparé partageant le même nom de base, écrit par l'émulateur lors de l'exécution |
| Type MIME | application/octet-stream |
| Architecture CPU | WDC 65C816 (16 bits) ; les données ROM .smc sont une image mémoire directe de l'espace d'adressage de la cartouche tel que vu par ce CPU |
| Matériel d'origine | Dispositif de copie Super Magicom par Front Fareast Industrial (Taïwan, début des années 1990) ; le format .smc a ensuite été adopté comme standard communautaire de facto par plusieurs marques de copieurs |
| Gestion de l'en-tête par l'émulateur | Snes9x, RetroArch, bsnes et la plupart des émulateurs modernes détectent et suppriment automatiquement l'en-tête de copieur de 512 octets avant de charger la ROM |
| Publié | early-mid 1990s (Super Magicom / copier era) |
| Spécification | snes.nesdev.org |
Conversions SMC
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers SMC.