[Dreamcast] RECVX

Forum où l'on peut discuter de tout à condition de ne pas flooder, sauf dans l'unique sujet dédié "foutoir".
fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

[Dreamcast] RECVX

Message non lu par fafadou » 06 juil. 2018, 14:31

Bonjour,

J'espère que je poste au bon endroit sur le forum.

J'ai un problème sur un projet qui me tient à cœur, il s'agit de l'import de la version de resident evil code veronica complete (X chez nous) sur les version soriginales française et euro après si possible.
Cette version complete n'est sortie qu'au japon sur dreamcast.

L'avantage c'est quelle offre le peu de chose que capcom a bien voulu rajouter, et le mode vga pour pouvoir en profiter en 480p au lieu du 320p sur les versions euro.

Tout d'abord on a renommé les fichiers de la version française identique à la version complete pour que le 1ST_READ.BIN de la version complete puisse les lire (les fichiers sont pratiquement tous les mêmes hormis les noms qui changent pour chaque pays).

Le problème c'est qu'au niveau du texte ça ne va plus :

Image

Donc on a conservé le 1ST_READ.BIN français et ajouté les fichiers qui ne contenaient pas de texte depuis la version complete, ça donne un jeu avec des effets manquant (les yeux de wesker par exemple) et des bugs dans les cinématiques ajoutées (switcher la cinématique avant la fin sinon on reste dans la pièce) des petits trucs comme ça.
Cependant tout est jouable et on peut finir le jeu, on a fait une release en l'état. Mais j'aimerai aller plus loin aujourd'hui et corriger ce problème d'espace enfin de Variable Font Width (VFW).

LEs 1ST_READ.BIN complete US et FR sont assez différents mais si je prends le 1ST_READ.BIN anglais et français ils sont très proche et j'ai ça comme problème sur l'anglais :
Image

Donc je pense que pour trouver la VWF ce sera plus facile. C'est à dire trouver une différence entre les 1ST_READ.BIN.
Je note que sur la première capture les lettres me semblent plus jolie, j'espère pouvoir garder cette font.

J'ai d'abord fait une grosse hypothèse, c'est à dire que tous les hex XX XX XX 8C (je sais pas comment on dit mais il faut qu'ils soient de 0 à 3, 4 à 7, 8 à B et C à F sur une ligne) sont des pointeurs, ils pointeraient pratiquement tous au même endroit dans le fichier quelque soit la version sauf que certains pointent en dehors du fichiers (pas beaucoup mais quelques uns...) est ce que vous avez déjà vu ça ?
Je me suis concentré sur le reste j'ai trouvé quelques "zones" de différentes, j'ai tenté des copier-collé sans résultat (vous me conseillez quoi pour comblez les octets restant après une copie ? 0x00, 0xFF, 0x20, 0xFF ou 0x09 00 (nop' en assembler si j'ai bien compris).

J'ai essayé de trouver une font également sans résultat mais je pense pas qu'elle soit ici et que c'est ce que je recherche car les accents s'affichent bien.
Ensuite je me suis mis à la recherche d'une table SHIFT JIS, je n'en ai pas trouvé (enfin que quelques caractères qui se suivent) de complète jusqu'à peu ou j'ai trouvé ça :-) :

Image

C'est exactement pareil sur toutes les versions pour moi il y a un region size qui ferait qu'un pointeur indique un des six alphabets selon la version (jap, fr, ang, all, us, esp) car :
Image
J'ai fait des tests pour voir si quelque chose change sans résultat... Aucun... (changement de lettre, changement de ce qui est avant les lettres, puis j'ai tout remplacé par des 0xAA...)
Après sûrement qu'il y a plusieurs vwf (document, menu, dialogue) comme pour grandia 2 faudrait que j'y rejoue un peu pour confirmer.

Mais concernant cet écran vous me conseillez quoi pour réduire ces espaces entre les lettres. Ou est ce que je pourrai chercher et qu'est ce je pourrai chercher ? j'ai pensé à comptez les pixels pour trouver la VWF mais honnêtement c'est pas évident sur ce jeu les lettres sont assez détaillées...

Voici les 1st_read.bin jap :
https://mega.nz/#!RnhwkSoB!rBXcCjoMzBxz ... fejmZzo3Hk
et fr :
https://mega.nz/#!xvYFEIKR!MIbj6yvDuMWu ... 6GJ465TIRA

Si vous voulez jeter un œil vite fait.

Au secours ^^ et merci par avance

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 376
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 12 juil. 2018, 18:59

Faut que tu commences par te mettre à la résolution d'origine sur l'émulateur pour obtenir le bon comptage de pixels. Puis tu remplaces un texte par aaabbbcccddd etc pour trouver l'espace entre deux a, deux b, etc. Ça te permettra sûrement de trouver la VWF assez facilement. Par contre je te préviens, il est possible que la version jap n'ait pas du tout de VWF.

fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 13 juil. 2018, 16:43

Merci beaucoup d'avoir répondu :-)

Je vais essayer de faire ce que tu me dis.

Ce qui me donne espoir c'est que dans la version anglaise les accents n'ont pas d'espace et se mettent sur le caractère d'après et dans la version jap toutes les lettres européennes se retrouvent avec le même espacement.

S'il n'y a pas de vwf, comment est ce que cela pourraient fonctionner ? Est ce que tu aurais un lien wiki ou autre pour que je puisse me former s'il plait ?

Je posterai déjà l'écran modifié.


Merci encore pour ta réponse.
Dernière édition par fafadou le 13 juil. 2018, 17:55, édité 1 fois.

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 376
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 13 juil. 2018, 17:35

Une VWF c'est juste une table de largeurs de caractères. Elle peut être sous n'importe quelle forme, mais souvent ça prend des carrés de pixels contenant une lettre (genre 32x32) dans la font et coupe une partie à gauche et à droite pour former le caractère à la bonne taille. C'est très souvent en 2 valeurs par caractère.

Ça peut être l'endroit où ça se coupe à gauche du carré du pixel et l'endroit où ça coupe à droite. Ça c'est souvent si le caractère est centré dans le carré de son emplacement dans la font.

Genre t'as un "I" dans un carré de 32x32 pixels mais il prend que 6 pixels et est centré, donc 3 pixels de chaque côté du centre. Tu laisses un pixel d'espace avant et après en longueur. Ca fait que tu vas couper à gauche à 12 pixels en partant de la gauche. Puis à droite ce sera 12 pixels en partant de la droite soit 20 en partant de la gauche. T'auras donc les valeurs 0xC et 0x14 qui se suivront. Ca peut être 0C 14 ou 0C 00 14 00 ou encore 0C 00 00 00 14 00 00 00.

Après t'as d'autres méthodes utilisées comme par exemple le caractère qui va être placé à gauche dans son carré d'emplacement dans la font au lieu d'être centré. Dans ce cas l'une des valeurs peut correspondre à la coupure à droite pendant que l'autre et une position relative sur l'écran souvent négative.

Comme tu peux le voir ça peut être un peu tout et un hackeur apprend tout par expérience, on n'est pas formé.

Sinon le meilleur moyen de vraiment trouver cette VWF c'est d'utiliser un débuggeur, c'est rapide et sans bavure, mais on en est pas encore là. Essaie de trouver par toi-même pour l'instant en réfléchissant.

Et justement, dans la version jap tous les caractères ont le même espacement, donc il n'y a aucune coupure. Il n'y a donc aucun intérêt de mettre en place une VWF.

fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 13 juil. 2018, 18:42

J'ai du mal à localiser le fichier lu par le 1ST_READ.BIN japonais pour ce tout premier écran...

J'ai remplacé le japonais par le texte français (en changeant les pointeurs dans les fichiers textes)
Ca me change le texte du début mais il reste en japonais.
Pourtant je l'ai trouvé dans le jeu en français...

Il faut que je regarde c'est bizarre.

Je me suis installé cheat engine mais je n'arrive pas à m'en servir qu'est ce que j'aimerai apprendre, ici je pourrai je pourrai localiser la zone pour ce premier écran et voir les différences entre les versions.

Merci beaucoup pour l'explication, avec la seule expérience de grandia 2 ça ne fait pas beaucoup en effet ^^

fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 13 juil. 2018, 19:09

ça a donné ça image issue de la version anglaise :

Image

Mon émulateur est 640x480 comme la dreamcast en vga et comme cet image.

Je compte 6 pixels d'épaisseur et 4 pixels entre les i
pour les points j'en compte 7 d'épaisseur et 7 entre les points.

Je suppose qu'il faut en faire plusieurs et chercher la VWF ;-)

Merci encore.

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 376
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 13 juil. 2018, 19:20

La seule information vraiment pertinente ici c'est 10 pixels d'un "i" à l'autre hein :p
Fais la même chose avec a b c d et vois si tu peux trouver une table qui correspond pour commencer.

Avatar de l’utilisateur
kogami
Dieu Floodeur
Messages : 758
Inscription : 17 juin 2004, 16:47

Re: [Dreamcast] RECVX

Message non lu par kogami » 14 juil. 2018, 07:53

Sinon tu peux patcher la version française pour avoir le mode VGA 60Hz

https://japanese-cake.livejournal.com/7947.html
Traduction de BS Zelda - Ancient Stone Tablets (Projet en cour)Image

fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 14 juil. 2018, 09:38

C'est vrai que je ne sais pas trop par ou chercher mais je pense vu la taille des majuscules que le jeu est en 32x32.
ok 10 pixels entre les "i" et je remarque que le "i" et le "." sont très proches. Ca peut peut être aidé.
De plus les "é" accents étant sur la lettre d'après dans la version anglaise, je me demande si la VWF de ces lettres accentuées ne sont pas à 0x00 00...

@kogami oui un patch est sorti mais le jeu en version "X" comporte des bugs dans les cinématiques ajoutées (par exemple quitter avant la fin sinon on reste bloqué dans la pièce) et des effets manquant comme les yeux de Wesker.
La version est jouable mais j'aimerai essayer de finir maintenant en important le 1ST_READ.BIN japonais car seul les textes ne passent pas car les lettres sont trop éloignées les unes des autres.


Une autre image avec une très grosse lettre et des a,b,c,d espace et point toujours. j'espère que ça va bien aider.

Image

fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 17 juil. 2018, 20:43

La bonne nouvelle c'est qu'avec cette dernière capture on peut se dire que le a et le b on la même taille 04 pixels vides et 12 de "longueur" le "c" est un peu plus petit 02 pixels de vide et 10 de longueur.
Le M majuscule fait 24 pixels de haut et la "longueur moyenne" entre les "M" fait elle aussi 24 pixels donc maintenant je suis convaincu que la taille des lettres est en 24x24.

Le "M ." issu du 1ST_READ.BIN japonais que j'ai mis tout en haut avec les espaces trop grands se superposent parfaitement au "M ." de la version anglaise avec les problèmes d'accents donc les majuscules doivent avoir la même VWF sur toutes les versions.

Le "." du "M ." tout en haut à droite de l'image au dessus n'a pas le même écart que le "d." tout en bas à droite ni le même écart entre les 3 points de suspensions en haut à droite (désolé je dois être un peu fouilli) sur ces "..." on a 7 pixels de vides et 7 pixels pour le points. dans le fichier j'ai bien trois points et non un seul caractère symbolisant les points de suspension.
Est ce qu'il y aurai 3 données par lettres sur la VWF ?

En me disant que "a" et "b" sont pareils et devront être suivi par des nombres un peu plus petit pour le "c" :
Alors j'ai cherché du :
0x04 0C 04 0C ; 0x04 00 0C 04 00 0C ; 0x04 00 00 0C 04 00 00 0C ; 0x04 00 00 00 0C 00 00 00 04 00 00 00 0C 00 00 00 (pixels vides, puis pixels pleins pour a et b)
0x0F 0F, 0F 00 0F ; 0x0F 00 00 0F ; 0x0F 00 00 00 0F 00 00 00 (longueur totale pour a et b)
0x04 09 04 09 ; 0x04 00 09 04 00 09 ; 0x04 00 00 09 04 00 00 09 ; 0x04 00 00 00 09 00 00 00 04 00 00 00 09 00 00 00 (début à 04 et fin 0x18 - F=9 pour a et b)
0x09 09 0C ; 0x09 00 09 00 0C ; 0x09 00 00 09 00 00 0C ; 0x09 00 00 00 09 00 00 00 0C (en partant de la droite pour a,b et c)

sans succès...


Maintenant je me dis que la VWF doit être une succession de nombre inférieur à 0x18, alors j'ai essayé de remplacer par des 0x20 toutes ces zones sans succès également.
J'ai obtenu ça mais je ne sais pas exactement d'ou ça vient à mon avis j'ai juste introduit un bug je ferai un edit si j'y comprends mieux :
Image

edit : Toujours le 1ST_READ.BIN anglais c'est à l'emplacement 0x12978C si je remplace le 0x01 par autre chose j'obtiens ça...
Ca ne fait ça que sur le texte la partie commence normalement.
Que pourrais tu me conseiller pour la suite ? Est ce qu'il y a des combinaisons que tu as déjà vues et que je n'ai pas essayé.

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 376
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 17 juil. 2018, 22:17

J'ai essayé de la chercher aussi vite fait de cette manière sans succès. Je pense qu'on va tricher un peu et la trouver par le débuggeur :D
Dis-moi quel est le jeu en question exactement et dans quelle version je dois trouver la VWF que je voie ça.

fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 28 juil. 2018, 12:15

Excuse moi pour la réponse tardive.

Merci infiniment pour ton aide et d'avoir regardé. Le jeu est resident evil code veronica sur dreamcast pal ou biohazard kazenban.

Je peux te désassembler les isos et te mettre les fichiers ici au besoin.

Ces dernières isos ont été faites à partir du 1st_read.bin us, c'est important car pour chaque 1st_read.bin de chaque version les noms de fichiers de salles changent... du coup c'est compliqué de tester une version de 1ST_READ.BIN à l'autre car le jeu plante lorsque tu lances une partie.

Mais le but ultime est de réduire les espaces sur le 1ST_READ.BIN japonais pour les lettres (d'ailleurs je pense que les lettres jap sont un peu plus grande car j'ai compté du 28 pixels sur 28 sur les plus gros caractères japonais) comme tu le sais. Même si l'espace entre les lettres doit rester identique pour chaque lettre. L'important c'est que les textes ne sortent plus de l'écran.


Quel logiciel tu utilises pour le debugger ? J'ai fait un essai avec demul et cheat engine. J'ai juste trouvé un tuto pour ceux qui font du "widescreen hacks" sur dreamcast avec mais ils savent déjà ce qu'ils cherchent comme mot en hex pour la taille de l'écran... (et bien sûr ceux qui font du "cheat") Du coup ici ça ne marche pas et étant donné que je suis novice, je ne sais pas quoi faire pour localiser cette fameuse taille car les données utilisées lors de ce premier écran sont déjà conséquente !

Merci encore :-)
Dernière édition par fafadou le 02 août 2018, 11:04, édité 1 fois.

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 376
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 29 juil. 2018, 18:14

Le truc c'est que comme je te l'ai dit la version japonaise risque de ne pas avoir de VWF, et les lettres à largeur fixe ça fait très souvent dégueulasse (ça c'est mon avis). Je suis juste là pour t'aider, je ne veux pas 36000 informations, ça ne m'intéresse pas, j'ai juste besoin de savoir quelle VWF j'ai besoin de chercher car il était question de ça au départ et pas dans la version jap car sûrement absente.

Donc j'ai juste besoin de la version dans laquelle trouver la VWF, rien d'autre pour le moment. C'est la version européenne que t'as mise juste au-dessus ? Je voudrais pas chercher le mauvais truc... Pour le débuggeur, je n'en sais rien, je n'ai jamais touché à la Dreamcast, je verrai ça sur le tas. C'est comme ça qu'on progresse, et non avec des tutos...

fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 30 juil. 2018, 11:01

S'il te plait part de la version la plus aboutie avec texte et sous titre en français avec le problème des lettres accentuées qui se retrouve au-dessus le caractère d'après comme montré plus haut.
Trouver la VWF permettrait de corriger ce problème.

Merci infiniment pour ton aide
Dernière édition par fafadou le 02 août 2018, 11:03, édité 1 fois.

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

Re: [Dreamcast] RECVX

Message non lu par BahaBulle » 30 juil. 2018, 17:48

Merci de ne pas mettre de liens vers des isos.

fafadou
Nouveau Floodeur
Messages : 41
Inscription : 23 nov. 2017, 23:04

Re: [Dreamcast] RECVX

Message non lu par fafadou » 02 août 2018, 11:04

Ah pardon, j'ai supprimé tous les liens.

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 376
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 20 août 2018, 20:51

Bon, j'ai trouvé la VWF, alors je vais expliquer comment ça fonctionne.

D'abord, voici les fichiers dont tu auras besoin fafadou :

http://rylelafurie.free.fr/1ST_READ_VWF.rar

Le 1ST_READ.BIN contient les modifications pour la VWF.

Pour commencer, la Dreamcast n'est malheureusement pas une console facile à hacker sachant qu'il n'existe qu'un seul débuggeur (celui de NullDC) et qu'il sert franchement à rien car il ne fonctionne même pas correctement (impossible de break sur quoi que ce soit). En gros, pas de débuggeur fonctionnel pour la Dreamcast, donc ça commence mal...

Ensuite, c'est aussi la galère pour prendre le contenu de la RAM à un moment bien précis du jeu. Le plus simple pour prendre la RAM est habituellement de faire une savestate et de la lire avec un éditeur hexa pour l'obtenir. Seul Demul est capable de sauvegarder des savestates. De plus, les savestates sont compressées et impossible à décompresser par des moyens conventionnels. Heureusement, j'ai remarqué qu'elles étaient compressées par Zlib et j'ai effectué du reverse-engineering sur le fichier pour obtenir le contenu de la RAM, ce qui m'a beaucoup aidé.

Avant d'aller plus loin, le fichier 1ST_READ.BIN d'un jeu Dreamcast est un fichier exécutable comme sur n'importe quel autre système, la différence est que là ils s'emmerdent pas, ils copient tout le fichier dans la RAM sans s'embêter à l'adresse 0x8C010000, ce qui rend la vie plus facile pour le hackeur (c'est bien la seule chose).

Alors j'ai dû utiliser une astuce pour trouver la VWF car je n'avais accès à aucun débuggeur fonctionnel. J'ai tout simplement comparé les 1ST_READ.BIN français et anglais. La VWF se trouve à l'adresse 0x12DE2C du 1ST_READ.BIN, donc à l'adresse 0x8C13DE2C dans la RAM. Cette table a une taille de 0x6C et il n'y a qu'une valeur de 8 bits pour la taille d'un caractère, ça ne pourrait pas être plus simple. Le premier caractère pris en compte est l'espace, c'est-à-dire le caractère 0x20. La table utilise l'ordre des caractères ASCII, ce qui signifie qu'elle va prendre en compte les caractères entre 0x20 et 0x8B compris, en prenant il semblerait des caractères de la table ASCII Extended. Cependant, tous les caractères en dehors de ça seront considérés comme ayant une taille de 0 et c'est pour cette raison que les caractères accentués faisant partie de la table ASCII Extended ont une taille de 0 dans la VWF.

Ici nous avons donc deux soucis, la table est trop petite pour les caractères accentués et il faut trouver où est inscrite la taille de la table pour la modifier. Pour ça, il faut commencer par trouver le ou les pointeur(s) de cette table. Cette table est placée dans la RAM à l'adresse 0x8C13DE2C, et les données sur Dreamcast sont codés en Little Endian, on cherchera donc la valeur 2C DE 13 8C dans le 1ST_READ.BIN. On trouve deux valeurs aux adresses 0x10E67C et 0x114E04. Il est quasiment sûr que ces deux valeurs soient des pointeurs vu la valeur qu'on recherche. On est donc capable de bouger la table où on le veut afin d'augmenter sa taille.

Ensuite nous arrivons au plus compliqué, il faut trouver la valeur qui indique la taille de cette table. Cette valeur peut être une donnée brute ou faire partie d'une instruction ASM, et nous n'avons pas de débuggeur. Pas de panique, il reste une solution, désassembler l'ASM du 1ST_READ.BIN avec le meilleur logiciel pour ça, IDA Pro.

Avant de se lancer dans IDA Pro, il faut savoir que la Dreamcast ne contient pas un fichier exécutable standard que IDA Pro pourra reconnaître tout seul, il est donc nécessaire de rentrer toutes les infos à la main afin qu'il comprenne. Pour commencer, on sait qu'à l'adresse 0 du fichier 1ST_READ.BIN, on est à l'adresse 0x8C010000 dans la RAM. La seconde info importante est de connaitre l'architecture du CPU de la Dreamcast. Après un peu de recherche sur Internet, je trouve que le CPU est un Hitachi/Renesas et qu'il utilise l'architecture SH4, une architecture vraiment peu commune que je ne connaissais pas du tout. On rentre toutes ces données dans IDA Pro et on le laisse lire 1ST_READ.BIN. On obtient donc le fichier complètement désassemblé. On cherche les pointeurs de la table et l'instruction qui pointe chacun d'entre-eux. Dans l'une de ces instructions, on se retrouve dans cette routine :

VWF_routine.png
VWF_routine.png (8.36 Kio) Consulté 948 fois
A l'adresse 0x8C11E65C, on trouve notre instruction qui pointe notre pointeur un peu plus loin dans la mémoire (l'architecture est un peu particulière).
Si on regarde le début de la routine, on voit que le programme met la valeur 0x6C dans le registre r2 et qu'il effectue en gros la comparaison suivante :

Si (Caractère_Ascii >= 0x6C) Taille = 0;

Il nous faut donc modifier légèrement cette routine pour enlever cette limite. On pourrait remplacer la valeur 0x6C par 0xE0 pour que ça prenne en compte les valeurs entre 0x20 et 0xFF, mais il y a un problème. La valeur placée dans le registre r2 est un octet signé, ce qui signifie que si on passe au-dessus de 0x7F, la valeur devient négative, et nous on veut qu'elle reste positive. Dans ce cas une façon de faire est de changer le saut conditionnel BF par un saut inconditionnel, ici BRA (voir sh4cpu_sh1.pdf pour le jeu d'instructions du CPU). J'ai placé un NOP derrière car l'instruction BRA exécute la prochaine instruction avant de sauter, à l'inverse du BF. Comme ça, quelle que soit la valeur de la comparaison, il sautera toujours pour prendre la taille dans le table de la VWF, quelle que soit la valeur du caractère.

Après avoir modifié ça il nous reste un dernier soucis. On va déplacer la table et l'agrandir, le problème est où exactement ? Un fichier exécutable laisse rarement de la place de libre. On pourrait je pense juste agrandir le fichier 1ST_READ.BIN, ça pourrait fonctionner, mais il vaut mieux éviter si on peut faire autrement. Voilà une petite astuce quand on est dans ce genre de cas, il faut chercher des messages de débuggage qui n'apparaissent jamais dans le jeu et les écraser. Il y a toujours quelques zones comme ça, et nous on a seulement besoin de 0xE0 octets. On cherchant bien, je trouve une belle zone à l'adresse 0x1E5F90 du 1ST_READ.BIN. J'ai décidé d'utiliser l'adresse 0x1E6000 pour placer la nouvelle VWF. Les deux pointeurs devront donc être changés par la valeur 0x8C1F6000.

On lance le jeu, et c'est magique :

VWF_screen.png
VWF_screen.png (14.32 Kio) Consulté 948 fois
La VWF est loin d'être parfaite, même de base, donc je te conseille de la tripatouiller pour faire quelque chose de beau et de propre.

Le pavé est fini.

Avatar de l’utilisateur
Skeud
Oook ?
Messages : 3786
Inscription : 25 févr. 2002, 22:01
Localisation : Loompaland
Contact :

Re: [Dreamcast] RECVX

Message non lu par Skeud » 21 août 2018, 09:51

Je ne peux que te remercier d'avoir pris le temps d'écrire ça :)
Si tu ressens l'envie de travailler, assieds-toi, et attends qu'elle te passe....
A mon niveau, on ne croit pas, on sait. (Docteur Helmut Perchut)

Avatar de l’utilisateur
RyleFury
Maître en Flood
Messages : 376
Inscription : 16 janv. 2012, 12:48
Contact :

Re: [Dreamcast] RECVX

Message non lu par RyleFury » 21 août 2018, 11:58

Ça me fait penser qu'il faudrait que je continue le tuto sur le hack PS2. J'en suis en plein milieu de l'explication sur l'ASM en général, et c'est pas une mince affaire... Faut vraiment que je pense à le continuer ^^

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

Re: [Dreamcast] RECVX

Message non lu par rid » 22 août 2018, 08:58

J'allais justement poser la question à la lecture de ton post explicatif sur le hack vwf :)
Quoiqu'il en soit c'était très clair et intéressant, bravo !

Répondre