Page 1 sur 1

[Super Everdrive] - Patcher et problème de ROMs

Publié : mer. oct. 17, 2012 15:34
par bulder
Avec votre Super Everdrive il se peut que certaines ROMs traduites après chargement vous laissent seules face à un écran noir et vos larmes de chérubins vont commencer à perler sur votre visage. Avec des informations empruntées de ci de de là nous allons tenter d'y remédier.
A ce jour je ne suis pas en mesure moi même de faire fonctionner tous les jeux que je souhaite donc n'hésitez pas à partager pour que nous puissions résoudre tous les problèmes que nous avons.



Sources
-----

Forum ASSEMbler : http://www.assemblergames.com/forums/sh ... g-on-games
ROM Hack City - SNES Header
ROM Hack City - SNES ROM Layout
GoodTools sur Wikipedia : http://en.wikipedia.org/wiki/GoodTools (pour la date de sortie du pack)



Patchs
-----

En français chez T.R.A.F.
En anglais (et autres langues) chez Romhacking dot net



Outils
-----

Lunar IPS : http://traf.romhack.org/index.php?p=outils&oid=151
SFC/SNES ROM Utility : http://www.romhacking.net/utilities/593/
HxD : http://mh-nexus.de/en/downloads.php?product=HxD (au choix version portable ou à installer)



Mises à jour Super Everdrive
-----

Chez Krikzz : http://krikzz.com/pub/support/index.php ... ve/os-bin/
Everdrive Encyclopedia : Vous y trouverez le manuel édité par Stone Age Gamer pour la carte



Mise en situation
-----

Vous venez de recevoir votre Super Everdrive et vous vouez déjà un culte à cet objet aussi mystérieux qu'un monolithe noir et vous seriez prêt à abandonner femmes et enfants pour aller au bout du monde avec. Vous avez soigneusement rempli votre plus belle carte SD avec les ROMs des jeux que vous possédez déjà dans leur magnifique mais que vous avez mis à l'abris dans un coffre fort ignifugé et hydrofugé loin de mains qui pourraient nuire à leur intégrité physique.
Là, à l'instant présent vous vous rappelez que votre rêve le plus fou était de jouer à la version traduite de Final Fantasy V sur la console de vos rêves qui a un châssis digne des plus belles voitures américaines.
Avec précaution vous introduisez ce Super(be) Everdrive dans votre console et décidez que vous aller en démordre avec ce jeu. Vous sélectionner la ROM et le flashage s'effectue. Pendant ce temps vous parlez à votre console, vous la caressez avec passion. La fin du chargement approche, vos yeux brillent de mille feux et vous avez un sourire à vous en décrocher la mâchoire (ou la bave aux lèvres).
Et là c'est le drame!
Stop! Pas la peine d'aller sacrifier une vierge (ou un puceau pour la gente féminine) sur l'autel du retrogaming car il y a peut être une solution pour vous.



Ôte moi cette souffrance - Je change une information dans une ROM
-----

Tout est question de taille (non non pas de vulgarité entre nous, je ne permettrais point).
En effet la ROM original japonaise du doux nom de "Final Fantasy V (J).smc" à un poids de 2 097 152 octets (2 Mo) alors que votre version traduite semble être une petite gourmande qui pèse 2 621 440 octets (2,5 Mo). La petite coquine souhaitait cacher les formes qu'elle avait prise mais on ne vous la fait pas à vous!
Il suffit simplement d'ouvrir l'éditeur HxD et d'ouvrir la ROM "Final Fantasy V (J) [T+Fre100_Olorin].smc" ou "Final Fantasy V (J) [T+FreRC1_Terminus].smc".
Avec vos mains habiles de faire la petite combinaison Ctrl G et de taper FFD7 (l'offset en héxadécimal qui nous intéresse et nous nous trouvons devant un joli "0B" qui ne nous intéresse pas vraiment.
D'après la source nous avons :
$00 => no RAM
$01 => $800 bytes == 2 kilobytes, amount of RAM in Super Mario World
$02 => $1000 bytes == 4 kilobytes
$03 => $2000 bytes == 8 kilobytes
$04 => $4000 bytes == 16 kilobytes
$05 => $8000 bytes == 32 kilobytes, amount of RAM in Mario Paint
$06 => $10000 bytes == 64 kilobytes
$07 => $20000 bytes == 128 kilobytes, amount of RAM in Dezaemon - Kaite Tsukutte Asoberu
$08 => $40000 bytes == 256 kilobytes, minimum for ROM
$09 => $80000 bytes == 512 kilobytes, amount of ROM in Super Mario World
$0a => $100000 bytes == 1 megabyte, amount of ROM in Mario Paint
$0b => $200000 bytes == 2 megabytes
$0c => $400000 bytes == 4 megabytes

Final Fantasy V (J).smc
Image

Final Fantasy V (J) [T+Fre100_Olorin].smc original
Image

Final Fantasy V (J) [T+FreRC1_Terminus].smc original
Image

Nous avons donc en $FFD7 un "0B" qui correspond à la taille de 2 Mo soit la taille de la ROM non patchée. Puisque notre ROM traduite et fait 2,5 Mo nous allons joyeusement changer le "0B" en "0C" pour dire qu'elle a un poids de 4 Mo (ou tout du moins un poids supérieur à 2 Mo).

Final Fantasy V (J) [T+Fre100_Olorin].smc modifié
Image

Final Fantasy V (J) [T+FreRC1_Terminus].smc modifié
Image


Copiez votre fichier ainsi modifié sur votre SD et lancez le jeu via votre Super Everdrive. Au final (c'est le cas de le dire) vous devriez pouvoir jouer à votre jeu et plus aucun sacrifice n'est à envisager.



Clamons haut et fort notre incompétence en japonais - Je patche ma ROM comme un(e) grand(e)
-----

Nous allons partir du principe que nous n'avons pas remarqué que dans notre GoodSNES 2.04 nous n'avons pas vu les fichiers en [T+Fre...] car nos larmes de joie ne cessent de couler depuis la réception du Super Everdrive et que nous sommes aveuglés par la lumière émanant de cet objet de tous les désirs.

Pour notre petite recette il va donc nous falloir
- La ROM "Final Fantasy V (J).smc" (bien évidemment vous avez cette cartouche en votre possession)
- Le patch disponible à cette adresse. Il en existe un autre plus ancien fait pas une autre équipe ici (ne me demandez pas quelle version est la meilleure car je ne sais pas)
- SFC/SNES ROM Utility
- Un peu de patience

Nous allons donc lancer tous ensemble SFC/SNES ROM Utility. Ah j'en vois un dans le coin au fond qui ne suit pas. Allez hop on écoute.
Ensuite un File -> Open et on sélectionne la ROM "Final Fantasy V (J).smc".

Image

Dans la partie droite du logiciel, plus exactement dans la partie "Task" nous allons cliquer sur "IPS Patch" et appuyer sur le joli bouton "OK" qui va nous ouvrir une nouvelle fenêtre dans laquelle nous allons sélectionner le patch.
Le logiciel va vous demander "Is for this patch a "headered ROM" required?" et on clique sur le bouton "Oui" (c'est un peu étrange car il me semble que les ROMs de GoodSNES n'ont pas de "header").

Image

Vous devriez ensuite avoir une nouvelle fenêtre "Patch applied and new file created!".

Image

Nous sommes proche du but!
On ferme le tout et vous devriez remarquer un nouveau fichier dans votre dossier. Pour ma part il s'agit du fichier "Final Fantasy V (J)ff5_fr.smc" qui est un mix entre le nom de la ROM de base et de votre patch (ici ff5_fr.ips).
Si vous avez bien regardé la photo vous verrez qu'après avoir appliqué le patch la taille de notre ROM a gonflé, nous sommes passés de 2Mo à 2,5 Mo étrange juste ce que nous avions vu au dessus!

Image

Il ne nous reste plus qu'à utiliser HxD comme nous l'avions vu auparavant et changer la valeur à l'offset $FFD7. Si à l'offset $FFD7 nous n'avons pas une des valeurs indiqué au dessus c'est qu'il y a eu un problème.



A noter (les choses encore floues) :
-----

- Il me semble que pour certaines ROM au moment de la question "Is for this patch a "headered ROM" required?" j'ai cliqué sur "Non". Dans le doute je patch un coup avec "Oui" et un coup avec "Non" et ensuite je teste avec le Super Everdrive
- Comme indiqué chez ASSEMbler nous devrions trouver la valeur en $101D7 et non plus en $FFD7 si il y a un header. Etrange puisque que lorsque nous patchons en cliquant sur "Oui" la valeur est toujours en $FFD7
- J'ai indiqué Lunar IPS dans les outils pour patcher. Sur certaines ROMs je n'ai eu aucun problème mais avec d'autre oui. Cela m'indiquait par exemple que pour Final Fantasy il y avait un DSP-1. En vérifiant avec HxD rien ne correspondant aux alentours de l'offset $FFD7 alors qu'en patchant avec SFC/SNES ROM Utility je n'ai pas eu ce problème.
- J'ai encore des soucis avec certaines ROMs (voir liste plus bas)
- Vérifier la date de sortie des patchs avec la date de sortie du GoodSNES (http://en.wikipedia.org/wiki/GoodTools) cela pourrait vous éviter de patcher [mode_fainéant=1]



ROMs à problème
-----

- Do-Re-Mi Fantasy - Milon no Dokidoki Daibouken (J).smc -> après application du patch le jeu reste en japonais
- Dragon Ball Z - Super Saiya Densetsu (J) (V1.1).smc et Dragon Ball Z - Super Saiya Densetsu (J) (V1.0).smc -> problème de démarrage / affichage
- Kuusou Kagaku Sekai Gulliver Boy (J).smc -> les fenêtres de texte restent désespérément vides avec le patch français
- Lagoon version (E) / (U) / (J) -> problème d'affichage de texte avec le patch français
- Ys IV - Mask of the Sun (J).smc -> Les fenêtres de texte restent désespérément vides
- Choujikuu Yousai Macross - Scrambled Valkyrie (J).smc -> le jeu ne démarre tout simplement pas (écran noir). Ici aucun patch à appliquer.

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : mer. oct. 17, 2012 15:45
par minimorphee
Bravo !
Cet article va mettre bien utile ! J'espère pouvoir venir y ajouter ma pierre avec mes découvertes !

Merci Bulder !

Mini

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : jeu. oct. 18, 2012 12:46
par io
Je vérifierai ce soir que ma mémoire est bonne, mais j'ai la forte impression d'avoir joué plusieurs fois à Choujikuu Yousai Macross - Scrambled Valkyrie sur mon SED. Je te filerai ma ROM si ça fonctionne vraiment.

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : ven. oct. 19, 2012 13:22
par bulder
Par avance merci. C'est melou6 qui cherche à le faire fonctionner, mais je ne cracherais pas dessus non plus ;)

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : dim. oct. 21, 2012 13:33
par io
Ah ben non, ma ROM ne fonctionne pas.

J'ai rajouté un header mais ça ne change rien.

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : mer. oct. 24, 2012 9:57
par io
Ah si je me suis souvenu :)
Il faut aller dans ROM Settings et mettre la ROM en HI ROM au lieu de LO ROM.
On doit pouvoir patcher la ROM pour éviter de faire ça à chaque fois.

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : mer. oct. 24, 2012 15:01
par bulder
Oui normalement c'est une HiROM. Dans l'éditeur héxadécimal il est bien indiqué à la l'offset $FFD5 d'une "HiROM fast"

Je viens d'essayer mais chez moi cela ne fonctionne pas aussi bien avec celle d'un pack GoodSNES 2.04 ou un pack No-Intro (26/07/2012).

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : mer. oct. 24, 2012 15:30
par io
bulder a écrit :[...] cela ne fonctionne pas aussi bien [...]
Qu'est-ce que tu veux dire ??? Parce qu'en lisant ça, je comprends que ça fonctionne mais moins bien.

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : mer. oct. 24, 2012 16:26
par bulder
Mea Culpa je préparais un billet et j'ai effectué un mélange de phrases. J'ai un bel écran noir avec toutes les ROMs même en faisant la modification en HiROM dans le SED.

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : mer. oct. 24, 2012 22:28
par io
Dans ROM settings, il faut aussi mettre la ROM size à 2 et ça devrait fonctionner.

Re: [Super Everdrive] - Patcher et problème de ROMs

Publié : mer. oct. 24, 2012 22:44
par bulder
En effet cela fonctionne, merci. Reste à voir si avec l'éditeur hexadécimal on puisse faire quelque chose. Et également voir afin de convertire LoROM<->HiROM.