



Les codes de contrôle
Il est possible de piloter l'écran sans utiliser d'instructions BASIC complexes, simplement en imprimant certains caractères spéciaux appelés codes de contrôle.
Ces caractères possèdent un code ASCII inférieur à 32 et permettent d'effectuer de nombreuses opérations graphiques : déplacement du curseur, changement de couleurs, effacement de l'écran, définition de fenêtres, etc.
Voici la liste complète de ces codes, accompagnée d'une brève explication de leur fonctionnement.
00 (&00)
Ce code est sans effet : il ne fait absolument rien. Il peut toutefois représenter un caractère graphique lorsqu'il est précédé du code 01.
01 (&01)
Affiche le caractère correspondant au code suivant, sans l'interpréter comme un code de contrôle. Très pratique pour afficher un caractère de contrôle à l'écran.
02 (&02)
Masque le curseur. Celui-ci devient invisible.
03 (&03)
Réaffiche le curseur. C'est l'inverse du code précédent.
04 (&04)
Équivalent de l'instruction MODE du BASIC.
Le code doit être suivi d'un paramètre compris entre 0 et 2, indiquant le mode vidéo à utiliser. Toute autre valeur est ignorée.
Remarque : certains pointeurs internes du BASIC ne sont pas mis à jour lors de ce changement.
05 (&05)
Un code pour le moins mystérieux...
Essayez sous BASIC :
PRINT CHR$(5);CHR$(N)
avec N compris entre 0 et 255.
Vous obtiendrez de petits traits au bas de l'écran. Leur véritable utilité reste assez obscure, même si certains programmeurs ont sans doute trouvé comment les exploiter.
06 (&06)
Réactive l'affichage des caractères à l'écran.
Si celui-ci avait été désactivé avec le code 21, ce code rétablit un fonctionnement normal.
07 (&07)
Émet un bip sonore (BEL).
08 (&08)
Équivaut à la touche Del : le curseur recule d'un caractère et efface celui-ci.
09 (&09)
Déplace le curseur d'une colonne vers la droite sans modifier le contenu de l'écran.
10 (&0A)
Déplace le curseur d'une ligne vers le bas.
11 (&0B)
Déplace le curseur d'une ligne vers le haut.
12 (&0C)
Équivalent de CLS : efface la fenêtre courante et replace le curseur dans son coin supérieur gauche.
13 (&0D)
Replace le curseur au début de la ligne actuelle.
14 (&0E)
Équivalent de PAPER.
Le paramètre suivant (de 0 à 15) définit l'encre utilisée pour le fond.
15 (&0F)
Équivalent de PEN.
Le paramètre suivant (de 0 à 15) sélectionne l'encre du stylo.
16 (&10)
Efface le caractère situé sous le curseur.
17 (&11)
Efface tous les caractères situés avant le curseur dans la fenêtre courante.
18 (&12)
Efface tous les caractères situés après le curseur sur la ligne courante.
19 (&13)
Efface la fenêtre courante depuis son coin supérieur gauche jusqu'à la position du curseur.
20 (&14)
Efface la fenêtre courante depuis le curseur jusqu'au coin inférieur droit.
21 (&15)
Désactive totalement l'affichage des caractères.
L'écran reste inchangé tant que le code 06 n'est pas utilisé.
22 (&16)
Détermine le mode d'affichage des caractères.
- 0 : affichage normal avec fond.
- 1 : affichage transparent ; seul le caractère est dessiné sans modifier le fond.
Ce mode est très utile pour réaliser des effets graphiques.
24 (&18)
Intervertit les encres du papier et du stylo.
Fonction similaire à certaines possibilités offertes par INK en BASIC.
25 (&19)
Équivalent de SYMBOL.
Permet de redéfinir un caractère graphique. Le code doit être suivi de 8 octets, représentant les huit lignes du caractère.
26 (&1A)
Équivalent de WINDOW.
Les paramètres à fournir sont :
- l'abscisse,
- l'ordonnée,
- la largeur,
- la hauteur de la fenêtre.
Le numéro de fenêtre n'est pas utilisé.
28 (&1C)
Équivalent de INK.
Permet de modifier les couleurs des encres.
29 (&1D)
Équivalent de BORDER.
Le code est suivi de deux paramètres permettant de définir la couleur de la bordure.
30 (&1E)
Fonction Home.
Équivaut à :
LOCATE 1,1
Le curseur est replacé dans le coin supérieur gauche de la fenêtre.
31 (&1F)
Équivalent de LOCATE.
Ce code doit être suivi de deux paramètres :
- la colonne ;
- la ligne.
Le curseur est alors positionné à l'emplacement indiqué.



















Amstrad Cent Pour Cent numéro 7



















