issue 09/2021




Notes:

En émulation, nous avons été très longtemps habitué à manipuler des ROMs, ces fichiers au format numérique représentant le programme original contenu dans une cartouche, cassette ou autre media physique. Il est donc naturel qu’au fil du temps, dans un soucis de sauvegarde de son bien, ainsi que de préservation, nous ayons utilisé de nombreux outils mis à notre disposition, pour récupérer sous forme de fichier, les données contenues dans divers médias en notre possession.


Manipuler les images disques sous OSX (iso, dmg, bin, cue, et autres)
[par Emuzone] publié en 07/2021

Si les ROMs sont en général plus complexes à réaliser, ils sont des supports généralement plus faciles à sauvegarder, sous forme d’images de disques, tels que les disques durs, les disques numériques CD/DVD ou disquettes.

Le soucis est qu’avec les années, les outils se sont multipliés et par extension, les formats. Ainsi il n’est pas rare de récupérer bon nombre de formats de fichier différents pour des images d’un même type de média.

Sur Mac nous sommes donc habitué à manipuler assez naturellement des fichiers image au format img, dsk, dmg, cdr, ou toast, voir iso et même bin/cue. Mais il en existe d’autres venus d’autres mondes que celui à la pomme. On se retrouve alors parfois, suite à des changements d’ordinateurs utilisant un système ou un autre, avec une compilation de nos fichiers de sauvegardes dans des formats bien hétéroclites.

Si cela ne posera pas un souci d’esthétisme pour la majorité d’entre vous, en plus d’avoir un format commun pour l’ensemble des images par type de média, il se peut, qu’en voulant goûter à nouveau aux données de votre passé, l’émulateur associé à la machine d’époque ne reconnaisse pas le format de l’image disque. C’est là le plus embêtant, et on se demande pourquoi ne pas avoir opté pour un autre format à l’époque.

La première solution possible est donc de refaire une image du média original dans le format attendu, mais cela peut parfois obliger à ressortir la machine du grenier, pas toujours fonctionnelle, ou de demander l’aide d’un des détenteurs de la machine si cette dernière n’est plus en votre possession.

L’image disque la plus utilisée dans le monde de l’émulation est sans nul doute celle que l’on nomme iso, diminutif de ISO-9660 étant le nom de la norme. C’est donc vers cette dernière que nous allons essayer de faire la conversion des autres formats. Il est aussi souvent utilisé en format dit pivot. C’est à dire que pour de nombreux autres formats, il existe des outils faisant la conversion dans un sens et dans l’autre.

Pour information, vous retrouverez les sources de la majorité des outils, à compiler et utilisable via le terminal, sur GitHub.

Créer un ISO

Dans un premier temps nous allons apprendre à créer un iso à partir d’un cd-rom ou dvd-rom.

La première méthode est d’utiliser l’utilitaire de disque, ici nous sauvegarderons notre jeu Windows qu’est Hexplore et pourrons alors y jouer par la suite via Wine ou Virtualbox.

Vous remarquerez que le format du CD est déjà noté comme du ISO 9660 par l’utilitaire, il faut juste spécifier à l’outil qu’on souhaite réaliser une image d’un CD/DVD et lui donner le nom voulu.

Au démarrage de la procédure, les droits administrateurs vous seront demandés, sans quoi il ne sera pas possible de réaliser l’opération.

Opération qui devrait se dérouler sans soucis et au bout de laquelle vous pourrez éjecter votre média pour le ranger délicatement dans son étui et le garder jalousement dans votre coffre fort, ou ludothèque.

Il en résulte alors un fichier suffixé cdr. Suffixe que vous allez pouvoir changer pour iso si cela vous convient mieux, puisque, comme nous l’avons vu précédent, l’image a été traité par l’utilitaire comme répondant à la norme.

La seconde méthode est plus couteuse, puisqu’elle vous demande de posséder une licence Roxio Toast, le logiciel de gravure bien connu du monde Apple.

Il permet de générer des images disques dans un format propriétaire mais largement reconnu dans l’univers Mac, donc nativement par OSX, et nommé, sans grande originalité, toast.

Ce format se rapproche tellement de l’iso, utilisant lui aussi la norme, qu’en le renommant comme précédemment, bon nombre de logiciels le reconnaissent. Mais la solution adéquat pour en faire un iso réel est sans nul doute de monter l’image toast via le logiciel de Roxio puis d’en réaliser une image avec l’utilitaire disque comme dans la première méthode.

Notons aussi que Toast propose de créer des images au format bin/cue de façon tout aussi simple qu’une image Toast. Mais nous traiterons ci-dessous ce format avec un autre utilitaire gratuit.

On pourrait se demander ce que Toast propose alors de plus, outre toutes ses options pour la gravure de CD/DVD. Et bien peut-être avez eu des erreurs de lecture avec l’utilitaire disque vous empêchant de sauvegarder certains médias.

Cela arrive très fréquemment avec des disques "protégés" ou simplement abîmés par le temps et les manipulations.

Toast propose alors de passer outre ses erreurs de lecture, vous permettant de réaliser votre fichier de sauvegarde, moyennant un temps de traitement pouvant être assez long.

Une fois l’option cochée, dans une majorité de cas, sous conditions que le disque ne soit pas physiquement atteint et propre, le logiciel réalisera sans trop de soucis un fichier d’image (ici Grandia 2 pour PS2).

Si vous remarquez que la barre d’avancement du logiciel est figée et entendez le moteur de votre lecteur s’exciter, c’est normal, aucune explosion à anticiper. Ne prenez pas de suite la fuite et laissez le travailler.

Même s’il faut reconnaitre que question gestion de l’usure il y a mieux, il m’a parfois fallu attendre une nuit pour avoir l’image finale d’un DVD assez abîmé. Toujours est-il qu’une fois fait vous allez pouvoir laisser au repos définitif votre original et pouvoir user sans vergogne de votre sauvegarde.

Mais tous les médias ne sont pas récupérables, j’ai du abandonner de rares fois le processus qui n’avançait plus après plus de seize heures de travail.

Et parce qu’OSX est un Unix, nous allons décrire ci-dessous les différentes lignes de commandes permettant de créer une image disque depuis un terminal pour les débrouillards.

Dans l’exemple ci-dessous je vais utiliser le jeu PSX Dynasty Warriors qui génère des erreurs de lecture avec l’utilitaire disque.

La première chose à faire après avoir ouvert le terminal est d’exécuter la commande suivante :

Il faut alors regarder au milieu des différentes descriptions de média, celle correspondant au volume que vous souhaitez sauver.

Une fois trouvée, notez l’identifiant et démonter le volume à l’aide de ce dernier avec la commande qui suit...

Il ne reste plus qu’à générer l’image disque avec la commande suivante "dd".

Une fois que le terminal vous rend la main, le fichier est alors utilisable.


Formats MacOS

Les premiers formats connus sous Mac sont sans nul doute le dsk et img ou image (parfois nommé ima). Il n’est généralement pas nécessaire de convertir de tels formats car ce sont en général ceux utilisés par les émulateurs de vieux Mac. Si les ouvrir est possible, d’autant plus avec l’émulation, il est souvent moins simple de les convertir, pour un intérêt très relatif.

Ceci est sans doute moins vrai pour une image disque en img, puisqu’elle sont en général tout à fait lisibles, et par conséquent, plus facilement manipulable, même si les OSX les plus récents sont devenus incapables d’écrire des données même si le volume est inscriptible.

Attention toutefois à vous assurer que votre fichier img est bien un format générer sur mac, car cette même extension existe sous le système Windows, pour la même finalité, mais forcément dans un système de fichiers différent. Vous trouverez, par exemple, des images de disquettes de démarrage pour les vieux système de Microsoft, avec cette même extension.

Dans le cas d’un fichier IMG réalisé sous Windows, il existe un utilitaire pouvant réaliser une conversion en ISO avec un résultat qui n’est malheureusement pas garanti. Toutefois sachez que cet utilitaire nommé "iat" dont les sources sont disponible ici, installable directement via homebrew (avec la commande suivante : brew install iat), s’utilise via le terminal avec la commande suivante :

Avec OSX est apparu le format DMG, même si certains créés sous architecture PowerPC semblent parfois récalcitrants aujourd’hui sur nos système récents.
Pour ces cas épineux, peut-être tenterez vous l’utilitaire dmg2img, permettant de créer des image au format HFS+ depuis votre format DMG.

Pour ce faire, récupérez les sources du programme sur le site officiel afin de les compiler.
Lancez ensuite l’exécutable avec la commande suivante :

A part cela, vous n’aurez donc pas de grandes raisons pour modifier votre fichier DMG en iso, mais si l’envie vous en prenait, le terminal reste la façon la plus rapide grâce aux deux commandes suivantes :

Dans le cas inverse, transformer votre iso en dmg, l’utilitaire disque reste le moyen natif le plus efficace, en suivant la même procédure que pour les fichiers toast, décrite ci-dessus.

Le format Bin/Cue

Voici un format qui n’est pas géré nativement par OSX mais dont certains logiciels, et pas mal d’émulateurs, commencent à supporter. Comme dit plus haut, Toast est l’une des premières applications MacOS à avoir intégré ce format permettant de générer des bin/cue mais aussi de les monter (quand il y arrive).

La particularité de ce format est qu’il utilise un fichier texte portant l’extension "cue", décrivant la structure du média et ses différentes pistes. Ainsi avec un fichier "cue", vous pouvez avoir plusieurs fichiers et non obligatoirement un fichier "bin". Vous aurez parfois le fichier iso à la place, voire d’autres formats plus exotiques. Lorsque le média comporte des pistes audio, ces dernières sont souvent converties en fichiers wav, mp3 ou ogg.

Dans le cas d’une simple image dite bin/cue, il est possible de transformer ce format en iso. Pour cela il faut récupérer l’utilitaire bchunk sur le site officiel et l’utiliser comme suit, en ligne de commande :

Ainsi vous aurez en sortie un fichier .iso. Mais attention, comme tout outil du monde Unix, il faut faire très attention aux chemins vers les fichiers ainsi qu’aux noms des fichiers. Evitez tout caractère spécial et si pour cela, vous devez modifier le nom des fichiers et surtout celui à l’extension "bin", n’oubliez pas de le reporter également dans le fichier texte à l’extension "cue", puisqu’en tant que descripteur du média, le nom de ce même fichier "bin" y est présent.

Notez également que pour chaque piste du média, sera créé un fichier iso dans le cas de données, ou wav dans le cas d’une piste audio.

Et puisque nous sommes sur un site d’émulation, vous aurez peut-être noté l’option PSX de l’outil. En effet, pour transformer votre bin en iso compatible Playstation, il faudra ajouter le paramètre -p à la ligne de commande.

Convertir les isos vers le bin/cue :

Nous savons comment convertir un bin/cue vers le format iso. Mais dans le monde de l’émulation, il y a parfois des émulateurs préférant en entrée le format bin/cue. C’est pourquoi nous allons voir comment réaliser cette transformation. Et pour cela, nous utiliserons l’outil poweriso.
PowerIso est payant, mais sous OSX, il est disponible gratuitement en ligne de commande.
Il permet gère trois formats, l’iso, le bin et le daa (visiblement aussi le nrg). Nous ne décrirons pas toutes les combinaisons car dans l’absolue elles restent très similaires les unes des autres. Ainsi pour convertir votre iso en bin/cue, il suffit de taper la commande suivante :

Attention toutefois, la seule option étant le format de sortie, la conversion est assez sommaire. Cela signifie que si je n’ai jamais eu de soucis à convertir mes jeux Sega Saturn, j’ai eut pas mal de conversions de mes jeux PSX qui n’étaient visiblement plus reconnues.

Dans le cas où vous auriez un fichier au format daa, dit Direct-Access-Archive, vous aurez donc vite compris comment transformer ce fichier PowerIso en Iso avec la commande suivante :

Nero ou le format Windows

Le format le plus connu historiquement est sans aucun doute le format Nero dont on reconnait les fichiers à l’extension nrg. Ce format, apparu sur l’OS de Microsoft en même temps que le support des graveurs, il paraitrait que les premières versions de ce format, ne seraient que le format iso classique avec une en-tête de fichier plus longue. Ainsi il suffirait simplement de taper la commande suivante dans un terminal pour convertir un tel fichier nrg ancien en iso :

Mais n’ayant pas de tels fichiers pour tester cela, je resterai sceptique sur cette méthode et pencherai plus sur l’utilisation de l’utilitaire nrg2iso dont la commande est la suivante, produisant un fichier iso en sortie :

Il semblerait que PowerIso, vu plus haut, supporte également le format nrg du logiciel Nero.

Les formats exotiques

Il existe beaucoup d’autres formats plus ou moins exotiques. Nous ne pouvons donc pas être exhaustif, mais afin de compléter un minimum ce dossier, nous allons vous en présenter quelques-uns et surtout comment les transformer, théoriquement, en iso, donc sans garantie de résultat.

* B5I (BlindWrite 5 Image, format développé par VSO Software)
Format très rarement rencontré, pour ne pas dire jamais dans mon cas, l’utilitaire est disponible sur GitHub et semble s’utiliser de la manière suivante : b5i2iso <mon_fichier_b*i>
* CDI (DiscJuggler format)
Format très utilisé par les développeurs d’homebrew sur Dreamcast, la plupart des émulateurs de la console à la spirale supportent par défaut ce format. Toutefois l’utilitaire est disponible également sur GitHub et s’utilise de la manière suivante : cdi2iso <mon_image_cdi> <mon_image_iso>
* CCD (format CloneCD)
Certaines images de prototypes diffusé sur le net, tel Armed sur Sega Saturn utilise ce format. A l’instar du format bin/cue, le ficher ccd n’est que descriptif et accompagné d’un fichier img mais également sub. Pour transformer un tel format vers l’iso, il faudra utiliser l’outil ccd2iso via le terminal comme suit : ccd2iso <mon_fichier_img> <mon_fichier_iso>
* MDF/MDS (Media Descriptor, format utilisé par Alcohol 120%)
Format qui a perdu beaucoup en notoriété depuis qu’il n’est plus mis à jour, il n’est pas impossible de retrouver se format lors de sauvegardes réalisée dans les années 2000, mi-2010. Si tel était le cas, il faudra utiliser mdf2iso de la manière suivante : mdf2iso <mon_fichier_mdf> <mon_fichier_iso>
* PDI (Instant CD/DVD)
Encore un format très peu rencontré à l’instar de BlindWrite décrit ci-dessus. En de rare cas, il faudra utiliser pdi2iso, visiblement comme ceci : pdi2iso <mon_fichier_pdi>
* UIF (Magic ISO format)
Format propriétaire qu’il est possible de retrouver et donc de convertir en iso via l’outil uif2iso et utilisable comme cela : uif2iso <mon_fichier_uif> <mon_fichier_iso>

Le format CSO pour PSP

Vous aurez sans doute remarqué que l’émulateur PSP utilise aussi bien le format dit ISO que CSO, mais qu’elle est donc la différence ? En fait, le format CSO est un ISO compressé, et c’est ce format que comporte les UMD (Universal Media Disc) de la portable de chez Sony. Ainsi il est possible de faire tenir un plus grand volume de données sur le support physique que les 1,3 Go maximum qu’il propose, même si la décompression demande plus de puissance donc plus de batterie et entraine potentiellement des ralentissements.

Afin de convertir dans un sens comme dans un autre ces deux formats, il existe sur MacOS un programme nommé PSP-CSO-Converter. Le code source et disponible et un build pour OSX Intel est téléchargeable. Pour faire la conversion d’un format vers l’autre il suffit de glisser et déposer le fichier de votre image disque sur l’interface et d’indiquer où sauver le fichier résultant du traitement, ce dernier se chargeant de détecter le format du fichier en entrée pour le compresser ou décompresser vers l’autre en sortie.

Mame et son format CHD

Mame et son dérivé MESS utilise un format dit CHD pour Compressed Hunks of Data. Ce fomat inclus aussi bien les images de disques optiques que celles des disques durs. Nous avions donc déjà fait une petite présentation dans un autre article consacré aux émulateurs multi-machine, dans le paragraphe réservé à MESS, comment transformer les bin/cue en chd grâce à l’outil livré avec mame, nommé chdman.
Cela consistait simplement à exécuter la commande suivante pour une image de CD :

Mais ce même outil, permet également de faire l’inverse, à savoir récupérer des fichiers bin/cue à partir d’un fichier chd. Pour cela il suffit d’exécuter la commande suivante :

Attention toutefois avec les images des jeux Psx qui une fois au format CHD, ne semblent pas tous récupérables de façon valide au format bin/cue.

Le conteneur ECM

Format assez spécifique ce format correspond a une image disque stockant le contenu sans code de correction d’erreur (ECC) ni code de détection d’erreur (EDC). Tel une archive zip ou rar, il faut donc utiliser un utilitaire pour récupérer ce qui sera souvent un fichier bin.
L’utilitaire unecm, et ecm, se trouve sur github
La commande est alors :

Les isos Xbox (en bonuxx)

Si vous souhaitez extraire les données du format Xbox première génération, celui nommé XDVDFS, il faudra utiliser l’utilitaire xbisio. Ce dernier s’utilisant en ligne de commande :

Ce petit florilège d’utilitaires et de commandes n’est bien évidemment pas exhaustif et il existe sûrement d’autres formats bien plus inconnus que ceux dont nous avons traités. Mais vous devriez être capable de manipuler les formats principaux dorénavant. Et pour ceux qui nous ont lut jusque là, voici en cadeau quelques binaires OSX des outils décrits ci-dessus.


Les réactions à cet article :
Pas de réaction à cet article.
Poster une réactions à cet article :
modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.