Salut,
je fait la même chose avec le cpu?
Non, malheureusement tu ne peux pas faire de même avec les ROM contenant le code exécuté par le CPU ! Autant mettre des graph corrompus n'a pour conséquence que d'afficher des caractères ou sprites erronés (en partant de l'hypothèse où les data sont en 'raw', c'est à dire ni compressées, ni encodées dans un format structuré), autant il suffit que tu changes un octets d'une ROM contenant du code exécutable, et cela fera planté complètement ton PCB (certes pas n'importe quel octet ni à n'importe quel endroit, mais ça a de fortes probabilités de planter).
Il y a des chances que tes ROM CPU contiennent à la fois du code exécutable, et des data qui peuvent être diverses et variées (cela peut notamment être des maps de collision, d'où viendrait ton problème) ! Si tu changes des octets dans le code exécutable, ça conduit sûrement à un plantage complet, si tu changes un octets dans les data, cela n'affectera que la partie du jeu qui utilise ces data.
Le problème est de localiser dans un dump d'eprom ce qui est code exécutable et ce qui est data... Pas simple. Si tu regardes avec un éditeur hexadécimal le contenu d'une ROM CPU, tu verras pour les partie contenant le code exécutable une série de caractères informe. Si tu regardes une partie avec des data, il se dégage parfois des sortes de patterns (motif répété ou séquence, etc.) qui laissent imaginer qu'il ne s'agit plus de code exécutable.
Mais autant chercher une aiguille dans une botte de foin ! En désassemblant la ROM CPU, on y verrait plus clair mais c'est un travail de titan qui réclame une bonne connaissance du langage assembleur du micro-processeur équipant ton PCB, et une bonne connaissance de l'architecture électronique du PCB (notamment connaître précisément son mapping mémoire - et mapping des E/S si il y en a un distinct).
Pour faire simple, je privilégierais la solution de dumper les ROMS de ton PCB pour les comparer à celle de MAME, cela me semble beaucoup plus simple !
A+