Cette page décrit l'artifice utilisé par les concepteurs du DAI pour faire tenir 24 KiO de ROM dans un seul espace d'adressage de 12 KiO. Elle décrit également les signaux présents sur le connecteur X-BUS et pouvant être utilisés pour substituer d'autres ROMs à celles d'origine.

Schéma des composants mis en oeuvre

Cliquez sur le schéma pour le voir en meilleure qualité et imprimez-le au besoin pour suivre les explications ci-dessous.
Schéma de sélection et switching des ROMS
Tous les composants impliqués dans le mécanisme de sélection/switching des ROMs.

La PROM bleue

Le circuit IC46 74S288 (en bas à gauche sur le schéma) est une PROM TTL organisée en 32 mots de 8 bits. Cette PROM est habituellement affublée d'un point de peinture bleue, d'où son nom.

Après avoir relu son contenu, j'ai établi les 8 équations logiques correspondant aux sorties Q0 à Q7. Pour ce sujet et comme vous le voyez sur le schéma, seules les sorties Q6 et Q7 nous intéressent.

Les équations logiques Q6 et Q7

Pour plus de simplicité je les ai écrites directement en fonctions des signaux branchés sur les entrées A0 à A4 de la 74S288, à savoir les adresses A11 à A15 du bus d'adresses qui est représenté par un gros trait bleu sur le schéma :
Equations logiques PROM bleue
Equations logiques sorties Q6 et Q7 de la PROM bleue


D'après la première équation, Q6 passe au niveau 1 lorsque A15 = 0 OU A14 = 0 OU A13 = 1.
Donc Q6 = 0 lorsque A15 = 1 ET A14 = 1 ET A13 = 0.

Donc Q6 = 0 A chaque fois qu'une adresse présente sur le bus a le format 110x xxxx xxxx xxxx.
La valeur minimale satisfaisant Q6 = 0 est 1100 0000 0000
La valeur maximale satisfaisant Q6 = 0 est 1101 1111 1111
On voit donc que Q6 = 0 lorsqu'une adresse se trouve comprise sans la plage C000 à DFFF.
Ce signal Q6 est appelé NON LP pour "Non Lower PROM". On reconnait donc ici le signal qui va servir à sélectionner la PROM basse qui est "non switchée".

Similairement, Q7 = 0 lorsque A15 = 1 ET A14 = 1 ET A13 = 1 ET A12 = 0.

Donc Q7 = 0 A chaque fois qu'une adresse présente sur le bus a le format 1110 xxxx xxxx xxxx.
On voit donc que Q7 = 0 lorsqu'une adresse se trouve comprise sans la plage E000 à EFFF.
Ce signal Q7 est appelé NON UP pour "Non Upper PROM". On reconnait donc ici le signal qui va servir à sélectionner la PROM haute. C'est le segment réservé à la ROM "switchée" comme on le verra plus loin.

Le signal "Non MR = Non RD X-Bus"

Le "Non-RD" est représenté par le fil vert clair au milieu du schéma. Il est connecté directement à la broche 24 du connecteur X-BUS et il est également directement connecté au signal "Non MR" de la carte mère. Diverses appellations existent pour ce signal, ce qu'il y a à savoir c'est qu'il doit être mis à zéro pour lire la mémoire (RAM ou ROM) et de préférence après la stabilisation des adresses sur le bus du même nom.
Lors de la version REV.6 du DAI, un changement a été opéré sur le connecteur X-BUS, le chemin du signal "Non MR" a été modifié pour pouvoir être interrompu. On voit sur le schéma qu'il ne va pas directement à l'entrée 12 de IC54, mais qu'il passe par les broches 22 et 21 du X-BUS via le truchement d'un jumper (joli). Il y a une page qui explique ces modifications sur ce même site WEB à vous de la trouver !
Ce qu'on ne voit pas sur ce schéma, c'est la résistance de rappel au +5V qui figure entre la broche 21 du X-BUS et le +5V, ceci permet de maintenir un niveau +5V stable sur les broches 12 et 10 de IC54 lorsque le jumper est enlevé.
Lorsque Non MR est à 1 ou lorsque le jumper est oté, voici ce qui se passe :
  • Les entrées 12 et 10 des deux circuits OR de IC54 sont à 1
  • Donc la sortie 8 de IC54 est à 1
  • Donc la broche "Non CE" de IC73 est à 1, donc IC73 est en haute impédance
  • La sortie 11 de IC54 est également à 1, donc les entrées 2 et 5 du de IC54 sont à 1
  • ==> Donc la sortie 3 de IC54 et l'entrée "Non CE" de IC72 sont à 1 et donc IC72 est en haute impédance
  • ==> Donc la sortie 6 de IC54 et l'entrée "Non CE" de IC71 sont à 1 et donc IC71 est en haute impédance
Vous voyez donc qu'un niveau 1 sur "Non MR" ou la suppression du cavalier (DAI >= REV.6) ont pour effet de mettre les ROMs en haute impédance.

Mécanisme de sélection de la PROM basse C000-DFFF = IC73

Le fil rose aboutissant à la broche 20 ("Non CE") de IC73 doit être au niveau 0 pour que IC73 soit sélectionné. Il faut donc que les deux entrées 9 et 10 du circuit OR de IC54 soient mises au niveau 0, ceci sera réalisé quand "Non MR" sera à zéro et quand "Non LP" sera à Zéro. Et On a vu que "Non LP" était à zéro lorsqu'une adresse comprise entre C000 et DFFF était présentée sur le BUS.

Conditions de sélection de la ROM IC73 : "Non MR" = 0 et "Non LP" = 0
C'est équivalent à dire : conditions de sélection de la ROM IC73 : "Non MR" = 0 et adresses comprises dans la plage C000 à DFFF

Mécanisme de sélection de la partie ROM switchée E000-EFFF = IC72 ET IC71

Sélection de la ROM IC71

Le fil marron aboutissant à la broche 20 ("Non CE") de IC71 doit être au niveau 0 pour que IC71 soit sélectionné. Il faut donc que les entrées 4 et 5 du circuit OR de IC54 soient mises au niveau 0.
==>Il faut donc que la sortie 8Q correspondant au bit 7 du port FD06 soit au niveau 0.
==>ET il faut que la sortie 11 de IC54 soit au niveau 0, ce qui arrive lorsque les entrées 12 et 13 de IC54 sont au niveau zéro, c'est à dire lorsque "Non UP" est au niveau 0 et lorsque "Non MR" est au niveau 0.

Conditions de sélection de la ROM IC71 : "Non MR" = 0 ET "bit 7 port FD06" = 0 ET "Non UP" = 0
C'est équivalent à dire : conditions de sélection de la ROM IC71 : "Non MR" = 0 ET "bit 7 port FD06" = 0 ET adresses comprises dans la plage E000 à EFFF

Sélection de la ROM IC72

Le fil violet aboutissant à la broche 20 ("Non CE") de IC72 doit être au niveau 0 pour que IC72 soit sélectionné. Il faut donc que les entrées 1 et 2 du circuit OR de IC54 soient mises au niveau 0.
==>Il faut donc que la sortie 8Q correspondant au bit 7 du port FD06 soit au niveau 1 puisque ce bit est inversé par le circuit "NOT" IC53 avant d'aboutir sur l'entrée 1 de IC54.
==>ET comme précédemment il faut que la sortie 11 de IC54 soit au niveau 0, ce qui arrive lorsque les entrées 12 et 13 de IC54 sont au niveau zéro, c'est à dire lorsque "Non UP" ET "Non MR" sont au niveau 0.

Conditions de sélection de la ROM IC72 : "Non MR" = 0 ET "bit 7 port FD06" = 1 ET "Non UP" = 0
C'est équivalent à dire : conditions de sélection de la ROM IC72 : "Non MR" = 0 ET "bit 7 port FD06" = 1 ET adresses comprises dans la plage E000 à EFFF

Sélection d'une des 4 plages d'adresse E000 à EFFF

La plage d'adresse E000 à EFFF qui permet de sélectionner soit IC71 soit IC72 en fonction du bit 7 du port FD06, ne fait que 2KiO alors que chaque ROM a une capacité de 4 KiO.
Lorsque l'une des ROM est sélectionnée, on utilise alors la broche 21 = broche nommé A12 sur chacune de ces ROM pour la diviser en 2 parties. Lorsque cette broche est positionnée au niveau 0, ce sont les 2 KiO de la partie basse de la ROM qui sont sélectionnés.
Lorsque cette broche est à positionné au niveau 1, ce sont les 2 KiO de la partie haute de la ROM qui sont sélectionnés.
Le positionnement à 0 ou 1 est réalisé par la connexion du bit 6 du port FD06 constitué par le latch 74LS373 (IC32). Ce bit est appelé pseudo A12 car on voit bien sur le schéma qu'il ne s'agit aucunement de l'adresse A12 du bus d'adresse, il s'agit juste d'un bit servant à "couper" chacune des deux ROMs en deux parties égales.

Résumé du mécanisme de sélection et switching des ROMs

Résumé sélection des ROMs switchées
Résumé.

Les signaux relayés sur le connecteur X-BUS

Est-il la peine d'en dire plus ? Le schéma montre sur la droite que :
  • la broche 41 du connecteur X-BUS correspond à la broche 20 de sélection de la ROM IC73 (Non CS1) ;
  • la broche 42 du connecteur X-BUS correspond à la broche 20 de sélection de la ROM IC72 (Non CS2) ;
  • la broche 44 du connecteur X-BUS correspond à la broche 20 de sélection de la ROM IC71 (Non CS3) ;
  • la broche 43 du connecteur X-BUS correspond au signal Pseudo A12 permettant de choisir la moitié de ROM ad'hoc.

Et sur la gauche du schéma :
  • la broche 24 du connecteur X-BUS correspond au signal "Non MR".
Avec ces informations et le tableau précédant vous avez tout ce qu'il faut pour créer vos propres ROMs sur une carte connectée au X-BUS. Vous n'avez pas besoin du bit 7 du port FD06 puisque vous avez directement accès aux signaux de sélection des ROMs IC71 et IC72 (cf la description ci-dessus.)
En revanche vous avez besoin du bit 6 du port FD06 et vous l'avez sur le connecteur X-BUS : c'est "PSEUDO A12".

Enfin vous aurez compris que les bits 6 et 7 du port FD06 sont positionnés par un mécanisme logiciel et notamment via les instructions RST 1, RST 2 et RST 3 Cf manuel du DAI.

Copyright 2004-2023 © Bruno VIVIEN tous droits réservés.