Aller au contenu

PS1 dithering OFF codes


ShaoliAss

Messages recommandés

Petit constat sur Legacy of Kain Soul Reaver (PAL) (la barre de vie, en bas à droite).

 

1_by_shaolinassassin-dc3xyun.jpg

 

De haut en bas :

 

Image 1 : 8002B284 0620

Image 2 : 8002B284 0000

Image 3 : 8002B284 0020

 

Il semblerait que le dithering soit dans le 06 et pas dans les 4 chiffres du 0620. 0000 donne des résultats dégueux sur certains objets. A garder en tête qd on patche tout comme ds le cas de MediEvil.

Lien vers le commentaire
Partager sur d’autres sites

Il semblerait que le dithering soit dans le 06 et pas dans les 4 chiffres du 0620.

Je me le ferais au désassembleur quand j'aurais le temps. Il y a surement un déplacement dans un autre register et des maths. Mon tool de peut pas trouver ce genre de chose. C'est à faire soi-même avec un désassemblage. C'est ce que j'ai fait pour Apocalypse FR.

 

0000 donne des résultats dégueux sur certains objets. A garder en tête qd on patche tout comme ds le cas de MediEvil.

Faut pas patcher 0000, mais foutre 00 sur le bit 9 avec un code 3.

Par exemple, pour une valeur de 0620 :

8002B284 0000 pas bon

3002B285 0000 bon

Ça transforme 0620 en 0020.

 

J'dois aller faire des courses, je vois ça à mon retour...

Lien vers le commentaire
Partager sur d’autres sites

Faut pas patcher 0000, mais foutre 00 sur le bit 9 avec un code 3.

Par exemple, pour une valeur de 0620 :

8002B284 0000 pas bon

3002B285 0000 bon

Ça transforme 0620 en 0020.

 

J'dois aller faire des courses, je vois ça à mon retour...

 

*facepalm* Ok, jcomprends mieux... Le tuto de Chris m'a induit en erreur en ne donnant que des codes 8.

 

Ridge Racer (JP) :

 

80046468 0000

 

 

Ca aurait du être 30046469 0000 - si j'ai bien pigé.

Lien vers le commentaire
Partager sur d’autres sites

Le tuto de Chris m'a induit en erreur en ne donnant que des codes 8.

 

Ok, jcomprends mieux pourquoi il fait ça. La plupart des exemples de Chris viennent d'une recherche de E1000X00h. Et dans ce cas là, utiliser un code 8 ou un code 3 est strictement identique.

 

Les codes de Spyro (JP) qu'il a donné auraient du me mettre la puce à l'oreille :

 

80065A2C 0000 // 0200

8005E7B0 0440 // 0640

8005C7F8 0020 // 0220

800227A8 0400 // 0600

 

A noter qu'il fait -2 pour enlever le dithering - là où j'aurais remplacé 04 ou 02 par 00. Ou alors toi aussi tu fais comme celà depuis le début ?

Modifié par ShaoliAss
Lien vers le commentaire
Partager sur d’autres sites

A noter qu'il fait -2 pour enlever le dithering - là où j'aurais remplacé 04 ou 02 par 00. Ou alors toi aussi tu fais comme celà depuis le début ?

Nope, en fait j'avais même pas remarqué qu'il faisait une soustraction de 2. Je fous zéro dans tous mes codes.

 

J'vais faire quelques tests dans l'après-midi pour voir ce que donne -2. Puis si ça marche partout, je ferais la même chose dans mon prochain outil.

Ce truc est modifié à l'arrache et ne fait pas les choses comme il faut. J'aimerais en coder un nouveau mais pour le moment je n'ai pas vraiment le temps:(. En tout cas, rien ne vaut un bon désassemblage. L'outil est utile, mais il ne fait rien de magique.

Lien vers le commentaire
Partager sur d’autres sites

Nope, en fait j'avais même pas remarqué qu'il faisait une soustraction de 2. Je fous zéro dans tous mes codes.

 

J'vais faire quelques tests dans l'après-midi pour voir ce que donne -2. Puis si ça marche partout, je ferais la même chose dans mon prochain outil.

Ce truc est modifié à l'arrache et ne fait pas les choses comme il faut. J'aimerais en coder un nouveau mais pour le moment je n'ai pas vraiment le temps:(. En tout cas, rien ne vaut un bon désassemblage. L'outil est utile, mais il ne fait rien de magique.

 

Petit test sur Soul Reaver, dont le code principal en code 8 est :

80026938 XY40 // E1000640

 

Constat :

- dans X640, changer uniquement X ne fait rien du tout, j'ai testé tout de 06 à F6, même résultat.

- dans XY40, Y=0 ou Y=4 : donnent exactement le même résultat : dithering OFF.

- j'ai aussi testé aléatoirement qq valeurs > F6 : c'est bien uniquement Y qui fait qq chose.

 

Si Y = 0 -> Dithering OFF

Si Y = 1 -> OFF

Si Y = 2 -> ON

Si Y = 3 -> ON

Si Y = 4 -> OFF

Si Y = 5 -> OFF

Si Y = 6 -> ON

Si Y = 7 -> ON

Si Y = 8 -> OFF

Si Y = 9 -> OFF

Si Y = A -> ON

Si Y = B -> ON

Si Y = C -> OFF

Si Y = D -> OFF

Si Y = E -> ON

Si Y = F -> ON

 

Et y a pas de degré entre le ON et le OFF, c'est tout ou rien. Du coup, si ca se confirme sur d'autres jeux, c'est bien -2 qu'il faut faire - dans l'éventualité où les ON et OFF seraient inversés sur un autre jeu. Ex : Y = 8 = ON.

Modifié par ShaoliAss
Lien vers le commentaire
Partager sur d’autres sites

Merci pour ces infos:pouce:.

 

Toujours pas le temps de coder un outil au propre, alors j'ai trafiqué l'outil existant :

http://aybabtu.chez.com/kHn/E1_20180223.ZIP

En me basant sur tes remarques.

 

Ça fait -2 pour 02h/03h/06h/07h/0Ah/0Bh/0Eh/0Fh

Et fait +2 pour 00h/01h/04h/05h/08h/09h/0Ch/0Dh

 

Les scans pour les supposés ON et OFF sont séparés (pas mélangés dans les résultats).

L'outil ne vomit que des codes D0+30.

Les commentaires sont maintenant au dessus des codes, pour ne pas gêner leur activation dans CEP.

 

Il ne fait toujours aucune détection des changements de registers. Pour ce genre de truc, désassembleur.

 

 

J'ai changé le code pour "MediEvil (Regist. Us. Demo 02)" dans ma liste.

Vais devoir me retaper tous les Metal Gear Solid :facepalm:

J'ai vu aussi que demilich va vérifier ses codes...

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ces infos:pouce:.

 

Toujours pas le temps de coder un outil au propre, alors j'ai trafiqué l'outil existant :

http://aybabtu.chez.com/kHn/E1_20180223.ZIP

En me basant sur tes remarques.

 

Ça fait -2 pour 02h/03h/06h/07h/0Ah/0Bh/0Eh/0Fh

Et fait +2 pour 00h/01h/04h/05h/08h/09h/0Ch/0Dh

 

Les scans pour les supposés ON et OFF sont séparés (pas mélangés dans les résultats).

L'outil ne vomit que des codes D0+30.

Les commentaires sont maintenant au dessus des codes, pour ne pas gêner leur activation dans CEP.

 

Il ne fait toujours aucune détection des changements de registers. Pour ce genre de truc, désassembleur.

 

:pouce: Super, merci !

 

 

J'ai vu aussi que demilich va vérifier ses codes...

 

Idem, va falloir que je passe mes codes 8 en code 3, vu que j'ai à chaque fois patché les 4 chiffres de la valeur d'origine et pas uniquement les 2 premiers :shy2: Ca avait pas l'air de poser de souci, mais bon.

 

*

 

Y a des jeux incompatibles avec no$psx ? Il refuse les Tomb Raider 1 et 2. Soit écran noir après entrée dans le jeu, soit unexpected error lors du choix de l'iso.

Modifié par ShaoliAss
Lien vers le commentaire
Partager sur d’autres sites

Tomb Raider 1 et 2 sont sensibles au pregaps. Vu que la plupart des émulateurs ignorent les pregaps, ces jeux font un écran noir.

 

J'ai patché le 1 pour Darius-Saturn l'autre fois, mais je ne sais pas si il a été posté dans le forum ou balancé en loose lors d'un échange sur Discord.

 

J'vais essayer de produire des codes dans la journée. Au moins pour le 1er Tomb Raider.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
  • Statistiques des membres

    23 028
    Total des membres
    963
    Maximum en ligne
    Subaru
    Membre le plus récent
    Subaru
    Inscription
  • Statistiques des forums

    128,1 k
    Total des sujets
    1,7 M
    Total des messages
×
×
  • Créer...