Aller au contenu


Photo de Nicolas

Nicolas

Inscrit(e) (le) 03 juillet 2004
Déconnecté Dernière activité aujourd'hui, 15h27
-----

Messages que j'ai postés

Dans le sujet : Traduction du jeu MSX de KOR : Natsu no Mirage

25 mars 2024 - 00h23

Et là encore... ta sauvegarde risque de conserver une partie de la mémoire contenant le bug, donc il faudrait en créer une qui ne soit pas trop proche de la section corrompue.

Il est certainement envisageable de vérifier cela en testant la sauvegarde avec la version originale du jeu par contre !

Sinon pour trouver le bug tu as plusieurs avenues :

  • Dumper la mémoire de chaque version, la japonaise et celle traduite, et observer s'il y a une divergence significative
  • Comparer les instructions dans un débogueur entre la version japonaise et traduite
  • Injecter uniquement une partie de la traduction avant cette section et vérifier si le jeu plante plus loin, et en fonction du résultat, en ajouter un peu plus et retester (sûrement le plus simple si tu n'es pas à l'aise avec l'assembleur x86)
  • Ne pas traduire spécifiquement cette section et voir si le jeu plante toujours (en essayant si possible de ne pas changer le pointeur)

 


Dans le sujet : Traduction du jeu MSX de KOR : Natsu no Mirage

24 mars 2024 - 20h32

Je sais que c'est de l'hexadécimal à la base. Mais je ne faisais que remarquer que la traduction hexadécimale en caractères visibles à cet endroit, semble montrer quelque chose qui pourrait être des balises non refermées. Tout est possible, en effet.

L'hexadécimal n'est qu'une représentation parmi d'autres. Concernant l'ASCII, si tu changes l'encodage tu ne verras d'ailleurs plus forcement ces caractères là, le pourquoi c'est trompeur, surtout si tu as l'habitude de programmer, tu pourrais avoir tendance à deviner un language qui n'en est pas un.

Ce que tu observes dans ton éditeur ne correspond pas à un langage conventionnel avec des balises d'ouverture et de fermeture. Les données binaires représentent une version compilée du moteur PIYO. Par chance, ils ont opté pour l'utilisation de l'encodage Shift-JIS pour l'affichage du texte plutôt que de recourir à une table de codage propriétaire, mais ce n'est pas toujours le cas.


Dans le sujet : Traduction du jeu MSX de KOR : Natsu no Mirage

24 mars 2024 - 15h41

la chaine ["111,/],=81] ne semble pas avoir de crochets cohérents. Mais je ne suis pas assez spécialiste pour en être sur.

Le rendu ASCII ne veut strictement rien dire, il faut regarder au niveau des données binaires, ce n'est pas si simple qu'une histoire de crochet :smart4: Et le plantage peut être provoqué par tout autre chose que cette section là.


Dans le sujet : Traduction du jeu MSX de KOR : Natsu no Mirage

24 mars 2024 - 02h57

J'ai fait un nouveau build du jeu avec la traduction améliorée jusqu'au moment du crash... Je suis aussi en train d'écrire la soluce en parallèle.

 

@Nicolas

J'avais cru comprendre que les bytes "7B" marquaient les débuts de CC/sections et qu'ils étaient suivis de deux octets indiquant la taille de la section (taille que j'ai du coup modifiée en remplaçant les chaines de kanji par des chaines d'ASCII) : c'est pas ça?

 

Le début d'une section est généralement marqué par 7B quand la valeur précédente est 5D qui lui indique la fin d'une section (ce n'est pas toujours 100% le cas). Si tu trouves d'autres 7B avec 2 bytes en avant, ce sont souvent des sous-sections liées à des embranchements (choix A ou B du joueur) et la logique est la même, si tu changes la longueur, il faut ajuster le calcul.

 

Mais oui c'est bien ce que je voulais dire, ce sont des pointeurs relatifs, c'est-à-dire qu'ils varient en fonction de la longueur de la section courante. Il est très probable que tu aies modifié des valeurs incorrectement ou qui ne devraient pas l'être... Je n'ai pas le dump de la table MSX comme je l'ai avec le PC-98, donc ce que j'ai souligné plus haut "pourrait" expliquer pourquoi le jeu crash là... Il faut que tu revérifies chaque valeur.
 

Quant au calcul, le bug peut être aussi simple que de compter un caractère Shift-JIS comme un byte alors qu'ils en comptent quasi tout le temps 2 (il y a des caractères Shift-JIS qui ne codent que sur un byte, il faut faire attention à ce point également :D) et cela revient à mon autre post où je te disais que tu avais laissé des caractères shif-jis parfois au début, il est possible que ton calcul soit en erreur dans ces là (et encore une fois, je ne fais que supposer).

Pour la soluce et d'autres éléments, tu peux aller lire ceci, point 4. SOLUTION SET (la liste des actions est en romaji ::malade:: (oui je déteste ce format d'écriture) mais tu peux faire un replace avec la traduction en anglais plus haut :
 

https://gamefaqs.gam...bMIbRUFAPlIqQ2U

Et le truc drôle à essayer :
 

 

- Hidden chara.

At Kasuga home, in sisters' room, when Manami chan
and Kurumi chan are present, talk persistently with them,
until the punishment.
After the back drop, go to living room, and examine
(shiraberu), to find the hidden chara Jingorou (cat).


Dans le sujet : Traduction du jeu MSX de KOR : Natsu no Mirage

23 mars 2024 - 22h37

C'est super que tu sois allé si loin! Je redoutais effectivement que mon bricolage finisse par faire planter le programme sur le long terme. Je vais regarder si c'est corrigeable, à moins que Nicolas n'ait une idée de ce que font les CC autour de la ligne que tu as indiquée.

 

 

J'ai analysé tes modifications, et il semble que tu aies bel et bien cassé quelques pointeurs relatifs (notamment avec le byte 7B). En fait, tu peux considérer que tu as eu de la chance que le jeu ne soit pas plus endommagé que cela  :pirate20: (je n'ai regardé que cette portion là)

Je n'ai pas encore eu le temps d'examiner en profondeur ce segment du script engine, donc je ne peux pas garantir que le simple fait d'utiliser les valeurs de base résoudra tout... Il est possible qu'il soit nécessaire de les recalculer dynamiquement, c'est une occasion de valider une théorie :D

Code d'origine :
 

 

7B05005B7D32325D5D7B24005B3A4038312C7B15005B223131302C5E4039322C7B06005B223131315D5D2C2F3138385D7B56055B7D31392C3F342C7BCD005B2135372C36352C36362C36372C212C3F35372C7B0D005B22322C2235352C2F3136385D2C3F36352C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032312C223134342C2F3138395D2C3F36362C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032302C223135302C2F3139305D2C3F36372C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032352C223136302C2F3139315D5D2C3F352C7B0E045B5E4038312C7B07005B7D33332C2F5D2C3A4039322C7B33015B3D39325D

 

et dans celui que tu as modifié :
 

 

7B05005B7D32325D5D7B24005B3A4038312C7B15005B223131302C5E4039322C7B06005B223131315D5D2C2F3138385D7B56BE055B7D31392C3F342C7BCD005B2135372C36352C36362C36372C212C3F35372C7B0D005B22322C2235352C2F3136385D2C3F36352C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032312C223134342C2F3138395D2C3F36362C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032302C223135302C2F3139305D2C3F36372C7B30005B2233332C2233342C2431352C2233352C2431352C2233362C2431352C2233372C234032352C223136302C2F3139315D5D2C3F352C7B0E76045B5E4038312C7B07005B7D33332C2F5D2C3A4039322C7B339B015B3D39325D

 


  • Loading Countdowns