Les commandes du VT52
Le ST émule les commandes d'un terminal VT52. Ce terminal étant un terminal en mode caractères, cela signifie bien évidemment qu'il n'est pas possible de modifier la police de caractère, la taille ou encore positionner au pixel près notre texte...
Si c'est ce que vous vouliez faire, il ne faut pas utiliser ce mode d'affichage d'un texte. Il faudra plutôt s'orienter sur l'utilisation du VDI.
Ce sont des séquences Escape, qui vont permettre de positionner le curseur, effacer un caractère, une ligne, ...
Ces commandes sont essentiellement utilisées par le programmes dont l'extension et .TOS ou .TTP. Mais il est tout à fait possible de les utiliser dans un .PRG.
La séquence Escape est interprétée lors de l'affichage d'un texte (comme par exemple l'affichage par la fonction Cconsw, GEMDOS 9). Dès que la fonction d'affichage trouve la séquence escape, il va lire le deuxième caractère qui correspond à une commande. Puis éventuellement il chargera les options utilisées par cette commande.
Liste des commandes: (Remarque, ATTENTION aux majuscules/miniscules, respectez les !!!)
Escape A : Déplace le curseur vers le haut (sauf si le bord est atteint).
Escape B : Déplace le curseur vers le bas (sauf si le bord est atteint).
Escape C : Déplace le curseur vers la droite (s'arrête sur le bord droit)
Escape D : Déplace le curseur vers la gauche (s'arrête sur le bord gauche).
Escape E : Efface l'écran
Escape H : Place le curseur dans le coin supérieur gauche
Escape I : Curseur vers le haut (scrolling sur le bord supérieur)
Escape J : Vide l'écran à partir de la position du curseur.
Escape K : Efface la ligne à partir de la position du curseur
Escape L : Insère une ligne vide à partir de la position du curseur
Escape M : Efface une ligne dans l'emplacement du curseur le reste est ramené vers le haut)
Escape Y : positionY positionX: Positionner le curseur en X et Y - Attention, l'origine est (32,32).
Escape b : registrecouleur : Où registrecouleur sera un nombre entre 0 et 15.
Escape c : registrecouleur. Couleur de fond.
Escape d : Vide l'écran jusqu'à l'emplacement du curseur.
Escape e : Active le curseur
Escape f : Désactive le curseur
Escape j : Sauvegarde la position du curseur
Escape k : Remet le curseur à la position sauvée avec Escape j
Escape l : Efface la ligne dans laquelle se trouve le curseur
Escape o : Efface la ligne jusqu'à l'emplacement du curseur
Escape p : Active l'écriture en inversion vidéo
Escape q : Désactive l'écriture en inversion vidéo
Escape v : Active le débordement de ligne automatique
Escape w : Désactive le débordement de ligne automatiquee.
Escape est un caractère non affichable dont le code ASCII est 27.
Quelques exemples:
Tout petit code en GFA Basic:
La commande GFA Basic "PRINT" en assembleur se traiduierai:
MOVE.L #MESSAGE,-(SP)
MOVE.W #9,-(SP)
TRAP #1
ADDQ.L #6,SP
La chaîne de caractère est précisée en dur, rien n'empêche de la rendre paramétrable et d'en faire une procédure appelée par JSR ou BSR.
Ne pas oublier alors le RTS, ...
Attention : La chaîne de caractères doit se terminer par le code ASCII 0 !
Voir à désactiver le curseur éventuellement...
MESSAGE DC.B 27,"E",27,"Y",12+32,12+32,"Ceci est un ","pTEST",27,"q",0