Salut,
Pour en revenir à ton problème de ROM dont une broche est cassée, je vous propose une petite étude du plan mémoire (mapping) du PCB de Galaxian
![joyeux :)](http://www.gamoover.net/Forums/Smileys/guntar/joyeux.gif)
. Mais je n'ai pas de PCB sous la main, cela restera donc théorique, et devra être confirmé par ceux qui connaissent bien ce PCB
![joyeux :)](http://www.gamoover.net/Forums/Smileys/guntar/joyeux.gif)
(qui a dit F4brice par exemple?
![Wink ;)](http://www.gamoover.net/Forums/Smileys/guntar/wink.gif)
).
On va partir du schéma de principe qu'on trouve dans le "Parts and Operating Manual", et s'attarder tout d'abord sur cette partie :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121002001136-Little_Rabbit-Galaxian-dy-codage-adresses.png)
(cliquez dessus pour la voir en grand)
Cette partie réalise le décodage d'adresses principal.
Un Z80 peut adresser 64 ko à l'aide de ses 16 bits d'adresse (A0 à A15), soit 65536 cases mémoire distinctes. Comme dans tout adressage binaire, c'est la combinaison de l'ensemble des bits qui fixe le zone mémoire adressée. La valeur des bits de poids forts (A15, A14, etc. ) détermine quelle "tranche" de l'espace mémoire on va adresser.
On peut résumer cela par ce diagramme 1 :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121001231426-Little_Rabbit-Mapping-64ko.png)
On voit donc que lorsque A15 et A14 sont à 00, on adresse les 16 premiers kilo-octets (la zone bleu ciel), quand ils valent 01, on adresse les 16 k suivants (la zone jaune), etc.
Si on regarde le schéma ci-dessus, on voit que A15 et A14 sont décodés par le 74139 placé en 8E (celui du haut, les broches 1 2 3 4 et 5). Le concepteur de la carte ne s'intéresse qu'au 2 premières combinaisons que peuvent prendre A15 et A14 car on voit que Y2 et Y3 ne sont pas câblées. Autrement dit le PCB de Galaxian ne peut adresser que 32 ko
![joyeux :)](http://www.gamoover.net/Forums/Smileys/guntar/joyeux.gif)
dans le plan mémoire.
Quand A15 et A14 sont tous les deux à 0, c'est donc Y0 qui sera actif (notez le rond qui indique que cette sortie est active au niveau bas) => on adresse la zone bleu ciel.
Ce premier décodage est ensuite affiné par l'autre moitié du 74139 (toujours le boîtier 8E, mais les broches 11 12 13 14 et 15, un peu plus bas à droite sur le schéma). Ici ce sont les combinaisons avec le bit A13 qui sont observées. Le décodage précédent est injecté en bit de poids fort. Là encore on ignore les combinaisons binaires 10 et 11 puisque Y2 et Y3 ne sont pas câblées. Logique puisque l'on veut affiner le décodage de la zone bleu ciel, c'est dire quand Y0 du premier décodeur est à 0
![joyeux :)](http://www.gamoover.net/Forums/Smileys/guntar/joyeux.gif)
. Vous suivez toujours ?
![Cheesy :D](http://www.gamoover.net/Forums/Smileys/guntar/cheesy.gif)
Le second décodeur du 74139 va donc nous permettre de couper la zone bleu ciel en 2 : les 8k du bas et 8k du haut ($0000 à $1FFF, et $2000 à $3FFF), selon que A13 est à 0 ou à 1. Pour la combinaison 00, ce sera donc Y0 qui sera actif, pour la combinaison 01, ce sera Y1. On voit que Y0 est relié à la broche CE (Chip Enable) des ROMS en 7H et 7K, Y1 quant à lui active 7L.
J'ai d'abord trouvé curieux que Y0 active simultanément 7H et 7K. Mais en regardant l'indication des composants pour ces emplacements, on voit que le premier peut recevoir une ROM 2364 ou 2332, et le second une ROM 2332.
Vous trouverez sur
cette page un intéressant tableau récapitulatif des brochages des ROMs qui nous intéressent. On remarquera notamment que la broche 21 correspond au bit A12 dans le cas de la 2364, et au CE2 (Chip Enable 2) pour la 2332. Tout s'éclaircit
![joyeux :)](http://www.gamoover.net/Forums/Smileys/guntar/joyeux.gif)
.
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121002093308-Little_Rabbit-2364-s.png)
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121002093325-Little_Rabbit-2332-s.png)
Le concepteur de la carte l'a simplement prévue pour qu'elle puisse être équipée de circuits mémoire de différentes capacités : soit 1 x 2364, soit 2 x 2332 (le bit A12 active alors l'un ou l'autre des boîtiers par son CE2).
Et comme on a pu le voir sur les photos, il existe aussi la possibilité d'avoir une carte fille, qui vient s'enficher sur les emplacements des ROMs détaillées ci-avant.
Voici le schéma de cette carte fille, substitution aux 2 possibilités déjà évoquées :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121001234946-Little_Rabbit-MemoryLogiscSchematic.png)
Ici le décodage est confié au 74LS142. Il va scinder l'espace mémoire correspondant au chip select de 7F en 4 zones de 2ko, dans l'optique d'utiliser des EPROM 2716 (peut-être parce que ces mémoires étaient plus courantes et moins honéreuses à l'époque !).
On peut résumer toutes les populations mémoire possibles par ce tableau :
![](http://gamoovernet.pixhotel.fr/pics_gamoovernet690px/20121001235521-Little_Rabbit-Mapping-Galaxian.png)
En fait j'en suis arrivé à faire cette petite étude car j'étais intrigué par l'explication de f4brice : qu'il puisse y avoir des cartes filles à 4 ou 5 composants mémoire. Compte tenu du découpage exposé ci-avant, j'en déduis que c'est tout à fait possible. Toutefois, avec une carte fille à 4 composants, j'aurais tendance à penser qu'elle ne s'enfiche que sur 7F, et que 7L est peuplé sur le PCB principal : est-ce bien le cas ?
Une fois qu'on aura la réponse à cette question, on pourra sans équivoque te conseiller sur la programmation de ta ROM 3 à la patte coupée
![Cheesy :D](http://www.gamoover.net/Forums/Smileys/guntar/cheesy.gif)
.
Si j'ai dit des bêtises au dessus, qu'on me corrige
![Wink ;)](http://www.gamoover.net/Forums/Smileys/guntar/wink.gif)
.
A+