Dreamcast .cdi -> .chd (en cours de résolution)



  • Bonjour à tous,

    Disposant d'un nouveau Pi4 et d'une Recalbox 7.0.1 fraichement installé, j'ai pu me rendre compte que les jeux Dreamcast fonctionnaient quand même beaucoup mieux qu'avec le Pi3.
    Du coup ,j'ai décidé d'étendre ma collection sur Dreamcast.
    L'ensemble des roms que j'ai sont en .cdi .... ça fonctionne très bien, mais quand on est comme moi regardant sur la place prise sur le disque dédié, c'est pas folichon. (oublions les .gdi puisque ce n'est que la version non compressée des .cdi) . Alors que les .chd otiennent un taux de compression très très honorable (je peux considérer que pour un total de 190 Go en .cdi, je peux descendre à 80 Go en .chd)
    Tout ça pour dire que j'ai entrepris de convertir mes roms .cdi en .chd ... Et là, ce n'est pas une mince affaire. Brut de fonderie et pour vous passer les détails il n'existe pas de convertisseur direct .cdi/.chd (j'ai passé quelques heures à chercher sur internet, mais si vous trouvez je suis preneur).
    Finalement, la meilleure solution que j'ai trouvée est de convertir un .cdi en .iso (ça il existe pas mal de programme qui le font, il existe même un utilitaire microsoft sur son store qui le fait), puis de convertir le .iso en .chd, grace à un utilitaire facilement trouvable qui s'appelle 'chdman'. (utilitaire en ligne de commande)

    Seulement voilà, le choix qui m'est proposé à la base, c'est de convertir 'à la main' toutes mes roms une par une, car tous les utilitaires .cdi/.iso que j'ai trouvés, ne proposent pas de conversion en masse ou de commande en ligne.
    J'ai trouvé un utilitaire (cdi2iso pour ne pas le nommer) qui fait le travail mais ... il n'existe que pour Linux et pas pour Dos/windows. Ayant heureusement trouvé les sources en C, j'en suis arrivé à la conclusion que je vais devoir les récupérer et compiler moi-même ces sources.

    Grâce à ça, je vais avoir 2 utilitaires pour convertir les .cdi en .chd :

    • cdi2iso pour les .cdi vers .iso
    • chdman pour convertir les .iso en .chd
      Il ne me restera plus qu'à créer un script dos./.bat pour pouvoir convertir en masse mes 190 Go de .cdi

    Faites-moi savoir si il y a des joueurs Dreamcast qui ont aussi eu le même problème que moi dans les choix de type de roms et qui sont intéressé par un script sous windows de conversion .cdi vers .chd


  • Staff
    Global moderator
    Team

    Bonjour
    as tu une réelle différence entre CDI et CHD ?
    parce que de mémoire CDI est déjà un format de compression, si d'autres peuvent confirmer



  • @acris said in Dreamcast .cdi -> .chd (en cours de résolution):

    Bonjour
    as tu une réelle différence entre CDI et CHD ?
    parce que de mémoire CDI est déjà un format de compression, si d'autres peuvent confirmer

    PLutôt oui, tu peux considérer que tu divises par 2,5 la taille de ta rom. (d'après les premiers tests que j'ai faits).



  • @Cyril92 @acris J'ai eu le même souci et franchement oublie tes CDI c'est un format destructeur, c'est comme si tu gravais un CD audio à partir de MP3 et qu'après tu rippais ton CD en FLAC, ça n'a aucun sens !
    De plus il manque certaine données sur les CDI pour que le jeu tienne sur un CD d'où le format.

    En cherchant bien tu trouvera tout tes jeux en .GDI le vrai format de la Dreamcast, c'est avec ceux-là qu'il faut faire des CHD.
    Les CHD c'est comme du FLAC, compression sans destruction.



  • @Cyril92 je n'ai pas constaté ça non plus. cdi et chd font des tailles "équivalentes "chez moi. c'est le GDI qui prend de la place.
    Par contre, sur mon système, tous les chd passent et pas les cdi, donc le choix est vite fait



  • @Cyril92 Le script qui va bien :

    Cue or GDI to CHD.bat
    
    for /r %%i in (*.cue, *.gdi) do chdman createcd -i "%%i" -o "%%~ni.chd"
    

    et l'inverse :

    CHD to CUE_BIN.bat
    
    for /r %%i in (*.chd) do chdman extractcd -i "%%i" -o "%%~ni.cue" -ob "%%~ni.bin"
    


  • @Secamfr said in Dreamcast .cdi -> .chd (en cours de résolution):

    @Cyril92 Le script qui va bien :

    Cue or GDI to CHD.bat
    
    for /r %%i in (*.cue, *.gdi) do chdman createcd -i "%%i" -o "%%~ni.chd"
    

    et l'inverse :

    CHD to CUE_BIN.bat
    
    for /r %%i in (*.chd) do chdman extractcd -i "%%i" -o "%%~ni.cue" -ob "%%~ni.bin"
    

    toutes mes roms sont en .cdi, pas .gdi, ni .cue, donc chdman tout seul ne passe pas. Mais j'ai bien compris que tu me conseillais de 'balancer mes .cdi' pour rechercher des roms dans un format plus 'propre' et de préférence non compressé.



  • Si ça peut aider pour des conversions, je suis tombé par hasard cette nuit sur un utilitaire pour convertir les cue/bin en gdi. Je ne sais pas si il fonctionne par contre 😛

    https://github.com/feyris-tan/gdidrop



  • @Pitch64 said in Dreamcast .cdi -> .chd (en cours de résolution):

    Si ça peut aider pour des conversions, je suis tombé par hasard cette nuit sur un utilitaire pour convertir les cue/bin en gdi. Je ne sais pas si il fonctionne par contre 😛

    https://github.com/feyris-tan/gdidrop

    Oui ça en aidera certainement certains, ce n'est pas mon cas car mes roms sont en .cdi



  • @Secamfr said in Dreamcast .cdi -> .chd (en cours de résolution):

    @Cyril92 Le script qui va bien :

    Cue or GDI to CHD.bat
    
    for /r %%i in (*.cue, *.gdi) do chdman createcd -i "%%i" -o "%%~ni.chd"
    

    et l'inverse :

    CHD to CUE_BIN.bat
    
    for /r %%i in (*.chd) do chdman extractcd -i "%%i" -o "%%~ni.cue" -ob "%%~ni.bin"
    

    salut est ce que tu es sûr de ta ligne de commande ?

    cela ne serai pas plutôt :

    for %i in (*.gdi) do chdman createcd -i "%i" -o "%~ni.chd"

    une petite subtilité avec le caractère %


  • Global moderator
    Global moderator
    Tester

    @p0cth @Cyril92 @Pitch64 @Scorpio70 @Secamfr

    Ici un lien pour la bonne version de CHDMAN avec ses scripts.

    Mettre le fichier chdman.exe avec le script qui va bien selon ce que vous voulez faire dans le répertoire qui va bien, les sous dossiers sont aussi scannés.

    S'il y a pléthore de fichiers, cela les convertit les uns à la suite des autres. Attention, selon le nombre de roms, ça peut être long (3 jours consécutifs pour moi pour la dreamcast ^^)

    Pensez à scanner vos fichiers au .dat avant la conversion, après ça ne matchera évidemment pas.

    Enfin, lancer le script en appuyant sur entrée sur le script (pas de double clic souris), et en mode administrateur. Avec un double clic souris, ça ne se lançait pas chez moi.

    Bonne conversion.



  • @p0cth Mon script est bon, c'est précisément le même que @Scavy



  • @Secamfr

    ok merci

    de mon côté j'ai essayé le script tel que tu l'as proposé sous Windows 8.1 64bits avec le terminal et j'ai eu le retour d'erreur suivant : erreur inattendue %%

    mais avec un seul % tout fonctionne parfaitement

    merci @Scavy pour le lien
    est il préférable d'extraire le dernier CHDMAN sur le site mamedev.org ? Celui de ton lien date de 1996


  • Global moderator
    Global moderator
    Tester

    @p0cth oui c'est un vieux la v4 ptet me rappelle plus, avec un plus récent ça ne fonctionnait pas, va savoir pourquoi.
    Pour ma part, fonctionne tel quel sur win10. Après je t'avoue que j'y pane que dalle dans ces commandes, c'est DL sur le net.


  • Staff
    Global moderator
    Team

    Attention toutes les versions de chdman ne sont pas forcément compatible avec les cores.
    chdman v4 ou chdman v5
    Consulter ici : https://docs.libretro.com/
    si il y a une référence.



Want to support us ?

336
Online

80.5k
Users

21.6k
Topics

158.1k
Posts