Extraire des ROMs de Sega Mega Drive & Genesis Classics achetés sur Steam dans Linux Mint 18.3
This post is also available in: English
Salut tout le monde. Ici Klebs et aujourd’hui, je vais vous montrer comment vous procurer légalement des ROMs de jeux Genesis/Mega Drive à travers Steam et les renommer en format lisible pour les utiliser ailleurs (ex: émulateurs, Mega Everdrive, projet MiSTer, etc.).
Avant de commencer
Je voudrais tout d’abord remercier ETA Prime pour m’avoir inspiré à rédiger ce tutoriel. Sa vidéo explique comment extraire les ROMs, les renommer et les utiliser dans Retroarch, un outil multiplatforme rassemblant de nombreux émulateurs. Pour en savoir plus:
Source: ETA Prime
Pourquoi alors est-ce que je prends la peine de rédiger tout ça si ETA Prime a déjà tout expliqué. Deux raisons:
- il a utilisé Windows pour expliquer le processus
- il a montré rapidement comment renommer les fichiers sans trop entrer dans les détails.
Si vous utilisez Windows aussi ou vous êtes capables de reconnaître les ROMs malgré la nomenclature étrange utilisée par Sega, la vidéo d’ETA Prime vous conviendra parfaitement. Par contre, si vous préférez un tutoriel plus orienté vers Linux ou avoir un script renommant les noms des fichiers pour vous, je vous inviterais à poursuivre la lecture.
Acheter les jeux et trouver leur emplacement
Vous pouvez acheter légalement certains jeux de Genesis/Mega Drive sur Steam individuellement ou en un paquet spécial nommé Sega Mega Drive & Genesis Classics à travers ce lien affilié sur Humble Bundle. A partir d’ici, j’utiliserai le terme Sega Classics pour désigner le paquet Sega Mega Drive & Genesis Classics afin d’alléger le tutoriel.
Puisque le jeu Sega Classics n’est pas disponible de manière native sur Linux, il faut s’assurer que Steam soit configuré pour accepter d’exécuter tous les jeux en mode SteamPlay à l’aide de Proton. Cela permettra à Sega Classics d’apparaître dans la liste des jeux et d’être installé.
Une fois l’installation terminée, il faut cliquer-droit sur le jeu Sega Classics et choisir Propriétés dans le menu contextuel (voir image ci-dessous).
Source: capture d’écran personelle
Cliquer sur le bouton Parcourir les fichiers locaux sous l’onglet Fichiers locaux indiquera l’emplacement du répertoire de Sega Classics dans l’ordinateur (voir image ci-dessous).
Source: capture d’écran personnelle
Normalement, si l’utilisateur s’appelle klebs et ne change pas l’emplacement des jeux déterminé par défaut par Steam, le répertoire devrait se trouver dans /home/klebs/.steam/steam/steamapps/common/Sega\ Classics
Dans mon cas comme l’indique la capture d’écran ci-dessus, le répertoire se trouve dans
/mnt/DATA/Jeux/Steam/steamapps/common/Sega\ Classics
Renommer les fichiers
En supposant que l’utilisateur s’appelle klebs et utilise l’emplacement par défaut des jeux Steam, les commandes suivantes dans le terminal vont créer une copie des ROMs dans un autre répertoire et créer un fichier CSV avec nano:
cd /home/klebs/.steam/steam/steamapps/common/Sega\ Classics
cp -R uncompressed\ ROMs/ ~/Documents/SegaROMS
cd ~/Documents/SegaROMS
nano segaclassicslist.csv
Avant de faire copier la liste ci-dessous dans nano, il faut s’assurer que tout est là. Aussi, les noms doivent concorder avec le contenu du répertoire SegaROMS.
ALEXKIDD_U.68K,Alex Kidd in the Enchanted Castle (USA).gen AlienSoldier_Europe.SGD,Alien Soldier (Europe).md AlienStorm_USA.SGD,Alien Storm (USA).gen ALTEREDB_UE.68K,Altered Beast (USA).gen BEYONDOA_E.68K,The Story of Thor (Europe).md BEYONDOA_F.68K,The Story of Thor (France).md BEYONDOA_G.68K,The Story of Thor (Germany).md BEYONDOA_J.68K,The Story of Thor - Hikari o Tsugumono (Japan).bin BEYONDOA_S.68K,The Story of Thor (Spain).md BEYONDOA_U.68K,Beyond Oasis (USA).gen BONANZAB_JE.68K,Bonanza Bros. (Europe).md Columns3_USA.SGD,Columns III (USA).gen COLUMNS_W.68K,Columns (World).gen COMIXZON_U.68K,Comix Zone (USA).gen CrackDown_USA.SGD,Crack Down (USA).gen Crying_USA.SGD,Bio Hazard Battle (USA).gen DECAP_UE.68K,DEcapAttack (USA).gen DYNAHEAD_J.68K,Dynamite Headdy (Japan).bin DYNAHEAD_UE.68K,Dynamite Headdy (USA).gen ECCO2_U.68K,Ecco - The Tides of Time (USA).gen eccojr.smd,Ecco Jr. (USA).gen ECCO_UE.68K,Ecco the Dolphin (USA).gen ESWAT_U.68K,ESWAT - City Under Siege (USA).gen EternalChampions_USA.SGD,Eternal Champions (USA).gen FATALLAB_JU.68K,Fatal Labyrinth (USA).gen FLICKY_UE.68K,Flicky (USA).gen GAING_UE.68K,Gain Ground (USA).gen GalaxyForceII_UE.SGD,Galaxy Force II (USA).gen GAXE2_W.68K,Golden Axe II (World).gen GAXE3_J.68K,Golden Axe III (Japan).bin GAXE_W.68K,Golden Axe (World).gen Gunstar Heroes U.bin,Gunstar Heroes (USA).gen KIDCHAM_UE.68K,Kid Chameleon (USA).gen LandStalker_USA.SGD,Landstalker (USA).gen LightCrusader_USA.SGD,Light Crusader (USA).gen MonsterLair_JUE.SGD,Wonder Boy III - Monster Lair (Europe).md MonsterWorld3.SGD,Wonder Boy V - Monster World III (Japan).bin MonsterWorld3_USA.SGD,Wonder Boy in Monster World (USA).gen PhantasyStar2_UE_GreenCrossFix.SGD,Phantasy Star II (USA).gen PhantasyStar3_USA.SGD,Phantasy Star III - Generations of Doom (USA).gen PhantasyStar4.SGD,Phantasy Star IV (USA).gen RISTAR_UE.68K,Ristar (USA).gen ROBOTNIK_U.68K,Dr. Robotnik's Mean Bean Machine (USA).gen ShadowDancer.SGD,Shadow Dancer - The Secret of Shinobi (World).gen SHINING2_U.68K,Shining Force II (USA).gen SHININGD_UE.68K,Shining in the Darkness (USA).gen SHININGF_U.68K,Shining Force (USA).gen SHINOBI3_U.68K,Shinobi III - Return of the Ninja Master (USA).gen SONIC2_W.68K,Sonic The Hedgehog 2 (World).gen SONIC3D_UE.68K,Sonic 3D Blast ~ Sonic 3D Flickies' Island (USA).gen Sonic_Knuckles_wSonic3.bin,Sonic & Knuckles + Sonic The Hedgehog 3 (World).gen SONICSPI_U.68K,Sonic The Hedgehog Spinball (USA).gen SONIC_W.68K,Sonic The Hedgehog (World).gen sov.smd,Sword of Vermilion (USA).gen SPACEHARRIERII.bin,Space Harrier II (World).gen STHUNDER_W.68K,Super Thunder Blade (World).gen STREETS2_U.68K,Streets of Rage 2 (USA).gen STREETS3_E.68K,Streets of Rage 3 (Europe).md STREETS3_J.68K,Bare Knuckle III (Japan).bin STREETS3_U.68K,Streets of Rage 3 (USA).gen STREETS_W.68K,Streets of Rage - Bare Knuckle - Ikari no Tetsuken (World).gen TheSuperShinobi_JUE.SGD,The Revenge of Shinobi (USA).gen ToeJamEarl.SGD,ToeJam & Earl (World).gen ToeJamEarl2_USA.SGD,ToeJam & Earl in Panic on Funkotron (USA).gen VECTMAN2_U.68K,Vectorman 2 (USA).gen VECTMAN_UE.68K,Vectorman (USA).gen VIRTUAFIGHTER2.bin,Virtua Fighter 2 (USA).gen
Après avoir sauvegardé et fermé le fichier CSV, c’est le temps de rédiger le script qui renommera les fichiers:
nano segaclassicsrename.sh
#!/bin/bash IFS="," while read f1 f2 do echo "rename from : $f1" echo "to : $f2" mv $f1 "$f2" echo "done" done < segaclassicslist.csv
Après avoir sauvegardé et fermé le script, il suffit de le rendre exécutable et de l’exécuter:
chmod +x ./segaclassicsrename.sh
./segaclassicsrename.sh
Si tout s’est bien passé, les noms des fichiers devraient maintenant être plus représentatifs des jeux.
Conclusion
Questions? Commentaires? N’hésitez pas, merci d’avoir lu et à plus.