|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
Apocalypse
Inscrit le: 22 Juin 2006 Messages: 1303 Localisation: Grenoble
|
Posté le: Mer Juin 08, 2016 11:22 pm Sujet du message: [HORS SEGA] 1943 - Capcom 1987 - repair log |
|
|
Une réparation récente, un pcb original du jeu 1943 version japonaise.
La première chose que j'ai remarquée est que le connecteur JAMMA était brulé au niveau des connections pour le +5V. Ce n'est généralement pas bon signe.
J'ai donc cherché tout composant ou piste cramé sans succès. Pas de condensateur explosé non plus. Est donc venu le temps de la mise sous tension : rien à l'écran.
Une chose que je fais toujours dans ce cas est de vérifier si une des puces devient anormalement chaude et j'ai trouvé un gagnant ! Le Z80 pour l'audio était extrêmement chaud. Je l'ai donc remplacé mais cela n'a rien changé...
Je suis donc passé au contrôle des lignes d'adresse et de donnée du Z80 principal avec une sonde logique et en faisant cela la musique s'est lancée. J'ai remplacé la work RAM et le jeu a démarré mais avec des mauvaises couleurs pour les textes :
J'ai trouvé 2 273 HS en positions 5E et 5F. Une fois remplacés j'ai pu jouer sans problème... Pour 30mn.
Ensuite le jeu s'est mis à redémarrer sans cesse toutes les secondes, indiquant que la puce de sécurité (i8751) est morte. Malheureusement cette puce est protégée en lecture et n'a jamais été dumpée. J'ai donc regardé dans les sources du MAME afin de voir comment ils avaient géré cela et j'ai découvert que la protection était extrêmement simple :
MAME a écrit: |
46 READ8_MEMBER(_1943_state::c1943_protection_r)
47 {
48 // The game crashes (through a jump to 0x8000) if the return value is not what it expects..
|
Avec un editeur hexa j'ai donc recherché la chaîne "C3 00 80" (JP 0x8000) dans les ROM du programme et ai trouvé 3 occurrences. Le jeu compare simplement 2 registres (l'un venant de la puce de sécurité), s'ils sont égaux le jeu fait un saut relatif de 0x11 adresses en aval sinon il fait un saut absolu en adresse 0x8000 (reset ?).
J'ai remplacé l'instruction cp b (les données provenant de la puce de sécurité étant stockées dans le registre b) par cp a (les données calculées par le Z80 étant stockées dans le registre a). Cela correspond en hexadecimal à remplacer 0xB8 par 0xBF. Le jeu patché (seuleument 3 octets à modifier) compare maintenant le registre a avec lui même donc le résultat est toujours égal. J'ai programmé le code patché dans une EPROM 27C256 et ai joué au jeu jusqu'au bout pour être sûr que tout était bon. Avec ce patch la puce de sécurité peut être complètement retirée.
[Note]La même méthode doit pouvoir être appliquée pour d'autres jeux basés sur le hardware Capcom Commando[/Note]
Le lendemain j'ai rejoué pendant 15mn et les nuages dans le fond sont devenus gris... Cette fois j'ai remplacé le 273 en position 13B. J'ai laissé le jeu tourner quelques heures sans nouveau problème.
Enfin ! _________________ http://arcadefixer.blogspot.co.nz/ |
|
Revenir en haut |
|
|
iGREKKESS Webmaster
Inscrit le: 04 Jan 2003 Messages: 7848 Localisation: Etampes
|
Posté le: Jeu Juin 09, 2016 7:07 pm Sujet du message: |
|
|
Franchement bien joué, ça en fait des corrections ! _________________ Die Hard SEGA Fan ~1951-2001~, yippee-ki-yay ! - iGREKKESS' Blog (グレッケッス★アドベンチャー) |
|
Revenir en haut |
|
|
Apocalypse
Inscrit le: 22 Juin 2006 Messages: 1303 Localisation: Grenoble
|
Posté le: Jeu Juin 09, 2016 8:37 pm Sujet du message: |
|
|
iGREKKESS a écrit: | Franchement bien joué, ça en fait des corrections ! |
Merci. Mais j'ai déjà connu bien pire.
Quand je vois que certains nettoient juste les connecteurs ou ré-enfoncent les EPROMS pour que ça reparte...
Ca vient peut-être de moi, j'ai un peu la scoumoune
Je n'ai encore pas eu une réparation "facile" (genre juste un composant grillé) pourtant ça commence à faire un moment que je fais cela et j'en ai vu passer des cartes ! _________________ http://arcadefixer.blogspot.co.nz/ |
|
Revenir en haut |
|
|
Gakman
Inscrit le: 05 Mar 2005 Messages: 1540 Localisation: Nancy
|
Posté le: Jeu Juin 09, 2016 10:05 pm Sujet du message: |
|
|
C'est bien parti, on attend les autres ! |
|
Revenir en haut |
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|