Micro Systèmes n°93 janvier 1989
Micro Systèmes n°93 janvier 1989
  • Prix facial : 30 F

  • Parution : n°93 de janvier 1989

  • Périodicité : mensuel

  • Editeur : Société Parisienne d'Edition

  • Format : (203 x 271) mm

  • Nombre de pages : 182

  • Taille du fichier PDF : 160 Mo

  • Dans ce numéro : systèmes experts et psychologie cognitive.

  • Prix de vente (PDF) : gratuit

Dans ce numéro...
< Pages précédentes
Pages : 100 - 101  |  Aller à la page   OK
Pages suivantes >
100 101
Ces 2 bits servent aux programmes d'auto-test des signaux couleurs. On les lit après avoir modifié les bits 4 et 5 du registre du contrôleur d'attribut, nommés Color Plane Enable. On a la correspondance suivante : Color Plane Input Status 1 bit 5 bit 4 bit5 bit4 0 0 R B 0 1 b V 1 0 r avec : R, V, B : rouge, vert, bleu. et : r, v, b : rouge, vert, bleu secondaires. Les registres externes sont utilisés lors du reset de la machine et à chaque changement de mode vidéo. Une des premières tâches de l'initialisation est de lire la valeur des switches de la carte EGA et de sauvegarder la configuration dans la variable 0000 : 0488 aux bits 0 à 3. Cette lecture s'effectue en inhibant la mémoire vive et se fait en quatre étapes pour lire chaque switch. Voici les instructions qui permettent de lire le switch n°3 : MOV AL, 05 : On inhibe la RAM et on choisit MOV DX, 3C2h : le switch 3 et les ports 3D ? OUT DX, AL : avec 05=00000101b JMP DELAY : délai DELAY IN AL, DX : on lit le registre qui contient la valeur du switch AND AL, 10h : on ne conserve que bit de switch concerné La valeur lue subit ensuite plusieurs rotations pour être envoyée sur le bit correspondant de la variable 0000 : 0488. Cette lecture est faite pour les quatre valeurs possibles des bits 2 et 3 du registre Miscellaneous Output. Un petit délai est nécessaire entre un OUT et un IN pour que la valeur écrite puisse être correctement interprétée. Le BIOS d'IBM utilise un PUSH Registre suivi d'un POP Registre et d'autres cartes, un JMP. Aucune information n'est donnée sur la durée de ce délai. Le BIOS teste ensuite le connecteur d'extension toujours avec ces registres externes et sauve en 0000 : 0488 (bits 4 à 7) l'état du connecteur. Le mode vidéo initial est alors déterminé à partir de la variable 0000 : 0488. L'initialisation d'un mode vidéo s'effectue selon la séquence suivante : - inhibition de l'affichage ; - reprogrammation du CRTC ; - reprogrammation de différents registres ; - initialisation de la RAM vidéo ; - activation de l'affichage. Les registres du séquenceur sont accessibles en écrivant le numéro du registre auquel on veut accéder (indice) dans le registre d'adresse du séquenceur. Sequencer Address Register : port 3C4, écriture. b0 à b3 : adressage du séquenceur Ils contiennent l'indice du registre auquel on veut accéder. Reset Register : indice 00, port 3C5, écriture. b0 : reset asynchrone. Un 0 commande une réinitialisation asynchrone du séquenceur en plaçant toutes les sorties en haute impédance. Le contenu de la RAM peut être perdu. bl : reset synchrone. Idem avec une réinitialisation synchrone. Le contenu de la mémoire est préservé. Il est utilisé pour modifier le registre Clocking Mode en conservant le contenu de la RAM vidéo. Ces 2 bits doivent être à 1 pour que le séquenceur fonctionne. Clocking Mode Register : indice 01, port 3C5, écriture. b0 : largeur des caractères. Pour les caractères de largeur 8, ce bit doit être fixé à 1 et à 0 pour une largeur de 9. bl : largeur de bande. En faible résolution, il y a moins de données à rafraîchir. Ce bit à 1 fixe à 2/5 le nombre de cycles de rafraîchissement et à 4/5 pour la valeur 0. b2 : Bit de glissement Quand ce bit est à 0, les registres de décalage vidéo sont rechargés à chaque impulsion d'horloge, sinon seulement toutes les impulsions paires (utile pour les colonnes de caractères sur 16 bits). b3 : fréquence d'horloge de l'affichage. Si ce bit est à 0, la fréquence de l'affichage est la même que celle de l'horloge principale, sinon elle est divisée par 2 (mode 0, 1, 4 et 5). Map Mask Register : indice 02, port 3C5, écriture. b0 : autorisation d'écriture sur le plan 0. bl : autorisation d'écriture sur le plan 1. b2 : autorisation d'écriture sur le plan 2. b3 : autorisation d'écriture sur le plan 3. Ces bits sont utilisés pour écrire 32 bits à la fois lors, par exemple, des scrolling d'écran. Ils sont aussi utilisés pour protéger le Bit Plan 2 qui contient les formes des caractères. Pour le mode chaîné, les bits 0 et 1, ainsi que les bits 2 et 3, doivent être identiques. Character Map Select : indice 03, port 3C5, écriture. Ce registre est utilisé par de nombreux traitements de texte pour disposer de plusieurs polices de caractères. La sélection d'une police se fait avec le bit 3 de l'attribut d'un caractère. able de caractères en fonction du bit 3 0 0 0 0 0 0 1 2 3 2012 1 2 2 2 3 3 0 3 1 3 2 3 3 Une réinitialisation asynchrone annule ce registre Memory Mode Register : indice 04, port 3C5, écriture. b0 : Alpha bit. Ce bit est à 0 pour les modes graphiques et à 1 pour les modes alphanumériques. bl : mémoire étendue. La valeur 1 indique que l'extension de RAM 256 Ko est installée. b2 : bit de chaînage. Quand ce bit est à 1, il sélectionne le mode chaîné : les adresses paires du CPU accèdent aux Bits Plan 0 et 2, et les adresses impaires aux Bits Plan 1 et 3. Les registres du contrôleur sont accessibles en écrivant l'indice du registre auquel on veut accéder dans le registre CRT Controller Address. CRT Controller Address Register : port 3B4/3D4, écriture. b0 à b4 : adressage du contrôleur de CRT. Ce registre contient l'indice du registre auquel on veut accéder. Horizontal Total Register : indice 0, port 3B5/3D5, écriture. Ce registre indique l'intervalle de balayage horizontal en nombre de caractères (moins 2). Horizontal Display Enable End Register : indice 1, 3B5/3D5, écriture. Ce registre correspond au nombre de caractères moins 1, affichés par ligne horizontale. Start Horizontal Blanking Register : indice 2, port 3B5/3D5, écriture. Le signal d'effacement horizontal passe au niveau haut lorsque le comptage des carac- 1 0 1 2 3 tères horizontaux est égal a cette valeur. End Horizontal Blanking Register : indice 3, port 3B5/3D5, écriture. b0 à b4 : fin du signal d'effacement. Lorsque les 5 bits de poids faible du compteur de caractères horizontaux passent à 0, le signal d'effacement horizontal devient inactif. b6, b5 : décalage. Ceux-ci représentent en nombre de caractères la valeur de décalage d'activation de l'affichage. Ce décalage est nécessaire pour que le CRT puisse accéder au caractère à afficher, à son attribut et à son pattern. Les valeurs utilisées par les différents modes sont 2 et 3. 100 - MICRO-SYSTEMES Janvier 1989
NT/PROGRAMME DE MODIFICATION DE LA PALETTE STANDARD Pour exécuter (masmflink,exe2bin) >setpal [n'palette] [code...leur] code segment assume cs ; code,ds.code org 100h deo. mov si,Sdh mov axAsil oall convert mov bl,a1 mov si,6dh mov ax,(si) call convert mov bh,a1 Pue, bx setpalet ; mov 0x,3080 in el,dx Pop ax mov 01,0000 out dx,a1 xchg 81,80 180.10 : out 00,81 jmp labell labell ; mov 81,200 out dx,01 int 20h convert proc near sub 81,300 cmp ah,20h JZ fin sub 80,300 50V 00,81 mov 01,3 shl 81,01 mov 01,1 501 ch,c1 add al,ch add al,ah fin : ret convert endP code ends end deb ; ler FCB = palette à modifier ; valeur de l'indice de la palette ; 2eme FCB. couleur à assigner ; code de la couleur ; statue port ; lecture du statue port pour positionner le ; flip-flop de l'attribute controller ; attribute controller port ; adr. de la palette ; pause input-output ; code couleur ; accessibilité aux registres de la palette ; conversion ascii/num 1er Chiffre ; conversion ascii/num 2eMe chiffre ; multiplication du 1er chiffre par 10 ; al. Indice de la palette Fig. 4. - La commande Setpalet permet la modification de la palette de couleur standard depuis le DOS. Start Horizontal Retrace Pulse Register : indice 4, 3B5/3D5, écriture. Ce registre est utilisé pour centrer l'écran horizontalement. End Horizontal Retrace Register : indice 5, Port 3B5/3D5, écriture. b0 à b4 : retraçage horizontal. Lorsque les 5 bits de poids faible du compteur de caractères prennent la valeur de ce registre, le signal de retraçage devient inactif. b5, b6 : délai de retraçage horizontal. Ces 2 bits spécifient le retard en nombre de caractères du signal de retraçage horizontal b7 : adresse paire/impaire. Si ce bit est à 1, la première adresse du CRT après un retraçage horizontal sera impaire, et paire s'il est à 0. On utilise ce bit pour les opérations de glissement horizontal. Vertical Total Register : indice 6, port 3B5/3D5, écriture. Ce registre constitue les 8 premiers bits d'une valeur de 9 bits (le neuvième est situé dans le registre CRTC Overflow). La valeur complète spécifie le nombre total de lignes de balayage par trame moins 2. Janvier 1989 CRTC Controller Overflow Register : indice 7, port 3B5/3D5, écriture. Ce registre contient le neuvième bit de plusieurs autres registres. b0 : bit 8 du registre Vertical Total. bl : bit 8 du registre Vertical Display Enable. b2 : bit 8 du registre Start Vertical Retrace. b3 : bit 8 du registre Start Vertical Blanking. b4 : bit 8 du registre Line Compare. b5 : bit 8 du registre Cursor Location. Preset Row Scan Register : indice 8, port 3B5/3D5, écriture. b0 à b4 : première ligne de balayage. Ces bits déterminent la ligne de départ de balayage après un retraçage vertical. Maximum Scan Line Register : indice 5, port 3B5/3D5, écriture. b0 à b4 : nombre de lignes de balayage. Ces bits représentent le nombre de lignes de balayage horizontal par caractère. Le compteur de lignes horizontal passe à 0 lorsque il égale la valeur de ce registre. Ce registre est utilisé pour programmer les fontes 8 x 8 et 8 x 14. On peut ainsi obtenir des caractères sur 32 lignes (5 bits). C'est la raison pour laquelle les patterns des caractères sont codés sur 32 octets. Cursor Start Register : indice Ah, port 3B5/3D5, écriture. b0 à b4 : ligne de départ du curseur. Cursor End Register : indice Bh, port 3B5/3D5, écriture. b0 à b4 : ligne de fin du curseur. b5, b6 : décalage du curseur (en nombre de caractères). Ces deux registres définissent l'apparence du curseur à l'écran (voir l'interruption 10h). Start Address High Register : indice Ch, port 3B5/3D5, écriture. Start Address Low Register : indice Dh, port 365/3D5, écriture. Ces deux registres forment l'adresse d'offset qui sera ajoutée à l'adresse contenue dans le registre Miscellaneous du contrôleur graphique pour former l'adresse de départ de l'affichage. On peut utiliser ce registre pour effectuer un scrolling horizontal. Cursor Location High Register : indice Eh, port 3B5/3D5, écriture. Cursor Location Low Register : indice Fh, port 3B5/3D5, écriture. Ces deux registres fixent l'adresse donnant la position du curseur à l'écran. Light Pen High Register : indice 10h, port 3B5/3D5, lecture. Light Pen Low Register : indice 11h, port 3B5/3D5, lecture. Ces deux registres donnent l'adresse de l'activation du crayon optique. Vertical Retrace Start Register : indice 10h, port 3B5/3D5, écriture. Ce registre fixe la position du signal de retraçage vertical. Vertical Retrace End Register : indice 11h, port 3B5/3D5, écriture. b0 à b3 : fin de retraçage vertical. Le signal de retraçage vertical est inhibé lorsque le compteur de balayage horizontal atteint la valeur de ces 4 bits. b4 : interruption verticale. Ce bit est mis à 0 pour valider les interruptions verticales. b5 : interruption verticale. DOSSIER Ce bit est mis à 0 pour annuler le signal d'interruption du retraçage vertical. Vertical Display Enable End Register : indice 12h, 3B5/3D5, écriture. Ce registre donne le nombre - 1 de lignes de balayage affichées. Offset Register : indice 13h, 3B5/3D5, écriture. Ce registre spécifie la longueur d'une ligne en nombre de caractère/attribut. Underline Location Register : indice 14h, port 3B5/3D5 écriture. b0 à b4 : ligne de soulignage - 1. Ces 5 bits déterminent sur quelle ligne se produira le soulignage. Start Vertical Blanking Register : indice 15h, port 3B5/3D5 écriture. Ce registre contient le numéro de ligne où se produira l'activation du signal d'effacement vertical. End Vertical Blanking Register : indice 16h, port 3B5/3D5, écriture. b0 à b4 : fin d'effacement. Lorsque le compteur de lignes de balayage atteint la valeur contenue dans ce registre, le signal d'effacement devient inactif. Mode Control Register : indice 17h, port 3B5/3D5, écriture. b0 : bit de compatibilité CGA 200 lignes (valeur = 0). bl : configuration de la sortie du compteur de lignes. Mis à 0, il place le bit 1 du compteur dans le bit 14 de l'adresse de sortie, et mis à 1, il place le bit 14 du compteur dans le bit 1 de l'adresse de sortie. b2 : horloge de retraçage vertical. Le compteur de timing vertical est incrémenté à la fréquence du signal de retraçage vertical si ce bit est à 0, sinon la fréquence est double. b3 : compteur d'adresse. Le compteur d'adresses est cadencé au rythme d'un temps-caractère sur deux (valeur = 1) ou directement par l'horloge caractère. b4 : contrôle des sorties. La valeur 1 place toutes les sorties en haute impédance. b5 : pagination mémoire. Ce bit à 1 place les pages de 64 Ko de RAM vidéo supplémentaires en plans superposés. b6 : mode 8/16 bits. MICRO-SYSTEMES - 101



Autres parutions de ce magazine  voir tous les numéros


Liens vers cette page
Couverture seule :


Couverture avec texte parution au-dessus :


Couverture avec texte parution en dessous :


Micro Systèmes numéro 93 janvier 1989 Page 1Micro Systèmes numéro 93 janvier 1989 Page 2-3Micro Systèmes numéro 93 janvier 1989 Page 4-5Micro Systèmes numéro 93 janvier 1989 Page 6-7Micro Systèmes numéro 93 janvier 1989 Page 8-9Micro Systèmes numéro 93 janvier 1989 Page 10-11Micro Systèmes numéro 93 janvier 1989 Page 12-13Micro Systèmes numéro 93 janvier 1989 Page 14-15Micro Systèmes numéro 93 janvier 1989 Page 16-17Micro Systèmes numéro 93 janvier 1989 Page 18-19Micro Systèmes numéro 93 janvier 1989 Page 20-21Micro Systèmes numéro 93 janvier 1989 Page 22-23Micro Systèmes numéro 93 janvier 1989 Page 24-25Micro Systèmes numéro 93 janvier 1989 Page 26-27Micro Systèmes numéro 93 janvier 1989 Page 28-29Micro Systèmes numéro 93 janvier 1989 Page 30-31Micro Systèmes numéro 93 janvier 1989 Page 32-33Micro Systèmes numéro 93 janvier 1989 Page 34-35Micro Systèmes numéro 93 janvier 1989 Page 36-37Micro Systèmes numéro 93 janvier 1989 Page 38-39Micro Systèmes numéro 93 janvier 1989 Page 40-41Micro Systèmes numéro 93 janvier 1989 Page 42-43Micro Systèmes numéro 93 janvier 1989 Page 44-45Micro Systèmes numéro 93 janvier 1989 Page 46-47Micro Systèmes numéro 93 janvier 1989 Page 48-49Micro Systèmes numéro 93 janvier 1989 Page 50-51Micro Systèmes numéro 93 janvier 1989 Page 52-53Micro Systèmes numéro 93 janvier 1989 Page 54-55Micro Systèmes numéro 93 janvier 1989 Page 56-57Micro Systèmes numéro 93 janvier 1989 Page 58-59Micro Systèmes numéro 93 janvier 1989 Page 60-61Micro Systèmes numéro 93 janvier 1989 Page 62-63Micro Systèmes numéro 93 janvier 1989 Page 64-65Micro Systèmes numéro 93 janvier 1989 Page 66-67Micro Systèmes numéro 93 janvier 1989 Page 68-69Micro Systèmes numéro 93 janvier 1989 Page 70-71Micro Systèmes numéro 93 janvier 1989 Page 72-73Micro Systèmes numéro 93 janvier 1989 Page 74-75Micro Systèmes numéro 93 janvier 1989 Page 76-77Micro Systèmes numéro 93 janvier 1989 Page 78-79Micro Systèmes numéro 93 janvier 1989 Page 80-81Micro Systèmes numéro 93 janvier 1989 Page 82-83Micro Systèmes numéro 93 janvier 1989 Page 84-85Micro Systèmes numéro 93 janvier 1989 Page 86-87Micro Systèmes numéro 93 janvier 1989 Page 88-89Micro Systèmes numéro 93 janvier 1989 Page 90-91Micro Systèmes numéro 93 janvier 1989 Page 92-93Micro Systèmes numéro 93 janvier 1989 Page 94-95Micro Systèmes numéro 93 janvier 1989 Page 96-97Micro Systèmes numéro 93 janvier 1989 Page 98-99Micro Systèmes numéro 93 janvier 1989 Page 100-101Micro Systèmes numéro 93 janvier 1989 Page 102-103Micro Systèmes numéro 93 janvier 1989 Page 104-105Micro Systèmes numéro 93 janvier 1989 Page 106-107Micro Systèmes numéro 93 janvier 1989 Page 108-109Micro Systèmes numéro 93 janvier 1989 Page 110-111Micro Systèmes numéro 93 janvier 1989 Page 112-113Micro Systèmes numéro 93 janvier 1989 Page 114-115Micro Systèmes numéro 93 janvier 1989 Page 116-117Micro Systèmes numéro 93 janvier 1989 Page 118-119Micro Systèmes numéro 93 janvier 1989 Page 120-121Micro Systèmes numéro 93 janvier 1989 Page 122-123Micro Systèmes numéro 93 janvier 1989 Page 124-125Micro Systèmes numéro 93 janvier 1989 Page 126-127Micro Systèmes numéro 93 janvier 1989 Page 128-129Micro Systèmes numéro 93 janvier 1989 Page 130-131Micro Systèmes numéro 93 janvier 1989 Page 132-133Micro Systèmes numéro 93 janvier 1989 Page 134-135Micro Systèmes numéro 93 janvier 1989 Page 136-137Micro Systèmes numéro 93 janvier 1989 Page 138-139Micro Systèmes numéro 93 janvier 1989 Page 140-141Micro Systèmes numéro 93 janvier 1989 Page 142-143Micro Systèmes numéro 93 janvier 1989 Page 144-145Micro Systèmes numéro 93 janvier 1989 Page 146-147Micro Systèmes numéro 93 janvier 1989 Page 148-149Micro Systèmes numéro 93 janvier 1989 Page 150-151Micro Systèmes numéro 93 janvier 1989 Page 152-153Micro Systèmes numéro 93 janvier 1989 Page 154-155Micro Systèmes numéro 93 janvier 1989 Page 156-157Micro Systèmes numéro 93 janvier 1989 Page 158-159Micro Systèmes numéro 93 janvier 1989 Page 160-161Micro Systèmes numéro 93 janvier 1989 Page 162-163Micro Systèmes numéro 93 janvier 1989 Page 164-165Micro Systèmes numéro 93 janvier 1989 Page 166-167Micro Systèmes numéro 93 janvier 1989 Page 168-169Micro Systèmes numéro 93 janvier 1989 Page 170-171Micro Systèmes numéro 93 janvier 1989 Page 172-173Micro Systèmes numéro 93 janvier 1989 Page 174-175Micro Systèmes numéro 93 janvier 1989 Page 176-177Micro Systèmes numéro 93 janvier 1989 Page 178-179Micro Systèmes numéro 93 janvier 1989 Page 180-181Micro Systèmes numéro 93 janvier 1989 Page 182