Afficher un message
Vieux 22/09/2006, 19h26   #197 (permalink)
Profil
L@Cible
Membre
Ancienneté  76%
Ancienneté 76%
 
Date d'inscription: mai 2006
Messages: 19
Téléchargements: 0
Uploads: 0
Merci: 0
Remercié 0 fois dans 0 Posts
Par défaut

AYEAH ! j’ai enfin réussi a modifier les sous titres de la version Dreamcast et obtenir une image CDI qui passe dans chankast !

Et ça pas été de la tarte ! Tous d’abord , il est impossible de partir de son jeux originale car il faut hacker de nombreux fichiers binaire et faire sauter des protection . J’ai donc récupéré un backup déjà tous fait et auto-bootable sur le net ( celui d’echelon ) .
A partir de ce backup j’ai tenté de recréer un image CDI après avoir récupéré tous les données sur mon disque dur . Et autant vous le dire tous de suite , avec le programme de sizious cdi4dc cela ne fonctionne pas , cela aurai été trop simple !

Voila comment j’ai du procéder pour recréer une image CDI :
Tous d’adord mater la structure de l’image d’echelon :
Code:
$cdirip e-shen2a.cdi -info  
CDIrip - (C) 2004 by DeXT/Lawrence Williams
Searching file: 'e-shen2a.cdi'
Found image file. Opening...
This is a v3.0 image
Analyzing image...
Found 2 session(s)
Session 1 has 1 track(s)
Track:  1  Type: Mode2/2336  Size: 33600   LBA: 0       
Session 2 has 1 track(s)
Track:  2  Type: Mode2/2336  Size: 290474  LBA: 45000   
All done!
voila ça ressemble a rien de connus, a partir de la il faut extraire les données de chaque piste avec la commande suivante :
Code:
$cdirip e-shen2a.cdi -iso
On obtient les fichiers tdata01.iso et tdata02.iso , le premier fichier iso ce monte sans problème avec démon tools mais pas la deuxième, mais on remarque que la première piste contient bizarrement le fichier 1ST_READ.BIN et que (heureusement pour la suite) les fichiers de sous titres se trouve sur la deuxième.
Il faut donc malheureusement extraire le bootstrapeur ( se situant sur les 16 premier secteur de la piste 2 ) car on ne peut pas utilisé un fichier IP.BIN quelconque
Code:
dd if=tdata02.iso of=SHEN_IP.BIN bs=2048 count=16
A partir de la j’ai monté la 2me piste sur un répertoire data , sous nunux :
Code:
$mkdir data
$mount -t iso9660 tdata02.iso data -o loop
Reste plus qu’a modifier les fichiers de sous titres et une fois terminer, recréer un nouveau fichier ISO :
Code:
$mkisofs -C 0,45000 -M tdata01.iso  -V NOM_DU_VOLUME -joliet -rock -l -o piste2.iso data
Et injecter le bootstrap a l’iso :
Code:
$ipinj SHEN_IP.BIN piste2.iso
C’est a partir de la que ça ce corse un peu ! Je créer avec cdi4dc une image cdi temporaire :
Code:
$cdi4dc piste2.iso tmp.cdi
Je morcele mes images CDI avec la commande DD :
  • j’extrais la piste1 de l’image d’echelon dans fichier track1
  • j’extrais la piste2 de l’image temporaire dans fichier track2
  • j’extrais la structure CD de l’image d’echelon dans fichier footer
La méthode pour extraire les piste avec DD est trop compliqué a expliquer car il faut calculer les offsets en fonction des informations retourné par cdirip ( nb de secteur et taille d’un secteur ).

Reste plus qu’a modifier le fichier footer pour lui indiquer la nouvelle taille de la piste 2 ( j’ai écrit un programme a partir des sources de cdirip) et de recomposer l’image cdi avec la commande :
Code:
$cat track1 track2 footer > shenmue.cdi
Voila l’image cdi obtenu fonctionne avec chankast .

Par contre Manic connaît tu l’encodage des sous-titres car des que je met des caractère supérieur a 127 j’obtient de jolie Kanji es ce de l’UTF8 ?
L@Cible est déconnecté   Réponse avec citation