AVATAR

De l’anglais, AVATAR signifie: Advanced Video Attribute Terminal Assembler and Recreator soit Assemblage et Recréation d’Attributs vidéo Avancés.

L’AVATAR est une émulation de terminal largement utilisé dans les BBS et autres serveurs télématique afin d’améliorer les défauts de l’ANSI. En effet, il a été développé afin d’être plus rapide et aussi simple à utiliser. Les texte et écrans écrit en AVATAR prennent en général deux fois moins d’espace et s’affichent ainsi beaucoup plus rapidement au travers d’un modem. Les performances sont en général de 55% meilleures que l’ANSI.

Wynn Wagner III, l’auteur de “Opus-CBCS”, développa une méthode pour envoyer des séquences vidéo dans un fichier qui remplaçait les codes ANSI. Il fut présenté au “Fidocon” en 1988. Les avantages étaient les suivants:

  • Les codes sont plus petit que l’ANSI et prennent donc moins de place sur le disque dur (en moyenne 55%);
  • Les codes sont binaires, donc interprétés facilement par l’ordinateur (les codes ANSI utilisent les séquences ASCII);
  • les mêmes fichiers peuvent être envoyés à un utilisateur qui peux ou ne peux interpréter l’ANSI.

A cause de la propriété intellectuelle de l’ANSI, Wynn nomma temporairement ses codes AVATAR: “oANSI”.

Les deux niveaux de l’Avatar

L’Avatar est bien plus qu’un simple contrôleur d’attributs vidéo. C’est un protocole qui, s’il est utilisé, peux totalement réduire les interférences généré par le bruit dans la ligne. Nous ne nous attarderons pas trop sur cet aspect très technique, mais il ne faut pas le négliger.

Une session en AVATAR commence par l’échange de paquets nommé AVINIT. Au début d’une communication, l’appelant envoi un paquet décrivant ses capacités à utiliser tel ou tel standard ou protocole vidéo. Bien entendu, il y a aussi l’IEMSI qui ou EMSI qui envoi les mêmes informations (et bien plus encore).

Commandes Basiques ou “Basic” de l’Avatar

Avant que les paquets AVINIT soient échangés, le BBS peu envoyer des commandes Avatar basiques pour vérifier si l’utilisateur les utilises (ce paramètre est ensuite enregistré dans le fichier USER.BBS, fichier temporaire qui indique la configuration de chaque utilisateur pour le logiciel de BBS). Puisque l’avatar est orienté “window” (fenêtre), dans une session, l’écran complet est considéré comme une fenêtre complète. De plus, les couleurs par défaut ce cette fenêtre est assumé par le chiffre 3 (correspondant à un texte cyan sur un fond noir). Les bits utilisés dans un Octet (byte) pour définir les couleurs sont décrites ci-dessous.

Les commandes Basiques sont:

Note: «^» correspond à la touche «CTRL»

  • <^L> – Efface la fenêtre courante et met l’attribut par défaut. Dans une session Basique, ceci veut dire: Effacer l’écran et remettre l’attribut à 3.
  • <^Y> – Lit deux octets venant du modem. Envoi le premier à l’écran autant de fois que l’indique la valeur binaire du second octet. Une exception cependant quand les deux octets ont tous leurs bits à l’état haut (1). Dans ce cas, pas de mise à jour ici.
  • <^V> <^A> <attr> – Met l’attribut à la valeur <attr>. L’attribut par défaut reste inchangé. Toutefois, tout le texte sera affiché dans <attr> jusqu’à la prochaine commande ^V^A, ^V^B, ou ^L.
  • <^V> <^B> – Positionne le bit courant au niveau haut (1). En d’autres termes, met l’attribut “Blink” (clignoter) en fonction.
  • <^V> <^C> – Positionne le curseur sur la ligne précédente. Si vous êtes déjà sur la première ligne, le curseur ne bougera pas.
  • <^V> <^D> – Positionne le curseur à la ligne suivante. Si vous êtes déjà en bas de l’écran, le curseur ne bougera pas.
  • <^V> <^E> – Positionne le curseur à la colonne de gauche. Si vous êtes déjà sur la colonne de gauche, le curseur ne bougera pas.
  • <^V> <^F> – Positionne le curseur à la colonne de droite. Si vous êtes déjà sur la colonne de droite, le curseur ne bougera pas.
  • <^V> <^G> – Efface le reste de la ligne dans la fenêtre courante, utilisant l’attribut courant (ne pas confondre avec l’attribut par défaut).
  • <^V> <^H> <row> <col> – Positionne le curseur à la ligne <row> et la colonne <col> sans tenir compte de la fenêtre courante. 

Commentaires:

Attribut courant et attribut par défaut ne sont pas nécessairement les mêmes. Chaque fois que la fenêtre est effacé par la commande <^L>, l’attribut courant est égal à l’attribut par défaut. Il y a aussi une autre commande qui permet de rendre ces deux attributs égaux. A chaque fois que cette commande n’est pas attribué aux commandes Basiques de l’Avatar, donc ne peut être utilisé avant l’envoi du paquet AVINIT.

Si des caractères quelconques sont envoyés à l’écran, il doivent être affichés avec l’attribut courant. Il y a une exception à ce processus, mais seulement après que le paquet AVINIT soit envoyé.

Un octet est un mot de 8 bits. Le BASIC AVATAR, utilise des mots de 7 bits pour les commandes, le bit le plus haut sert seulement à paramètrer les commandes <^V> <^B>. L’octet <attr> de la commande <^V> <^A> doit être “AND-ed” (ajoutée) avec la valeur hexadécimale “7F”. Les couleurs définies par l’octet d’attribut sont les mêmes que les couleurs utilisées en mode texte sur un adaptateur IBM couleur.

Ceci signifie que les octets doivent avoir la forme suivante:


Si le clignotement est activé, le texte clignote, sinon, il ne clignote pas.

Les bits de fond d’écran couleur peuvent avoir les valeur 0 à 7, les bits de texte attribuant la couleur peuvent avoir les valeurs 0 à 15, comme décrit ci-dessous:.

  • 0 Noir
  • 1 Bleu
  • 2 Vert
  • 3 Cyan
  • 4 Rouge
  • 5 Magenta
  • 6 Marron
  • 7 Gris  (non-intensif)
  • 8 Gris foncé
  • 9 Bleu clair
  • 10 Vert clair
  • 11 Cyan clair
  • 12 Rouge clair
  • 13 Magenta clair
  • 14 Jaune
  • 15 Blanc (intense)

Les couleurs 8 à 15 sont les mêmes que celles de 0 à 7 mais avec une surbrillance en plus.

Notez que ces valeurs sont différentes de celles utilisées par le code ANSI.

Le code AVATAR/0 et /1

(Révision du 25 Novembre 1989)

Bien entendu cette nouvelle norme devait être amélioré au fil du temps, répondant ainsi mieux aux besoins de la télématique. l’«AVT/0» une abréviation pour Avatar niveau 0, fut suggéré par Joaquim Homrighausen.

attribut courant moins L’attribut vidéo est défini par la dernière commande ^V^A, ^V^L, ^V^M ou ^L. En AVT/0 ^L active la valeur de l’attribut courant à 3, ^V^L, ^V^M et ^V^A vers une valeur explicite. De plus ^V^B active le clignotement.

Extensions de l’ AVT/0

Nouvelles commandes (Brèves définitions)

  • <^V><^I> – Active le mode d’insertion. Reste active jusqu’à la prochaine commande AVT/0 sauf pour <^Y> et <^V><^Y>
  • <^V><^J><numlines><upper><left><lower><right> – “scroll” (boucle) une zone de bas en haut;
  • <^V><^K><numlines><upper><left><lower><right> – “scroll” (boucle) une zone de haut en bas;
  • <^V><^L><attr><lines><columns> – efface cette zone, place l’attribut;
  • <^V><^M><attr><char><lines><columns> – initialise la zone, place l’attribut;
  • <^V><^N> – Efface le caractère, “scroll” le reste de la ligne vers la gauche;
  • <^V><^Y><numchars><char>[…]<count> – répète le caractère sélectionné;

Conclusion

L’avatar est donc un code très bien adapté aux émulations couleur en mode texte pour la télématique. Il est donc très populaire et beaucoup de logiciels l’ont intégré depuis longtemps. Il existe à l’heure actuelle plusieurs dérivés de l’Avatar, mais qui restent compatibles avec l’Avatar de base. Ce code n’évoluera plus maintenant car beaucoup de BBS veulent plus de graphique, répondant de plus en plus aux besoins des utilisateurs. C’est pour cela qu’est apparu le RIP (voir RIP). Néanmoins, l’AVATAR est une émulation fiable, rapide et largement suffisante dans la plupart des serveurs télématique ou l’utilisation prime sur l’esthétique.

Cette entrée a été publié dans Non classé. Ajoutez en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire le pourriel. En savoir plus sur comment les données de vos commentaires sont utilisées.