Afficher un message
Vieux 09/02/2018, 09h00   #33 (permalink)
Profil
krHACKen
Membre
Ancienneté  20%
Ancienneté 20%
 
Avatar de krHACKen
 
Date d'inscription: juillet 2013
Pays :
Messages: 764
Téléchargements: 0
Uploads: 0
Merci: 215
Remercié 699 fois dans 441 Posts
Par défaut

Citation:
Envoyé par ShaoliAss Voir le message


J'en profite pour te demander - comment pour RRT4 - pourquoi le code commence par 3 et non 8 ? Comment choisir entre les 2 ?
Le code 3 écrit 1 byte;
Le code 8 écrit 2 bytes.
Vu qu'on cherche à remplacer la valeur 0200 par 0000, pas besoin d'écrire 0000 en deux bytes (code 8) vu qu'on a déjà un 00 dans la valeur. Tout ce qu'on veut faire en fait, c'est changer le 02 en 00.


Exemple en prenant le code anti-dithering de Ridge Racer Type 4 PAL :
Valeur originale à l'offset 000940E8 : 0200
On veut changer le 02 en 00. Pour que ça donne 0000. Le 02 est à l'offset 000940E9.
On prend l'adresse 000940E9, on y met le type de code 30 dessus, ce qui donne 300940E9. Et notre valeur 00, ce qui donne 300940E9 0000.

Le code 800940E8 0000 aura le même effet que 300940E9 0000 néanmoins.
C'est juste une façon de faire...


Pour savoir le quel des deux types choisir, suffit de savoir quoi patcher et avec quelle valeur.

Imaginons qu'il faut que nous fassions un code widescreen, sur un jeu qui a pour valeur originale 1999. Pour remplacer 1999 par 1333, on doit écrire deux bytes (99->33 & 19->13). Donc obligé d'utiliser un code 8. Ou bien deux codes 3 mais c'est absurde.
Exemple avec MediEvil FR :
D00F8594 1999 // original
800F8594 1333
D00F8C9C 1999 // original
800F8C9C 1333

Et pour un code widescreen avec une valeur originale 1000 à changer en 0C00, un code 3 devrait suffire.
Exemple avec Small Soldiers FR :
D00A7190 1000 // original
300A7191 000C
ça change le 10 en 0C, pour qu'au final ça donne 0C00.


Maintenant pour les codes de triches, tout dépend de comment le jeu est foutu. Imaginons un jeu qui stock la valeur de l'énergie du personnage dans un seul byte. Mieux vaut utiliser un code 3. Parce qu'en utilisant un code 8, ça écrira deux bytes, et par conséquent, ça risque de modifier la valeur d'un autre paramètre en même temps.
Un titre qui me vient à l'esprit, Resident Evil. Ce jeu a un byte qui indique l'item, et le byte juste à côté est la quantité. Avec des codes 3 on peut choisir l'item et la quantité indépendamment, et avec un code 8 on contrôle les deux en même temps.

Citation:
Envoyé par ShaoliAss Voir le message
*

Edit : tes bats ne me donnent aucun résultat sur un snapshot de MGS FR...
Faut faire un glisser/déposer du snapshot sur un des batch.
Le programme accepte les snapshots de no$psx, des dumps de RAM complets (2 Mo) et les exécutables PS1.




EDIT :
Je viens de voir que demilich a trouvé mon code pour Driver 2. Content que ça marche.
Peut être que je devrais prévenir quand je réupload la liste avec de nouveaux codes anti-dithering.
Le truc c'est que je fais plusieurs choses en même temps, et que je produis les codes quand j'ai un peu de temps libre.

Dernière modification par krHACKen ; 09/02/2018 à 09h38.
krHACKen est déconnecté   Réponse avec citation
Ces 2 utilisateurs disent Merci à krHACKen pour ce poste utile:
Allan58 (09/02/2018), ShaoliAss (09/02/2018)