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.

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).
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.
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.
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.
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 :
_unmatched/ ;Quelques détails :
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é).
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é.
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.
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).
{year},
{publisher}) aussi.area51/area51.chd) est identifié par le SHA-1 de son
en-tête et suit son set, dans un dossier du même nom. Le disque d'un
clone rangé dans le dossier de son parent (CHD merged) y reste
: MAME l'y cherche aussi. Quand les CHD sont rangés à part (un dossier
CHD à côté des ROMs, comme dans un full set),
indiquez ce dossier dans le champ Dossier des CHD du
cadre Fichiers MAME de l'étape Collection (toujours
affiché, aux couleurs de MAME avec la convention MAME) : ses CHD sont
lus en plus de la source, et ses autres fichiers ignorés. La destination
ne doit pas chevaucher ce dossier, pas plus que la source. Un tri d'une
autre convention ne le lit jamais : le dossier reste dans les réglages
pour le prochain tri MAME, sans rien dire au journal.neogeo.zip), comme
dans les collections merged et split : le jeu est
complet si ce set est dans la source, et signalé s'il en est absent. Il
en va de même des devices à ROMs qu'utilise un jeu
(qsound pour les jeux CPS2) : sauf si son set contient
leurs ROMs (set fully non-merged), le jeu a besoin de leurs
sets, et il est incomplet sans eux.cloneof du DAT ; un DAT SabreTools n'en a pas, ses sets
sont regroupés par titre). Deux jeux de même titre mais de parents
différents restent distincts, et un BIOS ou un device est un
jeu à part.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.
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) :
catver.ini : une section [Category] de
lignes machine=Genre / Sous-genre ;catlist.ini et genre.ini de progettosnaps
: une section par catégorie, suivie de ses machines.
catlist.ini marque les machines d'arcade
(Arcade: Shooter / Flying Vertical) : il permet d'exclure
les consoles, ordinateurs et autres machines hors arcade d'un full
set.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.
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.
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 :
megadriv.xml), dont l'en-tête porte le nom de la
liste ;hash (hash/megadriv.xml), qui donne en
plus le parent de chaque clone et la prise en charge de chaque logiciel
par MAME ;mame -getsoftlist megadriv > megadriv.xml. Dans
Windows PowerShell, une redirection réécrit les caractères accentués des
descriptions : lancez la commande dans l'invite de commandes
(cmd), ou utilisez le fichier hash.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 (listes de logiciels
MAME)…, 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é.
Chaque archive appartient à la liste de son dossier
(megadriv/sonic.zip) et n'est cherchée que dans le DAT de
cette liste : sonic de megadriv et
sonic d'une autre liste sont deux logiciels, deux jeux,
triés chacun dans son dossier. La source peut aussi être le dossier
d'une seule liste.
Un fichier hors du dossier d'une liste (à la racine de la source), ou dans un dossier qu'aucun DAT ne nomme, est non conforme ; le journal les compte et en nomme quelques-uns.
La complétude et la Miss List ne comptent que les listes
présentes dans la source : un DAT du dossier dont la source n'a pas la
liste n'ajoute rien de manquant. La Miss List nomme chaque logiciel avec
sa liste (gamegear/shinobi).
Le DAT filtré du catalogue, le DAT de votre collection et le
fixdat s'écrivent en un DAT par liste (comme dans le
DatRoot de ROMVault), à la racine du dossier choisi :
megadriv.xml, gamegear.xml... Lus dans le
dossier hash de MAME, ils s'écrivent comme des listes de
logiciels MAME, que MAME lit (Exports).
Un dossier de DAT ne réunit que des listes de logiciels : un DAT
d'une autre convention, ou deux DAT de la même liste (le DAT SabreTools
et le fichier hash de megadriv, par exemple), est refusé,
et le champ dit pourquoi.
La première analyse d'une collection entière est longue sur un partage réseau (environ 131 000 archives pour MAME 0.289) ; les suivantes lisent dans le cache les en-têtes des archives inchangées.
Comme pour les sets MAME, l'unité est l'archive d'un logiciel, identifiée par son nom court ou à défaut par ses ROMs, comparée au DAT (incomplète s'il lui manque une ROM), et transférée telle quelle, jamais réarchivée ni renommée.
Le titre, les régions, les langues, la révision, la date d'un
prototype et les versions à part (pirate, hack, crack, trainer,
traduction, prototype, démo) viennent de la description
du logiciel, l'année et l'éditeur du DAT ({year},
{publisher}). Le titre est tout le texte hors des
parenthèses et des crochets : Initiation au Langage Basic (CEGOS) -
Volume 3 a pour titre Initiation au Langage Basic - Volume
3, si bien que chaque volume, niveau ou partie est un jeu à
part.
Un logiciel va dans le dossier de sa liste, où
MAME le cherche : megadriv/sonic.zip sous la destination.
Avec Tout à la racine, la destination est le dossier de
ROMs de MAME ; les dossiers d'un modèle viennent au-dessus de celui de
la liste, et l'aperçu du modèle rappelle que MAME n'y trouverait pas le
logiciel.
Pour le 1G1R, les logiciels suivent l'ordre des Listes MAME. Avec un fichier hash, un clone rejoint son parent, même sous un autre titre (Castle of Illusion - Fushigi no Oshiro Daibouken et Castle of Illusion Starring Mickey Mouse), et le 1G1R préfère le logiciel que MAME prend le mieux en charge. Un DAT SabreTools n'a pas de parents : les logiciels sont regroupés par titre, si bien que les versions d'un jeu parues sous d'autres titres restent distinctes.
Les filtres utilisent les réglages No-Intro / Redump. La qualité des dumps est sans effet (une ROM marquée baddump est le meilleur dump connu), comme les parutions sans licence et les rééditions modernes, que les descriptions ne marquent jamais ; le groupe Machines MAME ne vaut que pour les machines d'un DAT MAME.
Certaines listes de micros décrivent un logiciel disquette par disquette (Disk 1 of 2, Disk 2 of 2) : chaque disquette est alors un jeu à part, pour que le 1G1R les garde toutes, éventuellement de versions différentes.
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.
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.
.. n'est jamais écrit : voir Sécurité, purge et annulation.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.
.bin,
.cue), pas le CHD qui les compresse : un CHD ne peut donc
jamais y correspondre par sa somme de contrôle. Identifier les
CHD par leur nom (option avancée) rattache un CHD au jeu du DAT
qui porte exactement son nom. Le contenu n'est pas vérifié : ces
fichiers sont signalés identifié par le nom, non vérifié et
comptés à part dans la complétude.