F
flipbzh
Non Membre
Achevant la restauration d'un Special Force, je trouvais dommage de ne pas disposer d'une ROM en Français. Après avoir glané des informations à droite et à gauche, j'ai réussi à modifier les 2 ROMS (U2 et U3) pour disposer de menus en Français. (je n'ai traduit que les informations affichées par le jeu en mode Freeplay - je n'ai pas traduit les menus de diagnostique et configuration notamment). J'ai surtout modifié les infos affichées pendant la partie (ex: SOLDIER => SOLDAT).
Avant de détailler la méthode que j'ai utilisé, j'insiste sur le fait que je ne garantis aucun résultat ou ne suis responsable des dommages que de telles manipulations pourraient engendrer sur votre flipper (la moindre erreur de programmation dans une ROM peut rendre votre jeu hors-service, voire l'endommager). Il s'agit d'une expérimentation menée à titre privé.
La méthode consiste à éditer le fichier binaire de chaque ROM dans un éditeur hexadécimal (ex: HxD), puis à modifier les valeurs d'affichage que l'on repère facilement dans l'éditeur. Pour modifier ces valeurs, il faut observer l'affichage d'origine (en anglais) et modifier le texte en prenant en compte l'espace disponible pour l'affichage (7 digits par afficheur). Il ne faut pas modifier la taille du fichier (toujours remplacer un caractère par un autre)
Point très important : avant d'effectuer les modifications d'affichage sur un fichier, il faut préalablement calculer le checksum-16 (dans mon cas 90FF pour U2 et 6FFF pour U3).
Lorsque les modifications d'affichage sont terminées, il faut rétablir le checksum à sa valeur d'origine (car les modifications changent sa valeur). (si un checkum n'est pas correct, la CPU ne démarrera pas)
Deux cas sont possibles :
- le nouveau ckecksum est inférieur à celui d'origine (c'est la solution la plus "confortable" et que j'ai rencontré avec U2). Dans ce cas, il faut repérer des zones vides de la ROM (000000 etc ..), généralement en fin de fichier, puis ajouter des valeurs hexadécimales à la place des 0000 pour rétablir le checksum d'origine
- le nouveau checksum est supérieur à celui d'origine (cas de U3 dans mon cas). Dans ce cas, il faut se débrouiller pour baisser la valeur. Pour cela, j'ai modifié un menu de configuration peu utilisé (dans mon cas, dans U3, j'ai modifié la valeur "GERMAN PRIZE" au niveau des valeurs hexadécimales pour mettre des 00000 afin de faire baisser le checksum)
Et après programmation des EPROMS puis test sur la CPU (à noter que certains testent d'abord dans un émulateur type PINMAME).
Je ne vous cache pas que j'ai du tâtonner en faisant plusieurs essais, mais au final, cela fonctionne. J'ai fait pas mal de test, y compris dans les menus de configuration, et pas de problème particulier, a voir dans la durée... Je pense que cette méthode peut s'appliquer à tous les jeux basé sur la CPU 6803.
Les points clés : ne pas modifier la taille du fichier, corriger le checksum en trouvant des zones "neutres" (00000 ou texte peu utile). Je peux communiquer les 2 fichiers ROM U2 et U3 pour ceux qui le souhaite, mais je le répète, cela demeure une opération risquée à n'effectuer que sous votre propre responsabilité.