Les ROMs 3DS Pokémon se présentent sous plusieurs extensions dont le nom ne dit pas grand-chose à première vue : .3ds, .cia, .3dsx, ou encore des dossiers contenant ExeFS et RomFS. Ces formats ne sont pas interchangeables, et choisir le mauvais selon l’usage visé – émulation, analyse, romhacking – produit des résultats différents ou bloque la démarche dès le départ. Ce qui suit détaille la structure technique de chaque format et ce qu’il permet concrètement.
Tableau comparatif des formats de fichiers ROM 3DS
Quatre formats concentrent l’essentiel des usages. Leur différence tient à la structure interne du fichier, pas seulement à l’extension.
| Format / Extension | Structure interne | Usage principal | Compatible Citra |
|---|---|---|---|
| .3ds (ou .cci) | Image NCSD / CCI : image brute de cartouche | Émulation, archivage de cartouche | Oui (décrypté) |
| .cia | Paquet CIA : conteneur signé pour installation | Installation sur console moddée, émulation | Oui |
| .3dsx | Exécutable homebrew | Applications homebrew uniquement | Partiel (homebrew) |
| Dossier RomFS / ExeFS | Contenus extraits du fichier NCCH | Romhacking, analyse, extraction de ressources | Non (source intermédiaire) |
La documentation technique distingue trois couches dans un jeu 3DS : le conteneur NCSD, les partitions NCCH à l’intérieur, et enfin ExeFS (code exécutable) et RomFS (ressources du jeu). Un fichier .3ds ou .cia contient ces couches empaquetées, tandis qu’un dossier RomFS extrait n’en représente qu’une partie.
Format .3ds et .cci : l’image brute de cartouche
Le format .3ds est une image NCSD : il reproduit fidèlement le contenu d’une cartouche physique, partition par partition. C’est le format de référence pour l’archivage et l’émulation, notamment avec Citra, à condition que le fichier soit décrypté.
Les cartouches 3DS utilisent un chiffrement matériel lié à la console. Un fichier .3ds extrait directement sans étape de analyse reste inutilisable par un émulateur. Le analyse est donc une étape préalable, pas une option.
Le suffixe .cci désigne techniquement le même format NCSD. Les deux extensions pointent vers la même structure : la différence est cosmétique.
Format .cia : le paquet d’installation Nintendo

Le format CIA est un conteneur conçu pour l’installation de titres sur une console équipée d’un firmware custom, directement dans la mémoire interne ou sur carte SD.
Pour l’émulation avec Citra, le .cia est également pris en charge. La distinction avec le .3ds tient surtout à l’usage final : le .cia correspond à une logique d’installation, quand le .3ds correspond à une logique de lecture directe d’une image de cartouche.
Un point à noter : les fichiers CIA distribués en dehors des canaux officiels ne portent pas les signatures Nintendo valides. L’émulateur Citra gère ce cas, mais une installation sur console réelle via FBI peut échouer si la signature est absente ou invalide.
ExeFS et RomFS : ce que contient vraiment un jeu Pokémon
Quand on parle d’ouvrir une ROM Pokémon pour en modifier le contenu, on travaille en réalité sur deux sous-systèmes distincts extraits d’une partition NCCH.
- ExeFS (Executable File System) : contient le code exécutable du jeu, le fichier main (binaire ARM), et des métadonnées. C’est ici qu’on intervient pour modifier la logique du jeu elle-même.
- RomFS (ROM File System) : contient les ressources statiques du jeu – textures, modèles 3D, textes multilingues, tables de créatures, fichiers audio. Pour les jeux Pokémon, c’est dans le RomFS que se trouvent les tables d’espèces, les sprites et les scripts de dialogue.
- ExtData et Save : données de sauvegarde et données étendues, stockées séparément sur la console, non incluses dans le fichier ROM lui-même.
Des outils d’analyse documentés pour les titres Pokémon 3DS permettent d’extraire ces contenus séparément selon le titre ciblé. Ouvrir une ROM et extraire ses ressources internes sont deux opérations distinctes qui ne requièrent pas les mêmes outils.
Format .3dsx : réservé aux homebrew
Le .3dsx est l’exécutable standard des applications homebrew 3DS. Il ne contient pas un jeu au sens d’une ROM commerciale : c’est un programme qui tourne dans l’environnement Homebrew Launcher (HBL).
Confondre ce format avec un format de ROM est une erreur fréquente. Un fichier .3dsx ne peut pas être chargé comme un jeu dans Citra de la même façon qu’un .3ds ou .cia. Le support existe pour certains homebrew, mais l’usage reste distinct.
Quel format choisir pour l’émulation Pokémon sur Citra
Citra accepte les fichiers .3ds décryptés et les fichiers .cia. Les fichiers chiffrés peuvent provoquer des plantages ou un écran noir au lancement.
- Pour une émulation directe sans modification : un fichier .3ds décrypté est suffisant et ne nécessite aucune étape supplémentaire après le analyse.
- Pour tester un romhack ou une version modifiée d’un jeu Pokémon : un fichier CIA reconstruit depuis les partitions modifiées est généralement la forme distribuée par les créateurs de romhacks.
- Pour extraire et analyser les ressources internes (tables, textes, sprites) : il faut d’abord extraire RomFS depuis le fichier source, puis utiliser un outil dédié au titre Pokémon concerné.
La compatibilité effective dépend aussi du titre précis : Pokémon X/Y, Pokémon Soleil/Lune et Pokémon Rubis Oméga/Saphir Alpha ont des structures RomFS différentes, et les outils d’extraction ne sont pas tous universels.
Le choix du format découle donc directement de l’usage : émulation simple, modification du jeu ou extraction de ressources appellent des fichiers et des workflows différents, même quand le jeu de départ est identique.

