Salut Sushy !
Je n'ai pas vraiment de réponse à tes questions, mais voici ma petite pierre à l'édifice.
Concernant le PAL, je n'ai aucune idée si le fichier de MAME peut servir à la programmation d'un PAL neuf. Un PAL, comme l'a rappelé AsPiC, c'est un tableau logique programmable ou
Programmable Array Logique, c'est à dire un ensemble de portes logiques dont on va pouvoir déterminer les interconnections pour obtenir telle ou telle fonction logique. C'est ni plus ni moins que de l'optimisation, c'est à dire que tu pourrais obtenir exactement le même fonctionnement avec un ensemble de portes logiques TTL reliées les unes aux autres.
Tu vois la matrice des interconnexions de chaque ligne et chaque colonne : à chaque intersection se trouve une sorte de fusible. C'est en "grillant" ou non ce fusible que tu vas déterminer le "câblage" interne. De la même façon que les bits d'une PROM à fusible sont déterminés par sa programmation, la programmation du PAL détermine les liens des portes les unes avec les autres. La programmation est unique : une fois qu'un fusible est grillé, tu ne peux pas le restituer pour faire une autre programmation.
Je dirais qu'il y a 2 familles de PAL :
1) ceux ne comportant que des portes simples (NAND, NOR, AND, OR, NON) => cela permettra de définir une
logique combinatoire, c'est à dire que pour une combinaison en entrée, tu obtiendras toujours le même résultat en sortie. Une fonction de logique combinatoire se détermine par sa
table de vérité, qui peut s'obtenir par exemple par un
tableau de Karnaugh.
2) ceux comportant des bascules (bascules JK, bascules D, etc.), la bascule étant une fonction logique élémentaire capable de mémoriser un état (O ou 1) en fonction des états successifs dans le temps qui se seront présentés à ses entrées. On parle alors de
logique séquentielle. Contrairement à la
logique combinatoire, ce n'est plus l'état des entrées qui détermine la sortie, mais
la séquence qui s'y est présentée à l'instant précédent. Typiquement, une bascule D va mémoriser l'état qui était présent sur son entrée au moment du front montant du signal présent sur sa broche d'horloge (CLK).
Pourquoi j'explique tout ça ? Parce que si nous n'avons pas le bon fichier qui a servi à l'origine à programmer le PAL, il n'est pas forcément trivial de connaître sa programmation interne.
Quand le PAL est du type 1 énoncé au dessus, c'est simple, il suffit de lui appliquer toutes les combinaisons possibles en entrée, relever ce qu'on obtient en sortie et on peut alors facilement reconstruire sa table de vérité, et par un tableau de Karnaugh par exemple retrouver la fonction logique programmée.
Quand le PAL est de type 2, c'est beaucoup plus compliqué car une énumération de toutes les combinaisons en entrée ne suffit plus à connaître ce que doit fournir les sorties.
Tout ça pour dire que si on parvenait à mettre une béquille à ton PAL amputé, on ne serait pas plus avancé je pense pour connaître son contenu !... Mais il existe MAME, et les petits gars qui on fait les drivers de ce jeu ont certainement déjà élucidé la logique renfermée dans ce PAL.
Depuis le début je parle de PAL, mais en regardant ton PCB, je vois l'indication 22CV10, et en googlant rapidement, je vois qu'il s'agit d'un PEEL
. Je ne connaissais pas
. Bon si, je connais bien un peu Emma Peel, la copine de Steed, mais c'est pas la même chose !
C'est sans doute comme un PAL, sauf qu'il ne s'agit pas de fusibles ici, et que le PEEL est donc effaçable électriquement pour remettre à zéro les interconnexions et autoriser une nouvelle programmation !
Le PEEL est au PAL ce que l'EEPROM est à la PROM
.
Concrètement, je n'ai jamais programmé de PAL/GAL/PEEL, et je ne sais pas si un programmateur tel que le VP-280 que beaucoup d'entre nous possédons permettrait de programmer ton 22CV10 vierge... Et je ne sais pas non plus à quoi ressemble le fichier de MAME, ni à quoi s'attend comme fichier un programmateur de PEEL...
Sinon, pour tes traces de corrosion, c'est très bien d'avoir enlevé l'accu et le support oxydé. Personnellement, je n'aurais que moyennement confiance dans le simple passage de bombe contact. Une fois l'oxydation en place, elle se propage chimiquement si j'ai bien compris. Le vinaigre (ou la pâte de bicarbonate de sodium) va permettre de neutraliser à peu près l'acide, mais n'enlève pas les traces d'oxydation qui peuvent encore se propager. C'est comme la gangrène, il ne suffit pas de désinfecter, il faut vraiment enlever toutes les chairs en putréfaction pour que cela ne se propage pas
. Comme la déjà fait tefou1050, je ne saurais que te recommander la lecture
du très bon tuto de FredG5, et l'appliquer du mieux possible à ton pcb (je ne suis pas compétent pour te dire jusqu'où doit aller le traitement, ni quelles pistes sont bonnes ou mauvaises... daltonien powa !
).
Enfin, pour le switch ou bouton poussoir dont tu parles, je n'ai aucune idée de ce dont il s'agit, mais je dirais que 1) ça n'a rien de systématique, j'ai des dizaines de PCB qui n'ont pas un tel bouton, et que 2) c'est sûrement pour une fonction de test ou service (RESET, mode test, fonction cachée si le bouton est activé à la mise sous tension, faire le café ?)
Tu n'es pas plus avancé, mais c'est toujours agréable de bavarder non ?
A+