Aller au contenu


Photo

Traduction du jeu MSX de KOR : Natsu no Mirage


  • Veuillez vous connecter pour répondre
284 réponses à ce sujet

#121 Nicolas

Nicolas

    Super Fan de KOR

  • Membres
  • PipPipPipPip
  • Réputation
    19
  • 295 messages
  • Genre:
  • Localisation:Montréal

Posté 10 mars 2024 - 22h44

Je vais peut-être dire une bêtise, mais si le plus gros souci provient du menu de droite, ne peut-on pas se contenter d'y laisser les actions en anglais tout en traduisant les dialogues en français ?

Non ce n'est pas du tout le plus gros souci, juste une contrainte qui n'existe pas pour le texte en dessous.



#122 Nicolas

Nicolas

    Super Fan de KOR

  • Membres
  • PipPipPipPip
  • Réputation
    19
  • 295 messages
  • Genre:
  • Localisation:Montréal

Posté 12 mars 2024 - 01h52

Comme promis voici quelques informations.

Le jeu est constitué de deux disquettes de 1,2 Mo :

- La première est formatée en FAT-16 et contient les binaires du jeu.
- La seconde est un disque de données ; il n'est pas possible de lancer le jeu avec uniquement la première disquette.

En ce qui concerne la première disquette, voici un bref résumé de son contenu :

Un ensemble de fichiers propre à MEG-DOS (un système d'exploitation compatible MS-DOS développé et vendu par la société SPS pour le PC98), comprenant :

- IO98.SYS (équivalent à IO.SYS dans DOS 2.x)
- MEGDOS.SYS (équivalent à MSDOS.SYS dans DOS 2.x)
- CONFIG.SYS : Fichier de configuration pour MEG-DOS, 4 paramètres :
    - files : définit le nombre maximum de fichiers pouvant être ouverts simultanément
    - buffers : taille du tampon mémoire utilisé sur la disquette (numéro 2?) pour stocker les images et d'autres fichiers temporaires
    - device : permet de charger un pilote, ici MMD2.SYS qui est le pilote audio du jeu, avec une allocation mémoire de 4kb
    - shell : le programme chargé à la place de COMMAND.COM

D'autres fichiers sur la première disquette incluent :

- MMD2.SYS : Pilote propriétaire développé en interne par Microcabin, assurant l'interface avec les puces YM2203/2608x (Music Driver version 2.01 「あけみちゃん」(include 「チャーリーくん」) Copyright © 1987,1988 Microcabin co./Xtal soft co.) une entrevue concernant ce driver et son usage dans MSX : https://www.msx.org/...rview-日本語
- VOICE.BIN : FM
- M00000.BIN : BGM1
- M00001.BIN : BGM2
- M00002.BIN : BGM3
- M00003.BIN : BGM4
- M00004.BIN : BGM5
- M00005.BIN : BGM6

- TRB.EXE : Le fichier exécutable principal du jeu, responsable, entre autres, du chargement des fichiers TBL et TBY (comme observé dans le dump ASM)
- PIYO.EXE : Le moteur de scripting du jeu
- PAT.COM : Il s'agit probablement d'un patch destiné à apporter des modifications ou des améliorations, l'analyse du code ASM n'a pas donné grand-chose, c'est un fichier COM donc pénible à reverse.

- S00000.TBL : Tables des pointeurs pour le jeu, contient également le texte du menu d'action présent à droite de l'écran principal.
- S00000.TBY : Renferme l'ensemble du texte du jeu, formaté avec le langage de script Piyo (qu'il faudra lui aussi reverse, au moins partiellement).

En ce qui concerne la deuxième disquette, je présume qu'elle contient les images et sert également à stocker des données temporaires pendant l'exécution du jeu.

Il faut savoir qu'à l'époque il était courant pour un dev de créer son propre format propriétaire pour un peu tout et n'importe quoi. C'est notamment le cas du format des données utilisé sur la seconde disquette, pour la musique (le MIDI n'était pas encore démocratisé) et ultimement des images (je ne pense pas que nous ayons besoin de changer le contenu des graphiques, du moins au début).

Dans l'immédiat le focus se portera donc sur les fichiers S00000.TBL et S00000.TBY.

S00000.TBL contient 2 tables, une pour le texte présent dans menu et une seconde pour le texte qui est affiché globalement dans le jeu.

La première table débute à 0x1C2, les adresses sont à lire en little-endian, par exemple 5C02 pointe sur l'adresse 0x25C, le texte de menu se trouve juste en dessous.

Comme une image vaut mille mots, voici à quoi cela ressemble (1ier pointeur en jaune, second en bleu, troisième en orange, séparateur en violet) :

05ew.png

La seconde table débute à 0x4BE, la lecture se fait de la même manière que pour les pointeurs du menu d'action, mais les adresses elles concernent le fichier S00000.TBY.

Dans le cas du texte (et contrairement au menu), l'extraction du contenu propre à chaque pointeur retourne systématiquement le texte avec le formatage propriétaire du moteur Piyo, ex abrégé :
[/],!48,34,!,?48,{<0F><00>[#,"2,"55,/216],?34,{<11><00>[#,"32,"107,/232]],?75,{・00>[>@120,@145,{・00>["141,=144]一 弥 「とうとう見つけたぞ! 一弥!!」
La meilleure approche selon moi serait de recréer un fichier TBL avec des pointeurs à jour et un fichier TBY avec la traduction + le contenu binaire non modifié.

L'un des enjeux que j'anticipe c'est que du fait qu'ils ont eu la belle idée de concaténer dans le fichier TBL deux tables, traduire les menus en français pourrait décaler l'emplacement d'origine de la seconde table et provoquer un crash complet du programme.

Quant à la manière dont le jeu effectue le mapping sur les entrées du fichier TBL, cela reste une interrogation : est-ce séquentiel, calculé, ou statiquement défini quelque part dans le binaire ? (Auquel cas il faudra soit trouver une façon de ne pas trop allonger le texte du menu, il y a quelques leading zeros mais pas de quoi ajouter grand-chose OU aller modifier le code assembleur pour le faire pointer sur la nouvelle adresse).

@FrozenOwl, la logique des pointeurs et du language de script est identique dans le jeu MSX, mais tu comprendras que travailler sur le système de fichier de l'image de la disquette directement pose problème tant pour le calcul des adresses que pour faire de l'espace afin de déplacer les choses (cela doit être faisable mais je ne connais pas bien cette machine.)

Dans un prochain message, je vous fournirai le code que j'ai développé pour extraire le contenu de la seconde table (code qui pourra être adapté pour la première table), ainsi que les outils nécessaires pour manipuler les fichiers et tester les modifications.

#123 FrozenOwl

FrozenOwl

    Fan pour la vie

  • Membres
  • PipPipPipPipPip
  • Réputation
    225
  • 788 messages
  • Genre:
  • Localisation:Paris

Posté 12 mars 2024 - 12h21

Merci Nicolas, super instructif ! Cest à ça quon reconnaît les pros. On attend la suite à avec impatience!

#124 Olivier

Olivier

    Fan pour la vie

  • Modérateur
  • Réputation
    336
  • 7 148 messages
  • Genre:
  • Localisation:Paris

Posté 12 mars 2024 - 17h21

Cela permettra de statuer entre la complexité de modifier la rom ou de tout refaire par copie. A suivre...
I'm looking for the red straw hat...

#125 Punch

Punch

    inKoruptible

  • Modérateur
  • Réputation
    551
  • 5 281 messages
  • Genre:
  • Localisation:Paris

Posté 14 mars 2024 - 16h43

J'ai une idée assez bête ou géniale selon les points de vue.

Pourquoi ne pas utiliser le script totalement traduit en français et l'adapter sous forme d'un récit ?

Il existe des adaptions de visual novel sous forme d'animé. Les scénaristes ne font que reprendre le meilleur scénario avec la meilleure fin.

Là, on pourrait adapter le jeu en nouvelle ?

#126 Olivier

Olivier

    Fan pour la vie

  • Modérateur
  • Réputation
    336
  • 7 148 messages
  • Genre:
  • Localisation:Paris

Posté 14 mars 2024 - 20h32

Je crois que ce que beaucoup veulent c'est jouer au jeu sans spoil. C'est pour cela que perso je ne m'y suis jamais attelé même en pensant à une vostf. Justement parce que j'aimerais bien un jour jouer au jeu en en sachant rien. Par exemple, je n'ai pas lu ce que Kody a testé du jeu, je me suis contenté de survoler les posts en regardant juste les images rapidement. Après chacun fait comme il veut, mais j'essaye de me spoiler le moins de choses. Je sais déjà qu'on retrouve normalement dans le jeu tout ce qui fait attrait à l'oeuvre d'une manière générale même si le scénario est spécifique.
I'm looking for the red straw hat...

#127 Punch

Punch

    inKoruptible

  • Modérateur
  • Réputation
    551
  • 5 281 messages
  • Genre:
  • Localisation:Paris

Posté 14 mars 2024 - 20h44

Je comprends Olivier. Je proposais juste une solution de secours si traduire le jeu s'avérait impossible.

#128 CyberFred

CyberFred

    Modérateur

  • Modérateur
  • Réputation
    634
  • 6 799 messages
  • Genre:
  • Localisation:France

Posté 14 mars 2024 - 23h22

Sous forme d'une fan fiction ayant pas mal de paragraphes descriptifs et pas que des dialogues, cela peut le faire.


banner_kor.jpg  logo_facebook_forum.jpg
 
 
 

#129 FrozenOwl

FrozenOwl

    Fan pour la vie

  • Membres
  • PipPipPipPipPip
  • Réputation
    225
  • 788 messages
  • Genre:
  • Localisation:Paris

Posté 15 mars 2024 - 09h20

Non mais ça bosse, vous inquiétez pas!

Avec les indications très utiles données par Nicolas, je suis en train de faire des tests pour insérer des chaînes de longueur variable dans le script : je ne fais juste pas trop d'annonces parce que difficile de savoir à l'avance si les tests seront concluants ou si ça va provoquer un gros bug... Je saurai probablement en dire plus ce week-end!



#130 Jingo

Jingo

    Chadministrateur

  • Administrateur
  • Réputation
    112
  • 2 857 messages
  • Genre:>^-^<

Posté 15 mars 2024 - 09h34

Le projet est passionnant en tous cas :o. Merci Frozen et à tous ceux qui s'y impliquent !


login_logo.png
? | Pour tout support lié à l'utilisation du forum, n'hésitez pas à formuler votre demande ici |

#131 Olivier

Olivier

    Fan pour la vie

  • Modérateur
  • Réputation
    336
  • 7 148 messages
  • Genre:
  • Localisation:Paris

Posté 15 mars 2024 - 15h25

Le jeu est la priorité et on a le temps. C'est un projet qui démarre. D'autres idées pourront venir plus tard.
I'm looking for the red straw hat...

#132 Nicolas

Nicolas

    Super Fan de KOR

  • Membres
  • PipPipPipPip
  • Réputation
    19
  • 295 messages
  • Genre:
  • Localisation:Montréal

Posté 15 mars 2024 - 18h43

J'ai commencé à reverse le langage de script de MicroCabin et les CC utilisés dans le texte, de ce que j'ai constaté pour le moment, en plus de mon explication sur le poste precedent, je constate que ceux-ci serviraient à contrôler l'affichage des images avec les effets de transition ainsi que des appels à des sous fonctions.

Rien à partager pour le moment, je n'en suis qu'au début de l'analyse.



#133 FrozenOwl

FrozenOwl

    Fan pour la vie

  • Membres
  • PipPipPipPipPip
  • Réputation
    225
  • 788 messages
  • Genre:
  • Localisation:Paris

Posté 15 mars 2024 - 21h49

Je crois que je vais te laisser bosser, j'avance moins vite!

 

Ceci dit, j'arrive maintenant à jouer l'intro en entier avec les textes traduits sans limite de nombre de caractères. Ça bloque après parce qu'il faut corriger toutes les tailles de chaînes de caractères qui sont incluses dans le script... ce qui nécessite de bien le comprendre, repérer les débuts et fins de chaînes, etc.



#134 CyberFred

CyberFred

    Modérateur

  • Modérateur
  • Réputation
    634
  • 6 799 messages
  • Genre:
  • Localisation:France

Posté 15 mars 2024 - 21h59

Bravo à toi, Nicolas, ainsi qu'à FrozenOwl, qui déploie aussi, comme toi, somme de talents pour un projet majeur autour de l'univers de KOR. Ah si ce jeu pouvait être traduit, et qu'on puisse enfin être tous en mesure d'y jouer pour les 40 ans de ce jeu. Quel travail ce sera, mais quel aboutissement. Tous mes encouragements ! :)


banner_kor.jpg  logo_facebook_forum.jpg
 
 
 

#135 Olivier

Olivier

    Fan pour la vie

  • Modérateur
  • Réputation
    336
  • 7 148 messages
  • Genre:
  • Localisation:Paris

Posté 15 mars 2024 - 23h09

Je pense Cyb que ça va demander un peu de temps, je dirai plusieurs mois.
I'm looking for the red straw hat...

#136 Nicolas

Nicolas

    Super Fan de KOR

  • Membres
  • PipPipPipPip
  • Réputation
    19
  • 295 messages
  • Genre:
  • Localisation:Montréal

Posté 16 mars 2024 - 04h04

Je crois que je vais te laisser bosser, j'avance moins vite!

 

Ceci dit, j'arrive maintenant à jouer l'intro en entier avec les textes traduits sans limite de nombre de caractères. Ça bloque après parce qu'il faut corriger toutes les tailles de chaînes de caractères qui sont incluses dans le script... ce qui nécessite de bien le comprendre, repérer les débuts et fins de chaînes, etc.

Tu peux bien t'amuser avec les pointeurs, je suis plus à regarder comment le pyco engine fonctionne :smart4:



#137 FrozenOwl

FrozenOwl

    Fan pour la vie

  • Membres
  • PipPipPipPipPip
  • Réputation
    225
  • 788 messages
  • Genre:
  • Localisation:Paris

Posté 19 mars 2024 - 22h05

Les amis, j'ai le plaisir de vous annoncer une première version jouable et compréhensible (mais moche) du jeu sur MSX.

 

- Vous pouvez utiliser BlueMSX pour y jouer.

- Grâce à l'aide précieuse de Nicolas, et pas mal de transpiration, j'ai réussi a saisir des textes de taille variable dans la version MSX du jeu. J'ai dû me débarrasser des accents parce qu'ils ne sont pas lus par le jeu de base.

- Pour les menus, c'est plus sioux, j'ai dû garder "double du nombre de caractères" en utilisant des termes anglais. C'est compréhensible mais pas très beau. L'autre inconvénient est que le passage du japonais au français fait perdre les couleurs de sélection : il faut donc partir du principe qu'à l'affichage, c'est la ligne du haut qui est sélectionnée, et compter le nombre de fois où vous appuyez sur la flèche du bas pour savoir où vous en êtes. J'espère que les travaux de Nicolas sur le langage de script permettront de résoudre ce problème à terme.

- Et puis bien sûr, c'est de la traduction Deepl : il va falloir que les japanophones du forum se mettent au boulot!

 

Essayez un peu le jeu pour voir, mais attendez qu'on ait peaufiné tout ça pour en profiter vraiment! :)



#138 Olivier

Olivier

    Fan pour la vie

  • Modérateur
  • Réputation
    336
  • 7 148 messages
  • Genre:
  • Localisation:Paris

Posté 20 mars 2024 - 00h29

Bravo pour ces news. Donc pour le moment vous restez sur le MSX ?
I'm looking for the red straw hat...

#139 FrozenOwl

FrozenOwl

    Fan pour la vie

  • Membres
  • PipPipPipPipPip
  • Réputation
    225
  • 788 messages
  • Genre:
  • Localisation:Paris

Posté 20 mars 2024 - 00h43

Moi oui parce que jai commencé par là, mais Nicolas bosse sur la version PC 88. Ceci dit, mes scripts peuvent assez facilement être adaptés pour passer de lun à lautre si besoin.

#140 tcv

tcv

    KORiste

  • Modérateur
  • Réputation
    459
  • 7 546 messages
  • Genre:
  • Localisation:Région parisienne

Posté 20 mars 2024 - 06h26

Je suis en train de découvrir cette version ainsi que BlueMSX. Cela a l'air prometteur.


Sky is the only limit




5 utilisateur(s) li(sen)t ce sujet

0 membre(s), 5 invité(s), 0 utilisateur(s) anonyme(s)

  • Loading Countdowns