Comment fusionner (merge) son ROM sets Nintendo DS pour sauver de l’espace
Les collections de ROMs tel que Nintendo DS prennent de plus en plus d’espace sur les disques durs des PC. Pour ceux qui, comme moi, n’ont pas des tonnes d’espace libre sur leur système, la fusion des titres semblable est une option.
À la fin du tutoriel vous serez capable de faire une fusion (merge) de vos ROMs pour ainsi sauver de l’espace disque. La méthode est aussi applicable aux autres ROM Sets que No-Intro compile en tenant compte des Parents/Clones.
Notes :
Les fichiers seront fusionnés sans numéros. Certains gestionnaires de ROMS peuvent lire les fichiers d’archives solides. Dans leur interface ils tiennent en compte la numérotation. Un exemple est RToolDS disponible au ici. Il y a certains bogues concernant les fichiers 7zip solides. Mais dans 95% des cas il détecte les ROMs de façon acceptable.
Partie 1 : Comment cela fonctionne-t-il? (Détails techniques)
La collection complète, basé sur le DAT de No-Intro, prend 217 Go non compressée. Peu de gens utilisent cette méthode car trop gourmande en espace. Quand les ROMs sont compressé avec ZIP on tourne autour de 130 Go pour la collection complète. En utilisant RAR ou 7zip ont se rapproche du but avec +- 110 Go car 7zip et RAR bien que plus gourmand en mémoire et processeur offre des archives solides. Si nous ajoutons à cela la fusion (merge) nous pouvons espérer +- 69 Go pour la collection complète.
Comment? Les archives solides.
Si nous prenons l’exemple du jeu 007 - Quantum of Solace, nous avons devant nous 5 versions. Chaque version prend environs 24.5 Mo compressée avec RAR ou 7zip pour un total de 122 Mo. Les seules différences entre les 5 versions sont les langues proposées par chacune. La partie restante des fichiers sont en général la même pour tous.
Les archives solide offrent, grâce à un algorithme complexe, de ne pas répéter ces parties identiques. Voici un petit graphique représentant le processus.
Méthode Zip traditionnelle, illustration de la composition de l’archive :
La méthode 7zip dite solide séparent la partie commune des fichiers de l’archive. L’illustration suivante représente la composition de l’archive tel que vue par 7zip à l’analyse :
7zip va prendre la partie commune et la compresser en un bloc distinct. Il va ensuite compresser la partie unique à chacun des fichiers en autant de blocs que requis. Dans le monde des jeux vidéo, la règle générale est que la partie langue est la moins lourde. Donc nous pouvons espérer un résultat tel qu’illustré dans l’image suivante :
Le gain d’espace engendré par la fusion est d’autant plus considérable avec les collections de ROMs ou les titres sont répliqués par régions/langues tel que 007 – Quantum of Solace avec 5 versions (Europe 1, Europe 2, Allemagne, Corée et Amérique du nord.
Partie 2 : Matériel et logiciels requis :
2.1 - PC avec Windows (32 ou 64 bits) et au moins 2 Go de mémoire vive (instructions incluses pour les PC avec plus ou moins de 2 Go de mémoire vive). Plus le processeur est puissant plus le processus sera rapide. 300 Go sera nécessaire pour une collection complète. 230 Go seront récupérés à la fin du processus.
2.2 - 7zip 9.07 Beta (très stable pour un béta et offrent plus de possibilités) disponible en 32 et 64 bits ici.
2.3 - Collection de ROMs Nintendo DS complète et renommée correctement suivant le standard No-Intro NON-numéroté. (Instructions partiellement incluses pour les collections incomplètes). Voir tutoriel Gestion des ROMs NDS (No-Intro et non fusionnées) avec CLRMame Pro, pour vous assurez que votre collection est renommée correctement.
2.4 - Le script de fusion (merge) de No-Intro (liens et méthode téléchargement détaillés plus loin dans le tutoriel).
2.5 - Le logiciel Notepad ++ (logiciel d’édition texte avancé) ici.
2.6 - Fichier de langue pour Notepad ++ (français utilisé pour le tutoriel) ici.
2.7 - Beaucoup de patience car le processus de décompression/compression est très long et demandant en ressources. Nous parlons ici d’heures voir jours. Différentes options seront offertes pour palier à la monopolisation des ressources du PC pendant l’étape décompression/compression.
Partie 3 : Préparation de l’environnement de travail.
3.1 - Installez le programme 7zip.
3.2 - Installez Notepad ++.
3.3 - Renommez french.XML en nativeLang.xml.
3.4 - Copier le fichier nativeLanf.xml dans le répertoire d’installation de Notepad ++ (en général dans « Program Files\Notepad ++ » sur le C:\) et lancez Notepad ++ pour vérifier que le logiciel est bien en français.
3.5 - Décompressez toutes vos ROMs dans un dossier. Vous pouvez vous débarrasser de vos fichiers .zip mais assurez-vous que vous avez une copie de sécurité (backup) à quelque part. Vous ne voulez surtout pas vous retrouvez avec 120 Go supplémentaire de libre mais aucune ROM.
L’outil de choix, pour ce type de travail, est à mon avis WinRAR car il offre une décompression en batch. Il offre aussi la possibilité de supprimer les archives originales une fois décompressées et vérifiées. Soyez patient car la conversion prend un certain temps.
3.6 - Générer et télécharger le script de fusion.
3.6.1 - Allez au http://datomatic.no-intro.org/
3.6.2 - Dans la partie supérieure veuillez sélectionner Nintendo – Nintendo DS
3.6.3 - Cliquez sur Download à la droite de la page
3.6.4 - Cliquez sur P/Clone List en haut à gauche
3.6.5 - Deux options s’offrent à nous : Text, qui n’est qu’un fichier de référence sur les
parents/clones et Batch Job, qui est le script utilisé pour compression. Nous allons
choisir Batch Job…
…et veuillez cliquer sur Download pour générer le script. Le fichier généré sera
compressé en format .zip et il prendra un peu plus de temps à générer. Il aura le
format : Nintendo - Nintendo DS Parent-Clone (aaaammjj).zip avec la date du jour.
Partie 4 : Modification du script et la fusion (merge).
Pour les étapes suivantes, nous allons prendre pour acquis que Notepad++ est installé et en français. Vous pouvez utiliser un autre éditeur mais les instructions seront fournies pour Notepad++. Nous allons aussi prendre pour acquis que 7zip 9.07 beta est installé avec les configurations par défaut. La ligne de commande sera notre outil car elle offre plus de possibilités.
4.1 - Extraire le fichier .bat de l’archive Nintendo - Nintendo DS Parent-Clone (aaaammjj).zip.
4.2 - Lancez Notepad++ et charger le fichier .bat que vous avez extrait. Vous devriez avoir un résultat semblable à ceci :
Le script de base contient un chemin d’accès générique ainsi que des options de compression générique QU’IL FAUT ABSOLUMENT éditer .
4.3 – Nous allons, en premier lieu, nous débarrasser des chemins car le script sera lancé à partir du répertoire ou se trouvent les ROMs décompressées. 2 choix s’offrent, ligne par ligne (2500+ lignes) ou en quelques clics. Étant lâche de nature, je propose la deuxième option.
4.3.1 - Sélectionnez h:\!\ et copier ou via le menu Edition > Copier ou CTRL + C.
4.3.2 - Cliquez sur le menu Recherche > Remplacer ou faite CTRL + H. L’outil de
remplacement va s’afficher.
Par défaut la partie sélectionnée est déjà dans l’emplacement Recherche.
Si elle n’y est pas, veuillez la copier dans l’emplacement Recherche ou
encore la retaper en tenant bien compte des majuscules, minuscules et
espacements.
4.3.3 - Dans l’emplacement Remplacer par et assurez-vous qu’il n’y ai AUCUN
caractères ni même d’espaces.
4.3.4 - Assurez-vous, que les options sont conformes à l’illustration du
point 4.3.2 et cliquez sur le bouton Remplacer Tout. Au message d’alerte
cliquez sur OK. (le message peut-être en anglais… du moins il l’est sur mon
PC)
Vos lignes ont perdu le h:\!\ et vous devriez voir que toutes les lignes
débutent par : 7za a -mx9 "
4.4 - Les options de compression générique ne permettent pas une grande économie d’espace. Nous allons la modifier avec le chemin exact de l’exécutable 7zip et y ajouter les options de compression optimales pour le système. L’exemple qui suit est basé sur un système 32 bits. Veuillez vous assurer du bon chemin pour les systèmes en 64 bits.
La commande proposés est : C:\Program Files\7-Zip\7za.exe" a -ms -mx=9 -mmt -m0d=128m.
a : Ajouter/création de l’archive 7zip
-ms : Archive solide
-mx=9 : Taux de compression
-mmt : Pour utiliser 2 processeur/cœur si disponible (enlever si vous voulez n’utiliser qu’un seul processeur ou ne possédez pas de double/quadruple processeur. Le processus de compression est très gourmand en ressource de processeur donc pour ne pas monopoliser votre système il est préférable de n’utiliser qu’un seul processeur. Dans mon cas je préfère autre chose et une compression plus rapide (2 PCs à la maison). Ou le faire la nuit en utilisant les pleines ressources.
-m0d=128m : Indique a 7zip d’utiliser un dictionnaire de 128 Mo pour la compression. Plus ce nombre est élevé plus la compression est grande. Pourquoi le limiter a 128 Mo? Un dictionnaire de 128 Mo requière un système équipé de 2 Go de mémoire vive. Pour un system de moins de 2 Go je vous suggère –m0d-96m et pour un système de 4 G0 de mémoire –m0d-196m. Plus que 196 ne donne pas de résultats utiles pour au à la grosseur des fichiers .nds. 7zip version 32 bits ne supporte pas plus que 2 Go donc. Pour utiliser plus que 2 Go vous devez posséder un système 64 bits.
4.4.1 - Sélectionnez 7za a -mx9 et copier sur via le
menu Edition > Copier ou encore avec CTRL + C.
4.4.2 - Cliquez sur le menu Recherche > Remplacer ou faite
CTRL + H. L’outil de remplacement va s’afficher.
Par défaut la partie sélectionnée est déjà dans l’emplacement Recherche.
Si elle n’y est pas veuillez la copier dans l’emplacement Recherche ou encore
la retaper en tenant bien compte des majuscules, minuscules et espacements.
4.4.3 - Dans l’emplacement Remplacer par entrez :
"C:\Program Files\7-Zip\7z.exe" a -ms -mx=9 -mmt -m0d=128m (guillemets inclus)
4.4.4 - Assurez-vous que les options sont exactement les même qu'à
l’illustration du point 4.4.2 et cliquez sur le bouton Remplacer Tout.
Au message d’alerte cliquez sur OK. (le message peut-être
en anglais…du moins il l’est sur mon PC)
Vos lignes débutent toutes par :
"C:\Program Files\7-Zip\7z.exe" a -ms -mx=9 -mmt -m0d=128m
4.5 - Les lignes on toutes le format : "C:\Program Files\7-Zip\7z.exe" a -ms -mx=9 -mmt -m0d=128m "titre du jeux.zip" "titre du jeu nds (Europe).nds" "titre du jeu nds (USA).nds"
Par contre un petit bogue de génération de script existe : les jeux avec un point à la fin du titre sont problématiques. Mr Slime Jr. est un bon exemple. Pour palier à ce petit bobo, ouvrez l’outil de remplacement (CTRL + H).
4.5.1- Entrez : ..7z dans Recherche (assurez-vous qu’il y ait deux points)
4.5.2 - Entrez : .7z dans Remplacer par (assurez-vous qu’il n’y ait qu’un seul point)
4.5.3 - Cliquez sur Remplacer Tout.
Quand nous sommes au fait du bogue il est facilement corrigeable.
J’ai passé un bon moment pour comprendre qu’est ce qui poussait
CLRMame Pro à donner des erreurs en boucle.
4.6 - Cliquez sur Fichier > Enregistrer sous… et enregistrer votre fichier .bat dans le répertoire ou se trouvent vos ROMS décompressées.
4.7 - Pour ceux qui veulent faire la fusion en plusieurs étapes pour ne pas monopoliser l’ordinateur, vous pouvez faire plusieurs fichiers de 200 lignes par exemple. Moi je l’ai fait en plusieurs fichiers séparés réparties sur 3 ou 4 nuits comme cela l’ordinateur n’était pas monopolisé durant le jour.
4.8 - Quand vous êtes prêt lancer la compression double-cliquez sur le fichier .bat que vous venez de sauvegarder dans le répertoire ou se trouve vos ROMs décompressées. Une fenêtre de ligne de commande va apparaitre et vous allez voir la progression.
4.8 - Quand vous êtes prêt lancer la compression double-cliquez sur le fichier .bat que vous venez de sauvegarder dans le répertoire ou se trouve vos ROMs décompressées. Une fenêtre de ligne de commande va apparaitre et vous allez voir la progression.
4.9 - Un fois la fusion complétée, vous pouvez effacer les fichiers .nds. et les .zip
4.10 - Utilisez CLRMame Pro configuré pour une collection fusionnée. Afin de vérifier vos ROMs.
- Bonne chance, Paddy
Modifié par VampireWolf, 30 octobre 2009 - 18:35.