Au sujet des pointeurs GBA.

Questions en rapport avec nos traductions. http://pockettrad.romhack.org

Modérateur : Pocket Trad

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Au sujet des pointeurs GBA.

Message non lu par Lastevil » 10 avr. 2007, 17:07

Bonjour,

J'ai commencé recemment une tentative de traduction sur la rom Harvest moon GBA. J'ai réalisé ma table de caracteres, commencer a regarder pour la partie graphique, mais je ne trouve pas comment m'en sortir avec les pointeurs.

Ce que je recherche en postant ici, c'est pas un tutorial tout fait sur les pointeurs, mais plutôt des informatons utiles qui pourraient m'aider a comprendre la logique, dans le genre la taille de l'header d'une rom gba (si hearder il y'a), ou l'architecture (comme l'histoire des low roms sur snes a ce que j'ai lu)...

Enfin bref, toute aide pour m'aider a comprendre les pointeurs me serais tres utile... Que pour l'heure je tatonne a bouger des valeurs par ci par la (sans provoquer de decalage comme j'aimerai...)

Merci :)

Avatar de l’utilisateur
rid
Dieu Suprême du flood
Messages : 2001
Inscription : 04 janv. 2005, 22:17
Contact :

Message non lu par rid » 11 avr. 2007, 12:36

Le mieux que t'as à faire, c'est d'aller faire un tour sur Romhacking.

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 11 avr. 2007, 21:22

J'ai eu trouvé des trucs sympathiques. Je commence a reussir a bouger quelques trucs. Par contre certains pointeurs ne pointent pas le texte mais un bloc contenant une animaton+du texte.
J'ai fait repointer un de ces bloc vers une copie en fin de rom afin d'avoir plus de place pour la traduction.
L'animation passe impeccable. Le texte quand a lui ne veut pas s'afficher.

Reste a trouver ce qui l'empeche :).

Edit: c'est bon j'ai trouvé...

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Message non lu par Ti Dragon » 12 avr. 2007, 08:41

Etant donné que tu as trouvé, tu pourrais nous faire partager ton expérience :) Cela pourrait servir à d'autres ^^

Bon courage :)
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 12 avr. 2007, 14:15

Oui pas de probleme, seulment pas sûr que les mêmes regles s'appliquent à toutes les roms GBA (et non pas ds comme ecrit avant).

Pour les pointeurs, il suffit de relever l'offset de destination (genre 01 23 45) en hexa et d'ajouter 08 00 00 00. (dans mon exemple ça donne donc 08 01 23 45)
Il faut ensuite inverser la lecture des octets (45 23 01 08 ) et chercher la table de pointeurs (dans ma rom ils sont tous entassés a peu pres au meme endroit, enfin peut etre pas tous mais bon...).

A savoir que certains pointeurs ne pointent pas du texte mais un bloc situé avant, et qui contient apparemment une animation.
Le bloc dois etre bougé en entier a la fin de la rom si on veut ajouter des octets (ou du moins la ou y'a de la place, et sans risquer de decaler les autres offsets). Ne pas laisser de zone FF FF FF (..) FF entre la fin de la rom et le bloc deplacés, sinon l'animation marche mais pas l'affichage texte (x_x).

Dernier truc, le bloc de texte contiendra quasi obligatoirement des codes Messages Break. Normalement on peut s'attendre a avoir un pointeur qui vise la zone de texte suivante, ce qui est pas le cas ici (du moins ici).
Il y'a une valeur hexa codée sur 2 octets inversés en fin du bloc d'animation dont depend le bloc de texte qui donnent le nomrbe d'octet separant la fin du bloc animation avec le debut de la nouvelle phrase (apres le message break donc).

Vous avez suivi? Peut etre pas :). Il me faudra mettre tout ça au clair sur un document plutôt...
Le temps pour moi d'avancer dans la rom pour trouver les autres particularités à signaler :)
Dernière édition par Lastevil le 12 avr. 2007, 15:29, édité 2 fois.

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Message non lu par Ti Dragon » 12 avr. 2007, 14:24

Bah, que l'on comprenne ou pas, je trouve toujours intéressant de voir comment les gens qui apparemment ne programment pas raisonnent. Ca peut sembler stupide pour les puristes mais cela peut donner des idées pour d'autres ROMhacks ^^
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 12 avr. 2007, 14:51

Oui je programme pas en effet :). Certains trucs doivent vous sembler tellement logique mdr. M'enfin :) Tant que j'avance ça va ^^

Avatar de l’utilisateur
Loki
Dieu Suprême du flood
Messages : 1603
Inscription : 03 juil. 2006, 10:06
Localisation : Mer des Sarcasmes

Message non lu par Loki » 12 avr. 2007, 15:06

Ah bon t'as compris Ti, il manque pourtant deux zéros et la ROM GBA est devenu une ROM DS. :D

Blague mise à part c'est a peu près ça.
Sauf coup tordu de la part du programmeur cette méthode marche sur toutes les ROMs GBA.
La ROM est mappée à l'adresse 08000000h donc quand tu trouves l'adresse de ton texte, tu lui ajoutes cette valeur et bien entendu les octets sont stockés en sens inverse.

L'en-tête fait 192 octets de long.

Bonne continuation !

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 12 avr. 2007, 15:31

Yep desole d'avoir oublié 00 et d'avoir mis DS a la place de GBA. Je perd la tête complet :).
C'est la faute a la nuit trop courte ;D

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Message non lu par Ti Dragon » 12 avr. 2007, 15:45

Loki a écrit :Ah bon t'as compris Ti, il manque pourtant deux zéros et la ROM GBA est devenu une ROM DS. :D
Bah, j'ai pas besoin de signaler ce genre de bourde : on a bien compris ce qu'il voulait dire :P

Tu es taquin ^^
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 12 avr. 2007, 15:50

Au passage, je commence a me dire qu'il serais judicieux d'ajouter les lettres accentués avant que je traduise trop (sinon me faudra tout repasser apres...)

J'ai ouvert ma rom avec Tile Edit Pro (peut etre pas le meilleur choix pour la gba)... l'alphabet est reconnaissable mais c'est pire qu'un puzzle :D.

Je part a la chasse au tutorial :)

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6447
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Message non lu par BahaBulle » 12 avr. 2007, 15:59

Essaye différents modes de visualisation (1BPP, 2BPP...) pour essayer de mieux voir la font.

Si ça marche pas mieux, elle peut-être compressée ou je ne sais pas quoi d'autre encore :D

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 12 avr. 2007, 16:13

Je suis en train de regarder. Apparemment ma premiere fonte, c'est pas celle qui me fallais. J'ai bien peur que la vraie soir bien compressée. Pas grave, j'apprendrai mieux comme ça :).

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6447
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Message non lu par BahaBulle » 12 avr. 2007, 16:17

Pour une font compressée, la seule solution que j'ai c'est trouver quelqu'un qui connait l'ASM :p

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Message non lu par Ti Dragon » 12 avr. 2007, 16:21

Pas forcément l'ASM, si ? Des compétences en programmation devraient suffire, je me trompe :) ?
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6447
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Message non lu par BahaBulle » 12 avr. 2007, 16:22

Et tu veux programmer quoi ?

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Message non lu par Ti Dragon » 12 avr. 2007, 16:23

Un script qui me permette de décompresser le bidule puis de recompresser mes changements ^^
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6447
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Message non lu par BahaBulle » 12 avr. 2007, 16:26

Mais comment connaitre la compression utilisée ? :p

Avatar de l’utilisateur
Ti Dragon
Est devenu grand
Messages : 12441
Inscription : 25 févr. 2002, 18:25
Localisation : Dans mon lit c'est mieux
Contact :

Message non lu par Ti Dragon » 12 avr. 2007, 16:28

Bah, quand il s'agit de textes, et pour certains types de compression comme le LZSS, tu peux te passer d'ASM. D'où ma remarque :P Plutôt que de répondre à ma question par une autre question, le mieux aurait été de me dire plutôt en quoi a-t-on besoin de compétences en ASM : je suis pas programmeur, moi ^^;

En fait, je voulais surtout dire que ce n'était pas systématique ^^
"Heureusement qu'il n'avait que deux mots à nous dire... je plains son auditoire lorsqu'il doit faire un long discours"
(c) Le gardien du square
--
La scène de la traduction francophone : http://traf.romhack.org/

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 12 avr. 2007, 16:29

La je suis un peu en galere. Y'en a un qui a des connaissance en edition graphique pour juste regarder a l'interieur si il voit une fonte decompressée? Celle que je vois me semble incomplete et surtout pas de la même epaisseur que dans le jeu (et pas dans le même ordre aussi).

Sinon y'a pas moyen j'imagine de localiser la font en se servant de l'outil Tile Viewer de l'emulateur?

Puis d'ailleurs pourquoi ils auraient compressés la fonte et pas les graphismes. C'est pas logique... tant qu'a compresser, on compresse tout ou rien hein...

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6447
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Message non lu par BahaBulle » 12 avr. 2007, 16:35

Ti Dragon a écrit :Bah, quand il s'agit de textes, et pour certains types de compression comme le LZSS, tu peux te passer d'ASM. D'où ma remarque :P Plutôt que de répondre à ma question par une autre question, le mieux aurait été de me dire plutôt en quoi a-t-on besoin de compétences en ASM : je suis pas programmeur, moi ^^;
On peut s'en passer mais c'est galère pour trouver les informations de la compression, faut tester tout plein de trucs et de bidules dans tous les sens.
Mais ça c'est pour du texte, pour une image, je ne sais pas du tout.

L'ASM permettra de trouver rapidement la compression voir tout plein d'autre trucs.

J'aimerais bien l'avis d'un expert quand même ;)
Ti Dragon a écrit :Plutôt que de répondre à ma question par une autre question
Je trouvais ça rigolo :D
Lastevil a écrit :La je suis un peu en galere. Y'en a un qui a des connaissance en edition graphique pour juste regarder a l'interieur si il voit une fonte decompressée? Celle que je vois me semble incomplete et surtout pas de la même epaisseur que dans le jeu (et pas dans le même ordre aussi).
J'ai pas la rom sous la main et il est fort possible qu'il y ait plusieurs fonts.
Lastevil a écrit :Puis d'ailleurs pourquoi ils auraient compressés la fonte et pas les graphismes. C'est pas logique... tant qu'a compresser, on compresse tout ou rien hein...
Tu peux pas imaginer ce que les développeurs font comme trucs bizarre.
Pour un jeu NES que j'ai hacké, il y avait une font pour chaque style de texte (textes, menu, message pendant les combats...) alors que les fonts étaient entièrement identiques.

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 12 avr. 2007, 16:51

Je peut toujours te faire passer le fichier. Moi je viens de passer 60% de la rom en palette rose et bleu. Mes yeux ne s'en remettront jamais... et le pire c'est qui reste 40% a faire :D

Avatar de l’utilisateur
BahaBulle
Bub'n'Bob Pawa!
Messages : 6447
Inscription : 06 août 2002, 09:34
Localisation : Sur une bulle
Contact :

Message non lu par BahaBulle » 12 avr. 2007, 16:56

Donne-moi juste le nom de la rom, je dois l'avoir chez moi et je verrais ce soir si j'ai le temps mais je ne te promet rien, je ne suis pas expert en la matière ;)

Lastevil
Nouveau Floodeur
Messages : 26
Inscription : 10 avr. 2007, 16:57

Message non lu par Lastevil » 12 avr. 2007, 16:57

Harvest Moon: Friends of Minerals town (gba donc).
C'est marrant le romhacking... Des qu'on resoud un probleme et qu'on pense avoir un peu la paix, un autre arrive...

Avatar de l’utilisateur
Morzan
Dieu Floodeur
Messages : 831
Inscription : 14 sept. 2006, 20:31

Message non lu par Morzan » 13 avr. 2007, 09:32

C'est pour ca que je suis pas romhackeur
Episode # 95 : Souvenirs

Verrouillé