Extraire des ROMs de Sega Mega Drive & Genesis Classics achetés sur Steam dans Linux Mint 18.3

This post is also available in: enEnglish

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.).

les ateliers phv sega genesis mega drive classics steam mister fpga mega everdrive
Source: Tigerfog, iPhone

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.

Partagez / Share