Aller au contenu

PS1 dithering OFF codes


ShaoliAss

Messages recommandés

:lol:

 

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.

 

*

 

Edit : tes bats ne me donnent aucun résultat sur un snapshot de MGS FR... :heu:

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.

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

Ok, merci pour ton explication, jpense que j'ai pigé.

 

Ton exemple concernant MediEvil FR m'a un peu perdu, jpensais que tu me montrais un exemple de décomposition de code 8 en deux codes 3 - mais jcomprenais pas pourquoi les 2 lignes restaient en code 8, ni pourquoi les offsets de 2 adresses n'étaient pas consécutifs... :heu::fou:

 

Explication simple : ton code WS sur ce jeu est différent de celui de l'archive WS d'ElPatas. J'imagine que t'as corrigé ce pb ?

 

#MediEvil [PAL-France] (SCES-01492)

Comment=Not works in the POPS emu for PS2 and in the PSX, freezes in the loading screen.

----------------------------------------------------------------------------------------

GAMESHARK CODES/ACTION REPLAY CODES

----------------------------------------------------------------------------------------

//Widescreen 16:9

800F8C9C 1333

 

 

Faut faire un glisser/déposer du snapshot sur un des batch.

 

C'est ce que j'ai fait... j'ai du foirer mon snapshot qq part - il est moitié moins gros que celui que t'as posté...

 

 

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.

 

Jferai un tour de temps en temps sur ta liste. ;)

Lien vers le commentaire
Partager sur d’autres sites

Ton exemple concernant MediEvil FR m'a un peu perdu, jpensais que tu me montrais un exemple de décomposition de code 8 en deux codes 3 - mais jcomprenais pas pourquoi les 2 lignes restaient en code 8, ni pourquoi les offsets de 2 adresses n'étaient pas consécutifs... :heu::fou:

Ouais, ma sortie sur la décomposition en deux codes 3 était sans rapport avec l'exemple suivant et a rendu mon exposé un peu confus.

Décomposition du code de MediEvil FR :

D00F8594 1999

300F8594 0033

D00F8594 1933

300F8595 0013

D00F8C9C 1999

300F8C9C 0033

D00F8C9C 1933

300F8C9D 0013

 

 

Explication simple : ton code WS sur ce jeu est différent de celui de l'archive WS d'ElPatas. J'imagine que t'as corrigé ce pb ?

#MediEvil [PAL-France] (SCES-01492)

Comment=Not works in the POPS emu for PS2 and in the PSX, freezes in the loading screen.

----------------------------------------------------------------------------------------

GAMESHARK CODES/ACTION REPLAY CODES

----------------------------------------------------------------------------------------

//Widescreen 16:9

800F8C9C 1333

Y'a deux exécutables dans MediEvil. Le freeze doit être due à l'absence de code D. J'ai pas testé le mien dans une vraie play ni dans POPStarter, mais c'est le même code que le sien, protégé par un code D.

 

 

C'est ce que j'ai fait... j'ai du foirer mon snapshot qq part - il est moitié moins gros que celui que t'as posté...

File/Write Snapshot.

Mon programme vérifie la présence de "NO$PSX SNAPSHOT" dans l'en-tête (offset 0h) du fichier, puis scanne jusqu'à "MRAM" puis charge le contenu 12 octets plus loin sur 2 mégaoctets.

Sinon il vérifie la présence de "PS-X EXE", et lit son en-tête pour savoir comment mapper le contenu.

Sinon il quitte, sans message d'erreur.

C'est un programme que j'utilisais pour des trucs persos, pour toute autre chose que l'anti-dithering. Je l'ai modifié à la barbare et il n'y a pas de message d'erreur d'implémenté.

 

Tu devrais vérifier ça :

Options/Emulation Setup/Files/SNA File Format = Uncompressed

Tes savedstates sont surement compressées et mon programme ne décompresse que dalle. Il prend les fichiers bruts.

 

 

EDIT :

Aussi, mes batchs sont fichus pour n'afficher que des rapports pour E1000200h. Pour certains jeux ça peut être insuffisant.

Par exemple, je viens de faire Gran Turismo 2 PAL. Il a besoin du scan de E1000240h pour enlever le dithering sur les fumées/poussières des roues de bagnoles.

En enlevant les "rem" en face de @echo [ALL] et des deux lignes suivantes, t'auras plus de résultats.

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

Tu devrais vérifier ça :

Options/Emulation Setup/Files/SNA File Format = Uncompressed

Tes savedstates sont surement compressées et mon programme ne décompresse que dalle. Il prend les fichiers bruts.

 

C'était bien ça, merci ! :pouce:

 

EDIT :

Aussi, mes batchs sont fichus pour n'afficher que des rapports pour E1000200h. Pour certains jeux ça peut être insuffisant.

Par exemple, je viens de faire Gran Turismo 2 PAL. Il a besoin du scan de E1000240h pour enlever le dithering sur les fumées/poussières des roues de bagnoles.

En enlevant les "rem" en face de @echo [ALL] et des deux lignes suivantes, t'auras plus de résultats.

 

Ok ! Jvais avoir du temps (vacances), jvais jouer avec ton petit programme... :)

Lien vers le commentaire
Partager sur d’autres sites

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

Bugfix. Les codes "[OLDSCHOOL SHIT]" de type "// A" ne s'affichaient pas avec certains jeux (dont le prototype de MediEvil), à cause d'une instruction jump and link mal calculée:shy2:.

 

EDIT : Quelques infos sur "[OLDSCHOOL SHIT]", vu que le nom de nerd n'est pas vraiment explicite.

C'est une variante du code qu'on utilisait pour foutre l'affichage en PAL/NTSC autrefois, sauf que là c'est sensé désactiver complétement le dithering, sans avoir à réinscrire de nouvelles valeurs E1h.

Dans la grande majorité des cas, il faut rebooter le jeu pour que le code prenne effet. Peu de jeux invoquent cette fonction en cours de jeu.

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

"SUPERLIST" actualisée :

+ "Gran Turismo (JP)"

+ "Gran Turismo (UK)" [PAL MULTI]

+ "Gran Turismo (v1.0 US)"

+ "Gran Turismo (v1.1 US)"

+ "Gran Turismo 2 (UK)" [PAL MULTI]

+ "MediEvil (Regist. Us. Demo 02)" [c'est le prototype inclus dans Registered Users Demo 02]

 

Modification des codes existants pour :

+ "Tekken (v1.0 JP)"

+ "Tekken (v1.1 JP)"

Il leur manquait un code D et un code 3 pour le mini-jeu. Maintenant ils sont complets.

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