Aller au contenu

PS1 dithering OFF codes


ShaoliAss

Messages recommandés

[HS]

 

@krHACKen : t'as vu ça ?

 

attachment.php?aid=65591

 

attachment.php?aid=65592

 

Je suis parvenu à faire le chemin inverse de ce que le gars a fait pour créer ces codes.

 

Mais pour l'instant, on est un peu limité dans les recherches, vu qu'on ne connait qu'une seule valeur à changer pour éliminer cet effet de croisillon. :/

 

 

Sur son twitter (@https://twitter.com/covell_chris/status/946047748180140032) Chris dit ceci...

 

Playstation 1 Dithering #2: the hardware stores 24-bit textures but displays them as 15-bit. Bit 9 of GP0(E1h) - GPUSTAT controls this, and games choose which textures to dither. Sadly, some 2D pixel art games have the dithering ON, making for an unsightly mess.

 

Une idée de comment utiliser ça pour trouver d'autres valeurs à changer ?

Lien vers le commentaire
Partager sur d’autres sites

Yep j'ai vu ça. Et ça tombe pile au moment où je suis entrain de foutre Cheat Engine Compilation à jour.

 

Nope, j'connais pas de meilleure méthode. Faudrait que je désassemble quelques PS-X EXEs pour faire joujou avec GPUSTAT, mais j'suis trop occupé avec d'autres trucs. Puis toutes mes PS1 sont hors service.

Lien vers le commentaire
Partager sur d’autres sites

Ok merci. J'espère que les codes avec qq lignes vont m'aider à trouver d'autres séquences. Jviens de tomber sur 2 jeux (MGS et Soul Reaver) pour lesquels je n'élimine cet effet que partiellement - avec 1 seule ligne de code.

 

Au fait, tant qu'on y est... est-ce que "80038AF0 0" = "80038AF0 0000" ?

Lien vers le commentaire
Partager sur d’autres sites

Au fait, tant qu'on y est... est-ce que "80038AF0 0" = "80038AF0 0000" ?

80038AF0 0 n'est pas une syntaxe valide.

Une valeur hexa 8bits, c'est 00.

Vu que le code commence par 8, ça veut dire que la valeur est 16bits, donc 0000.

Ouais, ça veut surement dire 80038AF0 0000 = écriture constante de 16 bits.

Pour une écriture constante de 8 bits (donc 1 octet), ça serait 30038AF0 0000.

 

 

Si je trouve des astuces au sujet du dithering, je te les filerais. Mais je ne m’inscrirais pas sur le forum de pcsx2. Y'a un parasite là-bas, et je préfère me tenir à l’écart de lui.

Lien vers le commentaire
Partager sur d’autres sites

Merci, jcorrigerai !

 

Jsens que ca va être complexe pour certains jeux. Ex : Castlevania Chronicles (J).

 

8003ED68 0000 / 0200 -> BG ; 0200 se situant dans la séquence 023C00024234

800406E8 0000 / 0200 -> FG, sprites ; 0200 se situant dans la séquence 043C00028434

80043748 0000 / 0200 -> BG ; 0200 se situant dans la séquence 033C00026334

 

Chercher directement 0200 me donne bcp trop de résultats et pas moyen de changer en direct la valeur depuis Cheat Engine (d'après un gars de PCSX2).

Lien vers le commentaire
Partager sur d’autres sites

se situant dans la séquence 023C00024234

lui v0, $????
ori v0, v0, $0200

 

se situant dans la séquence 043C00028434

lui a0, $????
ori a0, a0, $0200

 

se situant dans la séquence 033C00026334

lui v1, $???
ori v1, v1, $0200

 

Ce sont des instructions très courantes.

En recherchant ça dans la RAM ou l'exe et en patchant ces instructions en direct, vous vous donnez beaucoup trop de mal.

 

Les fonctions liées au dithering n'ont vraiment que ça en commun ? Vous n'avez pas d'autres paternes de code à rechercher ?

Lien vers le commentaire
Partager sur d’autres sites

lui v0, $????
ori v0, v0, $0200

 

 

lui a0, $????
ori a0, a0, $0200

 

 

lui v1, $???
ori v1, v1, $0200

 

Ce sont des instructions très courantes.

En recherchant ça dans la RAM ou l'exe et en patchant ces instructions en direct, vous vous donnez beaucoup trop de mal.

 

Les fonctions liées au dithering n'ont vraiment que ça en commun ? Vous n'avez pas d'autres paternes de code à rechercher ?

 

A l'heure actuelle, non.

 

Chris Covell avait posté aussi ça sur twitter mais j'ai pas compris...

 

I'll work on it, but each game is slightly different. Basically, instructions with data E1000200 need to be changed to E1000000. Sometimes the lower 16 bits is done via an OR or a set bit, so there's no one solution for all games.

 

Lien vers le commentaire
Partager sur d’autres sites

Mouais. J'ai fait un peu joujou avec ça, sans trop aller loin dans le truc.

Pas ma tasse de thé comme hack.

 

 

 

Je vais quand même attendre que vous produisiez une liste de codes consistante avant de publier Cheat Engine Compilation pour que tout le monde soit content.

Lien vers le commentaire
Partager sur d’autres sites

Si t'as un moment et que tu peux jeter un oeil sur MGS, jme casse les dents dessus.

 

J'imagine qu'il faut utiliser le 3eme exemple du tuto pour y parvenir - mais jcomprends pas bien comment utiliser VRAM viewer.

D'autant plus que pour l'exmple qui est pris - SOTN - y a pas besoin, E1000200h donne direct le résultat...

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...