Sommaire · English

Conventions de nommage et fichiers DAT

Choisir la convention

La source, le fichier DAT et la convention se règlent dans l'étape Collection, dans cet ordre : le cadre Source (seul champ obligatoire), puis le cadre Catalogue DAT (facultatif), qui porte aussi la convention, et, avec la convention MAME, le cadre Fichiers MAME (facultatifs). Sans DAT, une phrase sous le champ rappelle que les jeux ne sont alors reconnus que par le nom de leurs fichiers. Une croix au bout d'un champ de fichier ou de dossier le vide : c'est ainsi qu'on cesse d'utiliser un DAT, un dossier de CHD ou un fichier de catégories ou de notes.

L'étape Collection

La liste Convention, dans le cadre Catalogue DAT, propose :

La convention effective choisit aussi les réglages affichés dans la page Filtres (TOSEC, ou No-Intro / Redump, également utilisés pour MAME et ses listes de logiciels). Avec un lot de DAT, chaque DAT garde sa propre convention ; la convention effective est celle de la plupart des DAT cochés.

Lecture des noms

TOSEC

Un nom TOSEC range ses informations dans un ordre fixe :

Titre v1.1 (demo) (1991)(Éditeur)(Système)(Vidéo)(Pays)(Langue)(Copyright)(Statut)(Support)[drapeaux].ext

Par exemple Another World v1.1 (1991)(Delphine)(FR)(Disk 1 of 2)[cr Quartex].adf. RomSieve lit le titre, la version, la date, l'éditeur, le système (A500, AGA, C64...), le standard vidéo (PAL, NTSC), les pays, les langues (en, fr-de, M3 pour « 3 langues »), le support (Disk 1 of 2, Side B, Tape 1) et les drapeaux entre crochets :

Drapeau Signification
[!] Dump vérifié
[a], [a2] Dump alternatif (variante)
[b] Mauvais dump (bad dump)
[o], [u] Overdump, underdump
[v] Infecté par un virus
[cr], [t], [h], [f], [m], [p] Crack, trainer, hack, correctif, modification, version pirate
[tr Fr] Traduction

Un fichier dont le nom ne suit pas au moins la forme Titre (date)(éditeur).ext est non conforme.

No-Intro et Redump

Titre (Région) (Langues) (Rev 1) (Beta) (Disc 2).ext

Par exemple Super Mario World (USA).sfc ou Final Fantasy VII (Europe) (Disc 1).cue. RomSieve lit les régions, les langues, la révision, le statut de développement (Beta, Proto, Sample...), les parutions non officielles (Unl, Pirate, Hack...), les rééditions modernes (Virtual Console, Switch Online, Classic Mini...) et le numéro de disque.

Les DAT No-Intro de disquettes (Acorn Archimedes...) numérotent les disquettes (Disk 1), (Disk 2)..., parfois avec un libellé : (Disk 1, Game Disk), (Disk 2 - Courses). RomSieve les lit comme les disques d'un même set, gardés ou écartés ensemble par le 1G1R, même quand le DAT décrit chaque disquette comme un jeu et fait des disquettes les clones de l'une d'elles. Sans total dans le nom, le set compte autant de disques que le plus grand numéro trouvé.

Supports optiques

Un descripteur (.cue, .gdi, .ccd) et ses pistes (.bin, .img, .sub...) forment un set : ils sont analysés, renommés et transférés ensemble, sur le disque comme dans les archives. Lorsqu'un set doit être renommé pour éviter un conflit, le descripteur est réécrit pour désigner les pistes renommées.

Fichiers DAT

Un fichier DAT liste les ROMs d'une collection avec leur nom, leur taille et leurs sommes de contrôle (CRC32, souvent MD5 et SHA-1). RomSieve lit les formats Logiqx XML (.dat, .xml) et ClrMamePro (.dat) publiés par TOSEC, No-Intro et Redump.

Avec un DAT :

Quelques détails :

Vérifier le SHA-1

Le CRC32 est court : deux fichiers différents peuvent le partager. Avec Vérifier le SHA-1 (dans les options avancées), RomSieve calcule aussi le SHA-1 de chaque fichier identifié par son CRC32 quand le DAT en fournit un (c'est le cas des DAT Redump), et rejette la correspondance s'il diffère. C'est plus sûr mais plus lent, puisque chaque fichier identifié est relu (un fichier dans un ZIP doit être décompressé).

Vérifier le contenu des archives

Un fichier dans une archive (ZIP, 7z, RAR) est reconnu par le CRC32 que l'archive enregistre pour lui, sans être lu, et un set MAME est copié tel quel : une archive abîmée dont l'en-tête est juste passe pour complète. Avec Vérifier le contenu des archives (dans les options avancées), RomSieve décompresse chaque fichier de chaque archive et compare son contenu à ce CRC32, comme le full scan d'un gestionnaire de ROMs. Un fichier abîmé est non conforme (« Fichier abîmé dans son archive »), et le jeu dont une piste est abîmée l'est tout entier ; un set MAME abîmé est non conforme (« Archive abîmée »), ses ROMs comptées manquantes : réparez-le avec un gestionnaire de ROMs. La première analyse est beaucoup plus lente, puisque chaque archive est décompressée ; le résultat est ensuite gardé dans le cache des en-têtes, et seule une archive nouvelle ou modifiée est relue. Un fichier d'un 7z ou d'un RAR qui n'enregistre pas de CRC32 ne peut pas être vérifié.

Vitesse de calcul

Calcul des CRC, dans la fenêtre des préférences, fixe le nombre de fichiers analysés en même temps : 1 fichier à la fois convient mieux à un disque dur mécanique ; 2, 4, 8 ou Automatique accélèrent l'analyse sur un SSD, un disque NVMe ou un NAS rapide. Le résultat n'en dépend jamais. C'est une option de tri : elle est enregistrée dans les profils, et charger un profil peut la modifier. Les sommes de contrôle sont mises en cache : une deuxième analyse de fichiers inchangés est bien plus rapide.

DAT MAME

Un DAT MAME (la sortie de mame -listxml, ou un DAT non-merged ou merged produit par SabreTools) fait détecter la convention MAME : le badge affiche MAME (détecté). Elle peut aussi être choisie dans la liste, mais elle exige un DAT MAME.

Avec cette convention, l'unité est le set : une archive (ZIP ou 7z) qui porte le nom court d'une machine (sf2.zip).

Types de romsets

RomSieve trie les archives telles qu'elles sont : il ne reconstruit, ne répare ni ne convertit jamais un set.

Romset Une archive contient Avec RomSieve
non-merged Toutes les ROMs de sa machine, BIOS compris Chaque parent et chaque clone est un set à part : le 1G1R et les filtres choisissent entre eux.
merged Le parent et tous ses clones Trié tel quel, avec ses clones : le 1G1R et les filtres choisissent l'archive entière, pas un clone.
split Les seules ROMs propres à sa machine Un parent est trié normalement. Un clone ne fonctionne pas sans le set de son parent : il est signalé, et en 1G1R il perd toujours face à son parent complet.

Dans une collection merged ou split, les jeux prennent dans les sets de BIOS les ROMs qu'ils partagent avec leur BIOS : placez les sets de BIOS et de devices dans la source, RomSieve trie ceux dont les jeux retenus ont besoin. Pour changer de type de romset, utilisez un gestionnaire de romsets comme clrmamepro ou RomVault.

Les samples ne sont pas gérés, et un fichier hors d'une archive (sauf un CHD) n'est pas un set MAME.

Genre des machines

Le DAT de MAME ne dit pas le genre d'une machine. La communauté publie des fichiers de catégories, que RomSieve lit quand vous en indiquez un dans le champ Catégories de l'étape Collection (option --categories en ligne de commande) :

Une catégorie suivie de * Mature * signale une machine pour adultes. Un clone que le fichier ne cite pas prend la catégorie de son parent. Les catégories servent aux filtres, à la recherche du tableau et aux variables {genre} et {category} du modèle de dossiers. Un fichier introuvable ou illisible est signalé au journal, et le tri continue sans catégories.

Notes des machines

progettosnaps publie aussi bestgames.ini, qui note quelques milliers de jeux d'arcade sur 100, par tranche de dix (de 0 to 10 (Worst) à 90 to 100 (Best Games)). Indiquez-le dans le champ Notes de l'étape Collection (option --ratings en ligne de commande) : un clone prend la note de son parent, et une machine que le fichier ne cite pas est non notée. Les notes servent aux filtres de notes et au volume limité ; le panneau de détail du tableau les affiche.

Listes de logiciels MAME

En plus de ses machines d'arcade, MAME émule des consoles et des micro-ordinateurs, dont il décrit les cartouches, disquettes et cassettes dans des listes de logiciels (software lists) : une liste par type de support (megadriv pour les cartouches Mega Drive, a2600, cpc_flop...). Une collection Software List ROMs contient un dossier par liste, et une archive par logiciel dans ce dossier (megadriv/sonic.zip). RomSieve lit deux sortes de DAT pour une liste :

Chacun de ces DAT fait détecter la convention Liste de logiciels MAME (le badge affiche Liste MAME (détectée)), d'après l'éditeur que nomment ses logiciels. La convention peut aussi être choisie dans la liste, mais elle exige le DAT de la liste.

Pour trier une liste, choisissez son DAT et, comme source, le dossier de la liste (Software List ROMs/megadriv).

Pour trier plusieurs listes à la fois, choisissez un dossier de DAT : Parcourir... à côté du champ du DAT, puis Dossier de DAT…, ou --dat <dossier> en ligne de commande. Le dossier contient un DAT par liste : le dossier Software List ROMs du DatRoot de ROMVault, ou le dossier hash de MAME. Une sortie de MAME qui contient plusieurs listes (mame -getsoftlist, mame -listsoftware) fonctionne de même. La source est alors le dossier qui contient un dossier par liste (Software List ROMs), et Scanner récursivement les sous-dossiers doit être coché.

Sets split. Les collections de Pleasuredome sont split : l'archive d'un clone ne contient que les ROMs qu'il ne partage pas avec son parent. Avec le fichier hash, RomSieve le sait : un clone split retenu emporte son parent (pastille Requis), dont MAME a besoin. Un DAT SabreTools ne liste que les ROMs propres d'un clone et ne nomme pas son parent : le clone paraît complet, et rien ne dit qu'il a besoin de son parent. Dans MAME 0.289, cela concerne 868 des 41 505 clones des listes, surtout dans nes (416) et msx2_flop (114) ; utilisez le fichier hash pour ces listes.

Plusieurs DAT

Un pack No-Intro, Redump ou TOSEC compte des centaines, voire des milliers de DAT, un par système. Plutôt que de trier la source une fois par DAT, choisissez le dossier qui les contient : Parcourir... à côté du champ du DAT, puis Dossier de DAT… (--dat <dossier> en ligne de commande). Ce dossier est un lot : la source est analysée une seule fois, chaque fichier est rangé avec le DAT qui le reconnaît, et chaque DAT garde sa convention, ses filtres et son 1G1R.

DAT dans une archive

Le DAT peut aussi être une archive ZIP, 7z ou RAR, telle qu'on la télécharge : choisissez-la par Parcourir... (Fichier DAT…), ou --dat pack.zip en ligne de commande. RomSieve la lit sans rien extraire, et ne prend que ses fichiers .dat et .xml.

Choisir les DAT du lot

Sous le champ, la ligne d'information résume le lot : Lot de 3 111 DAT (2 900 TOSEC, 150 No-Intro, 61 Redump), 3 111 cochés. Seuls les en-têtes des DAT sont lus pour l'afficher, en général en une fraction de seconde. Pendant cette lecture, une barre de progression compte les DAT lus (1 200 / 3 111 DAT lus), et Simuler (Dry-Run) et Démarrer le tri sont grisés : le tri attend de connaître les DAT du lot. Les autres réglages restent modifiables, et choisir un autre DAT ou vider le champ abandonne la lecture. À droite, le bouton Choisir les DAT… (grisé pour un fichier DAT) ouvre la fenêtre DAT du lot ; elle s'ouvre d'elle-même quand vous choisissez un nouveau dossier par Parcourir..., une fois ses DAT lus, et aussi au lancement ou au chargement d'un profil quand aucun DAT du lot n'est coché. Elle s'ouvre toujours sur tous les DAT. Pour un nouveau dossier, aucun DAT n'est coché : cochez ceux avec lesquels trier. Rouverte par Choisir les DAT…, elle garde vos cases.

Un dossier (ou une archive) est refusé, et la ligne d'information dit pourquoi, quand deux de ses DAT portent le même nom (sans tenir compte des majuscules), quand il contient un DAT de machines MAME (à choisir seul), quand il mêle des listes de logiciels MAME à d'autres DAT, ou quand tous ses DAT sont décochés.

Conventions d'un lot

Chaque DAT garde la convention de son en-tête : un lot peut mêler des DAT TOSEC, No-Intro et Redump, chacun lu avec ses noms et filtré avec ses réglages de la page Filtres. La convention choisie dans la liste Convention ne vaut que pour les DAT qu'aucun en-tête ne reconnaît ; le journal nomme les DAT dont la convention détectée l'emporte sur elle. Le badge et la page Filtres suivent la convention de la plupart des DAT cochés ; Réglages pour : montre les réglages de l'autre famille. Les variables TOSEC du modèle restent actives dès qu'un DAT TOSEC est coché.

Tri avec un lot

Seuls les DAT qui peuvent reconnaître un fichier de la source sont lus en entier, une fois les sommes de contrôle calculées : trier une petite source avec un pack TOSEC complet (3 000 DAT, plus d'un million de ROMs) ne garde que quelques dizaines de Mo en mémoire. Une source qui touche tous les DAT les lit tous, deux fois (le lot, puis chaque DAT) : environ 1,8 Go de mémoire pour un pack complet.

Archives

Avec Inspecter les archives (ZIP, 7z, RAR) (option avancée, cochée par défaut), RomSieve liste les fichiers contenus dans chaque archive et les identifie par le CRC32 enregistré dans l'archive, sans rien extraire. Les fichiers retenus sont extraits lors du tri ; l'archive elle-même reste en place, même en mode Déplacer.

Fichiers CHD

RomSieve lit l'en-tête des fichiers .chd (versions 3 à 5) et leur liste de pistes sans les décompresser. Un CHD illisible ou incomplet est non conforme.