Metagames

Metagames (https://www.metagames-eu.com/forums/)
-   Playstation (https://www.metagames-eu.com/forums/playstation/)
-   -   PS1 dithering OFF codes (https://www.metagames-eu.com/forums/playstation/ps1-dithering-off-codes-135746.html)

krHACKen 05/02/2018 09h59

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

:(

ShaoliAss 05/02/2018 10h23

Citation:

[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:

Citation:

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

krHACKen 05/02/2018 11h43

Ç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

ShaoliAss 05/02/2018 13h44

Jteste ça en rentrant.

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

krHACKen 05/02/2018 13h52

Citation:

Envoyé par ShaoliAss (Message 1776732)
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...

ShaoliAss 05/02/2018 18h39

Citation:

Envoyé par krHACKen (Message 1776731)
Ç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).


Citation:

Envoyé par krHACKen (Message 1776733)
- Correctif/contournement des STR = pas fait. Peut être que j'essaierais...

STR... c'est quoi, ca ?

krHACKen 06/02/2018 05h51

Citation:

Envoyé par ShaoliAss (Message 1776737)
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.

Citation:

Envoyé par ShaoliAss (Message 1776737)
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.


Citation:

Envoyé par ShaoliAss (Message 1776737)
(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 :
Code:

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


Citation:

Envoyé par ShaoliAss (Message 1776737)
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.

ShaoliAss 06/02/2018 09h11

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 ?

krHACKen 06/02/2018 11h27

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.

ShaoliAss 06/02/2018 11h42

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

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

Citation:

Envoyé par MGS-FR
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


Citation:

Envoyé par MGS-UK
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 :

Citation:

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


Fuseau horaire GMT +1. Il est actuellement 17h52.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.

Integrated by BBpixel ©2004-2022, jvbPlugin

Version française #23 par l'association vBulletin francophone
© 2003-2018 MetaGames. Tous droits réservés.