Aller au contenu

PS1 dithering OFF codes


ShaoliAss

Messages recommandés

J'ai trappé tout ce que j'ai pu sur MGS FR, sans succès.

 

[E1000200]

80018024 0000

8001802C 0000

80018060 0000

80018068 0000

80018110 0000

80018118 0000

8001814C 0000

80018154 0000

80092534 0000

80092954 0000

80092A14 0000

80093EF0 0000

 

[E1000220]

800765B4 0000

80079D5C 0000

800D9580 0000

800DF98C 0000

 

[E1000240]

80079E10 0000

800E083C 0000

 

[E1000320]

800419E8 0000

80041C48 0000

 

[E1000324]

80041A04 0000

80041C50 0000

80041C6C 0000

 

[E1000328]

80041C74 0000

 

[E1000400]

800378A8 0000

 

[E1000600]

80017C24 0000

8002B6B0 0000

80093F00 0000

 

[E1000620]

80037DC4 0000

 

[E1000640]

80038020 0000

 

[E1001000]

8009396C 0000

 

:(

Lien vers le commentaire
Partager sur d’autres sites

[E1000200]

80018024 0000

8001802C 0000

80018060 0000

80018068 0000

80018110 0000

80018118 0000

8001814C 0000

80018154 0000

80092534 0000

80092954 0000

80092A14 0000

80093EF0 0000

 

Euh... j'avais trouvé que 3 adresses avec E1000200 :heu:

 

[E1000220]

800765B4 0000

80079D5C 0000

800D9580 0000

800DF98C 0000

 

Ce truc me dit qq chose...

T'as tenté 800765B4 0020 ?

 

J'ai vu qq chose de similaire dans les codes de chris.

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

Par curiosité, t'ajoutes quoi à Cheat Engine Compilation ?

- Mise à jour de la liste de codes widescreen Avril 2017 -> Actuelle = fait

- Nettoyage des doublons / correction des erreurs dans les deux listes de codes = fait

- Ajout des softs = fait, et à revérifier. Je n'ai ajouté que Cheats 'N Codes (USA). Peut être qu'il y en a d'autres à foutre dans la compil'.

- Ajout des ROMs sur X-Flash = fait, je n'avais que le Game Booser Jap à ajouter.

- Ajout des codes dithering OFF = en suspend.

- Correctif/contournement des STR = pas fait. Peut être que j'essaierais...

Lien vers le commentaire
Partager sur d’autres sites

Ça donnerait quelque chose sur ton MGS FR ça ?

D00178B0 0000

800178B0 3050

D00178B2 0000

800178B2 A420

D00178C8 0000

800178C8 3090

D00178CA 0000

800178CA A420

 

Wow, parfait ! :pouce: Y a juste les séquences avec le codec (touche select) où là apparemment le dithering est tjs là (si c'en est).

 

Jcomprends en revanche rien à comment tu as fait ce code (ni ce que signifie ce D devant certaines lignes).

 

 

- Correctif/contournement des STR = pas fait. Peut être que j'essaierais...

 

STR... c'est quoi, ca ?

Lien vers le commentaire
Partager sur d’autres sites

Y a juste les séquences avec le codec (touche select) où là apparemment le dithering est tjs là (si c'en est).

Ouais. J'ai essayé de patcher ça. Malheureusement ça fait glitcher les éléments du codec et ça ne ressemble à rien.

 

Jcomprends en revanche rien à comment tu as fait ce code

J'ai désassemblé un dump de RAM et injecté 2 bouts d'asm dans une fonction.

 

 

(ni ce que signifie ce D devant certaines lignes).

Code D = conditionnel. Le code en dessous du code D n'est appliqué que si la condition du code D est remplie.

MGS a deux exécutables. Les codes D sont là pour sécuriser l'exécutable qui ne doit pas être patché. On appelle ça une joker command, quand la condition du code D est une pression sur un bouton. Dans le cas de mes codes D pour MGS, c'est plutôt un genre de $SAFEMODE, mais qui a pour but de protéger le premier exécutable du jeu, là où le $SAFEMODE de POPStarter ne protège que contre la corruption de l'OSD (exécutable du BIOS qui affiche le logo PS) et agit en mastercode (sur tous les codes activés).

Autres exemples de code D avec MediEvil FR, qui lui aussi a deux exécutables :

Principal
D009D420 0200
3009D421 0000
Barre d'énergie
D0077BC8 0220
30077BC8 0000
Menus
D0078E64 0220
30078E64 0060

Traduction :

Code 1 : Si la valeur à 0009D420h est 0200h, écrire 00h à 0009D421h

Code 2 : Si la valeur à 00077BC8h est 0220h, écrire 00h à 00077BC8h

Code 3 : Si la valeur à 00078E64h est 0220h, écrire 60h à 00078E64h

 

 

STR... c'est quoi, ca ?

FMVs. Les vidéos de publicité ou d'intro lues au début de certains Action Replay/GameShark. Même si le Cheat Engine Compilation est authoré proprement, les vidéos ne ressemblent qu'à une bouillie de pixels quelconques. Je soupçonne ces ARs de lire les vidéos depuis un LBA spécifique. Le mieux serait de patcher les EXEs pour contourner la lecture, et virer les fichiers du disque pour économiser une place non négligeable.

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

Ok, merci pour tes explications et pour ces 2 codes. J'imagine qu'on doit pouvoir utiliser ces codes conditionnels pour solutionner ce problème.

 

Bon, question con, vu que j'ai retenté un dump de MGS FR avec no$psx et que j'ai bcp moins d'adresses intéressantes que celles que t'as mentionnées pour E1000200.

Pour dumper, je fais sous no$psx : Utility > Disassemble to File > Number of bytes to disassemble : 210000 (pour choper de $80000000 à $801FFFFF). Tu fais autrement ?

Lien vers le commentaire
Partager sur d’autres sites

C'est ps2dis qui a sorti toutes ces adresses supplémentaires après l'analyse. Il a cherché toutes les instances de .word 0xe1000200 dans la mémoire, puis a trouvé les opcodes qui pointent directement vers ces offsets. Et par conséquent, écrire la valeur 0x0000 dessus comme dans mon template 80xxxxxx 0000 causera des bugs et autres corruptions, vu que ça changera l'offset le lecture/écriture plutôt que de changer la valeur à écrire sur l'offset.

En gros, les adresses que j'ai listé ne sont utiles que si on a le désassembleur sous les yeux pour voir l'opcode qui s'y trouve.

Dans le cas de MGS, les offsets (buffers) qui contiennent les valeurs 0xE1000200 sont dans un array, donc on n'obtient pas les pointeurs directs vers 000B3050h et 000B3090h à partir d'une simple analyse. Pour faire simple, toutes les adresses de ma liste que j'ai exporté une à une m'ont été inutiles.

 

Sans quoi ouais, ce truc qui me servait dans le bidouillage de POPStarter et que j'ai un peu modifié cette nuit pour le fun ne me trouve que 2 chargements direct de E1000200h dans les registers (80092534 & 80093EF0), en zappant toute l'arithmétique et les conditions. Pas revérifié avec ps2dis.

Lien vers le commentaire
Partager sur d’autres sites

Ok merci - j'avoue que j'ai pas tout compris...

 

C'est pas portable d'une version à l'autre un hack ASM ?

 

800178A8 A423CF56 movh [r1-30AAh],r3

800178AC 94820006 movh r2,[r4+6h]

*800178B0 00000000 nop

800178B4 00431021 add r2,r3

800178B8 2442FFFF sub r2,1h

800178BC 3C01800B mov r1,800B0000h

800178C0 A422CF5A movh [r1-30A6h],r2

800178C4 03E00008 ret

*

*

800178CC 27BDFFC8 sub sp,38h

 

 

8001760C A423C9C6 movh [r1-363Ah],r3

80017610 94820006 movh r2,[r4+6h]

*80017614 00000000 nop

80017618 00431021 add r2,r3

8001761C 2442FFFF sub r2,1h

80017620 3C01800B mov r1,800B0000h

80017624 A422C9CA movh [r1-3636h],r2

80017628 03E00008 ret

*

*

80017630 27BDFFC8 sub sp,38h

 

 

* : repère pour moi pour retrouver tes adresses du code PAL-FR et leurs équivalents PAL-UK.

 

Ce qui me donne :

 

$D0017614 0000

$80017614 3050

 

$D0017616 0000

$80017616 A420

 

$D001762A 0000

$8001762A 3090

 

$D001762C 0000

$8001762C A420

 

Mais ca ne fonctionne pas...

 

*

 

(Avira se met à détecter CUE2POPS comme une menace, c'est gonflant...)

 

*

 

Ok, je vois que tout n'est pas identique, me suis sans doute planté là.... (A423CF56 movh [r1-30AAh],r3 pour MGS-FR, A423C9C6 movh [r1-363Ah],r3 pour MGS-UK).

Modifié par ShaoliAss
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...