Atomic Bird

Mon Blog à moi

Le changement de CD PS1 avec le Swap Magic

Ou comment pouvoir jouer aux jeux multi-CD PS1 sur une PS2 avec un CD de boot (et 2-3 autres trucs).

Posté le 21 mai 2006 à 23h01 - Catégories :: Jeux vidéos :: Bricolage :: Version PDF Publier cet article sur Facebook Partager cet article sur Twitter

Principe et préliminaires

image Ps2 - PCJ'ai expliqué rapidement dans l'article précédent comment transférer sa carte mémoire depuis une PS2 vers un PC, en utilisant une clé USB.

L'utilisation principale que j'ai habituellement de cette pratique, c'est de pouvoir effectuer le changement de CD sur des jeux PS1 imports (ou gravés pour une raison quelconque, mais restant légale :p), longtemps réputé très difficile voire impossible en utilisant un CD de boot tel le Swap Magic. Evidemment pour jouer à un CD PS1 import ou gravé dans votre PS2, il vous faut le CD de boot spécial PS1, à savoir le BreakerPro... (ce qui fait en tout 2 CDs de boot : Voire même 3 si on considère que le Swap Magic en a 2 à la base)

Le problème qu'on rencontre dans ce genre de cas, c'est que souvent le changement de CD se fait en plein milieu d'une partie, sans sauvegarde préalable (sauf pour certains jeux comme les Final Fantasy par exemple). Il faut normalement ouvrir le compartiment à CD, la console détectant automatiquement le changement. Cette manipulation est la plupart du temps impossible avec un CD de boot, car pour que ces derniers fonctionnent, le compartiment à CD doit pouvoir s'ouvrir sans que la PS2 ne s'en rende compte. Dilemme !

Mais il y a une subtilité ! Eh oui !

Cette subtilité (géniale) m'a été révélée par un certain sHiN kAoLa Su, ami et expert dans le domaine, qui l'a lui même trouvé ici. Dlanor explique la démarche, celle-ci a ensuite été traduite sur un des forums de Metagames, mais le topic à disparu :'(

Il suffit en fait de transférer la dernière sauvegarde avant le changement sur son PC, de convertir la sauvegarde brut de fonderie en sauvegarde d'émulateur, puis d'utiliser ledit émulateur pour passer le changement de CD et enfin, d'effectuer l'opération inverse pour repasser sur console.
La démarche a l'air barbare à première vue, mais après un essai, on comprend mieux la chose :)

Démarche apparament barbare mais en fait pas trop

Avant de commencer, je vous conseille de faire des sauvegardes sous différents fichiers des diverses manipulations, ce serait dommage de tout perdre suite à une fausse manip'...

Dans mon cas, il s'agit de la sauvegarde de Street Fighter Alpha 3. Je veux transférer la sauvegarde du jeu sur PC pour une raison qui me regarde, mais la procédure est exactement la même pour n'importe quel jeu :p

image fichier de saveEh bien pour commencer, on récupère la dernière sauvegarde. Dans mon cas, elle s'appelle BESLESP01863-ZERO3D. On la transfère ensuite sur son PC.
On remarque alors qu'il s'agit d'un fichier sans extension, d'un poids de 8 ko. Malheureusement tel quel, on ne pourra pas le lire sur l'émulateur... Il va donc falloir auparavant le bidouiller un peu.

En fait, ce qu'il manque à ce fichier pour pouvoir être lisible sur EpsxE, c'est un entête, une série de chiffres hexadécimaux de 128 octets.
Quelque chose qui ressemble à ça:



Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F



00000000   51 00 00 00 00 20 00 00  FF FF 42 42 53 4D 45 53

00000010   2D 30 32 39 36 31 30 30  30 30 30 2D 31 28 00 00

00000020   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00

00000030   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00

00000040   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00

00000050   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00

00000060   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00

00000070   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 72

Mais comme on ne connait pas par coeur le code relatif à l'entête de chaque jeu PS1 sur terre, on va ruser.
Il suffit de récupérer cet entête sur une sauvegarde native de l'émulateur.

Il faut donc récupérer un émulateur PS1, EpsxE pour ne citer que lui :) Et on le configure comme il faut, même si ça rend moche, on s'en fout, c'est temporaire. Tout ça n'est pas encore trop compliqué.

Lancez donc le jeu désiré sur l'émulateur, et on sauvegarde le plus vite possible, sans se soucier du jeu en lui même. Le but étant simplement de récupérer l'entete par la suite.
Attention, il faut sauvegarder le jeu à la régulière, et non via les saves states de l'émulateur :)

Une fois le jeu sauvegardé, on fouille dans le dossier de l'émulateur à la recherche de sa sauvegarde (epsxe000.mcr si on utilise EpsxE).
Arf, un autre détail génant. Ce fichier epsxe000.mcr est en fait un fichier de carte mémoire, et non la sauvegarde du jeu elle-même. Il faut donc en extraire la sauvegarde.

Pour cela, on passe par le logiciel PSXMEMTOOL (n'oubliez pas de télécharger également les PSXMemTool Runtime Libraries !).
image PSXMEMTOOLOuvrez alors le fichier de carte mémoire, sélectionnez le fichier correspondant, un petit clic droit et choisissez "Export Slot".
Enregistrez-le en .ps1, format facilement exploitable par la suite.

On a donc notre fichier de sauvegarde. Reste à en extraire l'entête :)

Cela passe en premier lieu par la récupération d'un éditeur hexadécimal, CR-Hexact, par exemple.

On ouvre le fichier de sauvegarde .ps1 avec l'éditeur. Comparons les 2 fichiers.

On a d'un côté:
image de l'entête 1

Et de l'autre:
image de l'entête 2

On remarque que la première ligne de la sauvegarde de la console n'apparait qu'à la 8e ligne du fichier sauvegarde généré par l'émulateur (en vert sur l'image). Par conséquent, toutes les lignes précédant (en rouge) constituent l'entête, qu'il nous faut récupérer. Plus simplement, sachez que l'entête fait toujours 128 octets, donc 16 colonnes (F = 15 en hexadécimal), sur 8 lignes.

Copions donc cet entête dans le fichier d'origine (BESLESP01863-ZERO3D). Placez vous dans le fichier généré par epsxe, et sélectionnez le premier chiffre (51 dans mon cas), puis le dernier de l'entête en maintenant la touche MAJ enfoncée, un menu apparaît, sélectionnez "Copiez la plage".

Placez vous sur le premier chiffre du fichier destination (BSLES...machin) et clic droit, collez (insérer).
Paf, l'entête est placé. Sauvegardez sous l'extension .ps1 (par exemple lol.ps1) et fermez.

De retour dans PSXMEMTOOL, replacez la sauvegarde dans la carte mémoire. Commencez donc par réouvrir votre epsxe000.mcr et supprimez la sauvegarde précedemment créée. Puis choisissez Import Slot et récupérez le fichier lol.ps1.
Sauvegardez ensuite la memory card.

Plus qu'à tester sur l'émulateur et c'est gagné :D

Pour ensuite effectuer l'opération inverse, du PC à la PS2, il vous suffira donc d'extraire le fichier de sauvegarde de la carte mémoire epsxe000.mcr, d'en retirer l'entête et de nommer ce fichier correctement (il ne s'appelle pas BESLESP01863-ZERO3D pour rien).

Le mot de la fin

Au fur et à mesure de l'écriture de cet article, je me rends compte à quel point c'est bordélique et compliqué vu comme ça o_O
Mais tentez donc la manip, ça m'a pris au grand mot 5 minutes pour effectuer le transfert de la sauvegarde depuis la carte mémoire vers le PC et faire les manipulations... :)

7 commentaires sur cet article

  • Commentaire de sz
    Posté le 08 juillet 2006 à 20h13
    waw
  • Commentaire de Chupon
    Posté le 03 août 2008 à 15h23
    Deux ans plus tard, je me permets de répondre : "N'est-ce pas !"
  • Commentaire de detona66
    Posté le 28 février 2009 à 20h19
    Un an plus tard presque^^ bravo pour ton tuto. :)
  • Commentaire de Faarden
    Posté le 25 juillet 2010 à 20h37
    Et enfin, un an et demi plus tard, euuh y a des liens qui marchent pu... du genre PSXMEMTOOL
  • Commentaire de Chupon
    Posté le 27 juillet 2010 à 19h31
    Juste deux jours plus tard !

    Effectivement le lien ne marche plus... C'est ça internet, quelle évolution :p

    Mais tu peux le retrouver facilement en tapant PSXMEMTOOL sur Google. (Par exemple ici : [lien])

    deton66> Au fait ! Merci ! XD
  • Commentaire de Synopz
    Posté le 27 juillet 2013 à 16h57
    Et 3 ans plus tard, je pose une question en espérant obtenir une réponse !

    Est-ce que je peux aussi utiliser ce processus pour commencer un jeu sur émulateur et transférer par la suite la sauvegarde sur ma carte mémoire ? La carte mémoire pourra-t-elle correctement interpréter la sauvegarde pour que je puisse la lire sur ma console ?

    Merci !
  • Commentaire de Chupon
    Posté le 28 août 2013 à 19h25
    Ça dépendra le format de la sauvegarde fournie par l'émulateur, mais c'est tout à fait possible. Si je me souviens (ça date, maintenant), j'utilisais un petit soft qui permettait d'extraire la sauvegarde même (compatible PS2) à partir du format "carte mémoire" de l'émulateur ePSXe (un format de fichier qui contenait plusieurs sauvegardes).
Poster un commentaire

Nom

Email (optionnel, ne sera pas publié)

Site web (optionnel)

Commentaire (HTML non autorisé)


Se souvenir de mes infos ?

Veuillez entrer les caractères suivants (lettres majuscules uniquement) :

 

 

Page générée en 1011001000 millisecondes binaires. Incroyable! [712 millisecondes]

© 2006 - 2017 - Design et code de Chupon.