ReGIS

langage de commandes graphiques vectorielles

ReGIS (de l'anglais : Remote Graphic Instruction Set) est un protocole d'envoi de commandes graphiques vectorielles via liaison série, conçue par Digital Equipment Corporation (DEC), et utilisé sur ces terminaux UNIX, à partir du VT125, ainsi que sur les VT330 et VT340, avec différentes évolutions telle que l'affichage en couleur. Il s'agit d'une évolution du premier protocole Waveform graphics (en) créé au milieu des années 1970 pour les terminaux VT50 et VT105, qui se limite à des courbes graphiques à usage scientifique.

ReGIS
Présentation
Type
Fondation
Remplace
Waveform Graphics (en)Voir et modifier les données sur Wikidata

Le protocole utilise des fonctions encodées sous forme de caractères, précédés et finies par une chaîne d'échappement dédiée. Il permet :

  • Différents niveaux de gris à différents couleurs
  • Droites, rectangles, polygones, cercles, en fil de fer ou forme pleine
  • L'animation de ces objets, en envoyant des nouvelles séquences de données.
  • Le transfert des commandes peut se faire via une interface série, ou aujourd'hui au travers du protocole SSH.

La résolution par défaut du VT125 est de 768×240 pixels avec 2 plans de bits permettant le shading, chaque pixel pouvant être noir ou un des trois niveaux de gris[1]. . Celle de la série VT300 est 800×480 pixels, qui selon les modèles peuvent être répartis sur 2 (VT330) ou 4 (VT340) plans de bits[2].

Compatibilité

modifier
  • Xterm supporte ce protocole, lorsqu'il à été compilé avec l'option d'activation. C'est le cas par défaut dans les distributions Linux Arch Linux et dérivées[3], mais pas Debian et dérivées. Il est possible de l'utiliser en recompilant l'application avec l'option --enable-regis-graphics.
  • feilipu / ReGIS Implémentation en C de la partie serveur.

Xterm doit être lancé en compatibilité VT125, VT230,VT240 (par exemple avec les options -ti vt340 -tn vt340) ou supérieur acceptant ce protocole, les fonctions peuvent alors être exécutées localement ou en se connectant via un port série, SSH, telnet ou autre sur un système distant.

La séquence peut également être effectuée simplement depuis un shell bash:

echo -e "\x1bP2p${command}\x1b\\"

En langage Lua:

io.stream(string.char(0x1b).."P2p"..command..string.char(0x1b,0x5c))

etc.

Ces fonctions peuvent être exécutées dans un shell distant, via

Références

modifier
  1. Digital et 1982 p.3.
  2. Harrison et 1988 Ch.2.1.
  3. (en) « xterm PKGBUILD », sur Arch Linux Gitlab

Bibliographie

modifier
  • (en) Educationnal Services of Digital Equipment Corporation, VT125 ReGIS Primer, Marloboro, Digital, (lire en ligne)
  • (en) Steve Harrison, VT-330/VT340 Progammer Reference Manual : Volume 2: Graphics Programming, Digital, (lire en ligne)

Voir aussi

modifier

Articles connexes

modifier

Liens externes

modifier

(en) https://ilkerf.tripod.com/cdoc/decregis.html Résumé des commandes et astuces différentes notes sur l'utilisation de ReGIS.