L'écran d'argent

GW-BASIC  (PC-BASIC)

Initiation au langage Basic

Êtes-vous prêt à découvrir une autre déclaration ?

Si c'est le cas, éteignez les lumières et beurrez le pop-corn, car nous sommes sur le point de lever le rideau sur le grand écran.

Un mot sur la mémoire vidéo

Chaque fois que vous souhaitez afficher une image sur votre moniteur, l'ordinateur stocke l'image de l'écran dans la "mémoire vidéo". Le circuit du moniteur de l'ordinateur "lit" alors l'image de l'écran et l'affiche sur votre moniteur.

La mémoire vidéo "normale" est suffisamment grande pour le texte (lettres et chiffres) mais pas pour les graphiques (cercles, lignes, cases, etc.).

Par conséquent, l'ordinateur dispose de deux mémoires vidéo : une pour le texte et une pour les graphiques.

Éclairage de l'écran d'argent

Jetez un coup d'œil au programme ci-dessous pendant une seconde. Concentrez-vous sur l'instruction SCREEN à la ligne 10 :

10 SCREEN 9
20 CLS
30 LINE (0,0)-(639,349),12
40 GOTO 40

SCREEN indique à l'ordinateur d'afficher une image d'écran sur votre téléviseur. Le type d'écran qu'il affiche dépend des instructions que vous lui donnez :

Tout d'abord, vous indiquez à l'ordinateur s'il doit utiliser l'écran du moniteur pour du texte (comme des lettres ou des chiffres) ou des graphiques (comme des lignes et des cercles).

Deuxièmement, vous indiquez à l'ordinateur quel "ensemble de couleurs" utiliser.

SCREEN [mode]

Mode = 1,2,3, 7,8 ou 9

Dans le programme changez la ligne 10 pour SCREEN 0

10 SCREEN 0

Vous obtenez l'erreur Illegal function call in 30, car SCREEN 0 est un mode texte uniquement.

Maintenant exécutez le programme ci-dessous:

10 SCREEN 1
20 LOCATE 1,5:PRINT "SCREEN 1, 320 × 200 pixels, 40 caractères"
30 GOSUB 1000
40 SCREEN 2
50 LOCATE 1,5:PRINT "SCREEN 2, 640 × 200 pixels 80 caractères"
60 GOSUB 1000
70 SCREEN 7
80 LOCATE 1,5:PRINT "SCREEN 7, 320 × 200 pixels, 40 caractères"
90 GOSUB 1000
100 SCREEN 8
110 LOCATE 1,5:PRINT "SCREEN 8, 640 × 200 pixels, 80 caractères"
120 GOSUB 1000
130 SCREEN 9
140 LOCATE 1,5:PRINT "SCREEN 9, 640 × 350 pixels, 80 caractères"
150 GOSUB 1000
160 LOCATE 14,1
170 SCREEN 0
180 END
1000 FOR I=0 TO 100
1010 PSET (I,I)
1020 NEXT
1030 LOCATE 14,1:PRINT"Appuyez sur une touche pour continuer"
1040 A$=INKEY$:IF A$="" THEN 1040
1050 RETURN

Exécutez le programme ci-dessous:

5 SCREEN 9:CLS
10 COLOR 2:Print "Vert"

20 LINE (0,0)-(639,349)
30 A$=INKEY$:IF A$="" THEN 30
40 COLOR 3:Print "Cyan"

50 LINE (0,0)-(639,349)
60 GOTO 50

Revoyons les caractéristiques des différents modes de SCREEN:

SCREEN 0
Mode texte uniquement
Format texte 40 × 25 ou 80 × 25 avec une taille de boîte de caractères de 8 × 8 (8 × 14 avec EGA)
Affectation de 16 couleurs à l'un des 2 attributs
Affectation de 16 couleurs à l'un des 16 attributs (avec EGA)

SCREEN 1
Graphiques à résolution moyenne de 320 × 200 pixels
Format texte 40 × 25 avec une taille de boîte de caractères de 8 × 8
Affectation de 16 couleurs à l'un des 4 attributs
Prend en charge à la fois EGA et CGA
2 bits par pixel

SCREEN 2
Graphiques haute résolution 640 × 200 pixels
Format texte 80 × 25 avec une taille de boîte de caractères de 8 × 8
Affectation de 16 couleurs à l'un des 2 attributs
Prend en charge à la fois EGA et CGA
1 bit par pixel

SCREEN 7
Graphiques à résolution moyenne de 320 × 200 pixels
Format texte 40 × 25 avec une taille de boîte de caractères de 8 × 8
2, 4 ou 8 pages de mémoire avec respectivement 64K, 128K ou 256K de mémoire installées sur l'EGA
Affectation de l'une des 16 couleurs à 16 attributs
EGA requis
4 bits par pixel

SCREEN 8
Graphiques haute résolution 640 × 200 pixels
Format texte 80 × 25 avec une taille de boîte de caractères de 8 × 8
1, 2 ou 4 pages de mémoire avec respectivement 64K, 128K ou 256K de mémoire installées sur l'EGA
Affectation de l'une des 16 couleurs à 16 attributs
EGA requis
4 bits par pixel

SCREEN 9
Graphiques à résolution améliorée de 640 × 350 pixels
Format texte 80 × 25 avec une taille de boîte de caractères de 8 × 14
Affectation soit de 64 couleurs à 16 attributs
(plus de 64K de mémoire EGA), soit de 16 couleurs à 4 attributs (64K de mémoire EGA)
Deux pages d'affichage si 256 Ko de mémoire EGA sont installés
EGA requis
2 bits par pixel (mémoire EGA 64K) 4 bits par pixel (mémoire EGA supérieure à 64K)

Mode Résolution Plage d'attributs Gamme de couleurs Mémoire EGA Pages Taille de la page
0 40-colonne texte NA 0-15a NA 1 2K
80-colonne texte NA 0-15a NA 1 4K
1 320×200 0-3b 0-3 NA 1 16K
2 640×200 0-1b 0-1 NA 1 16K
7 320×200 0-15 0-15 64K 2 32K
128K 4
256K 8
8 640×200 0-15 0-15 64K 1 64K
128K 2
256K 4
9 640×350 0-3 0-15 64K 1 64K
0-15 0-63 128K 1 128K
0-15 0-63 256K 2
10 640×350 0-3 0-8 128K 1 128K
256K 2

a Les nombres compris entre 16 et 31 sont des versions clignotantes des couleurs 0-15.
b Attributs applicables uniquement avec EGA.

La commande COLOR

COLOR [foreground][,[background]

foreground = premier plan
background = arrière-plan

Attributs et couleurs

Pour divers modes d'écran et configurations matérielles d'affichage, différents paramètres d'attribut et de couleur existent. (Voir l'instruction PALETTE pour une discussion sur l'attribut et le numéro de couleur.)

La majorité de ces configurations d'attributs et de couleurs sont résumées dans le tableau suivant :

Attributs et couleurs par défaut pour la plupart des modes d'écran

Tableau 3

Attributs pour le Mode Affichage couleur Affichage monochrome
1,9 2 0,7,8,9b Numéroc Couleur Numéroc Couleur
0 0 0 0 Noir 0 Off
    1 1 Bleu   (Souligné)a
    2 2 Vert 1 Ona
    3 3 Cyan 1 Ona
    4 4 Rouge 1 Ona
    5 5 Magenta 1 Ona
    6 6 Marron 1 Ona
    7 7 Blanc 1 Ona
    8 8 Gris 0 Off
    9 9 Bleu clair   Haute intensité(Souligné)
    10 10 Vert clair 2 Haute intensité
1   11 11 Cyan clair 2 Haute intensité
    12 12 Rouge clair 2 Haute intensité
2   13 13 Magenta clair 2 Haute intensité
    14 14 Jaune 2 Haute intensité
3 1 15 15 Blanc haute intensité 0 Off

a Désactivé lorsqu'il est utilisé pour l'arrière-plan.
b Avec mémoire EGA > 64K.
c Uniquement pour le mode 0 monochrome.

Les couleurs de premier plan par défaut pour les différents modes sont données dans le tableau suivant :

Tableau 4

Couleurs de premier plan par défaut

Attribut de premier plan par défaut Couleur de premier plan par défaut
Screen mode Affichage couleur/étendua Affichage monochrome Affichage couleur/étendua Affichage monochrome
0 7 7 7 1
1 3 NA 15 NA
2 1 NA 15 NA
7 15 NA 15 NA
8 15 NA 15 NA
9 3b NA 63 NA
10 NA 3 NA 8

a écran couleur amélioré IBM
b 15 si supérieur à 64K de mémoire EGA
NA=Non Applicable

Liste des couleurs EGA

Voir SCREEN, COLOR, PALETTE pour plus de détails.

Programme faites-le vous même

Comprenez-vous SCREEN ?

Si c'est le cas, écrivez un programme qui passe de l'écran texte à l'écran graphique. Vous voudrez peut-être mettre une boucle dans le programme afin qu'il change le jeu de couleurs après avoir parcouru le programme en boucle. De cette façon, vous pouvez voir toutes les fonctionnalités de SCREEN au travail.

10 SCREEN 0
20 PRINT "Écran texte"
30 A$=INKEY$:IF A$="" THEN 30
40 FOR Y = 1 TO 2
50 SCREEN Y
60 LOCATE 19,1:PRINT "Écran" Y
70 LOCATE 20,1:PRINT "Voici un carré ?"
80 LINE (50,50)-(120,100),Y,B

90 A$=INKEY$:IF A$="" THEN 90
100 NEXT Y
110 FOR Y = 7 TO 9
120 SCREEN Y:COLOR Y+1
130 LOCATE 19,1:PRINT "Écran" Y
140 LOCATE 20,1:PRINT "Voici un carré ?"
150 LINE (50,50)-(120,100),Y,B

160 A$=INKEY$:IF A$="" THEN 160
170 NEXT Y

 

 

 

 

 

 

 

Recherche personnalisée