CODINGCLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★

5/07 - La mémoire d'écranCoding Classeurs Weka
5/7 - La mémoire d'écran

Une autre manière d'utiliser l'écran graphique est d'écrire dans la mémoire d'écran.

L'écran peut être considéré comme une mémoire RAM implantée entre les adresses &C000 et &FFFF, et donc, directement adressable par le micro-processeur. Quel que soit le mode d'affichage, la mémoire d'écran est divisée en huit blocs. Une bloc représente une ligne élémentaire (d'épaisseur un point élémentaire, et de largeur 80 octets).

Les blocs sont répartis comme suit :

Le bloc i (i compris entre 0 et 7) représente la ième ligne élémentaire de chacune des 25 lignes de l'écran, et fait donc 80 x 25 = 2000 octets. Pour des raisons de commodité de manipulation, un bloc a été défini sur 212 octets (2048 octets), et les 48 octets supplémentaires de chaque ligne sont inutilisés.

Comme nous l'avons vu plus haut, la dimension en pixels d'un point élémentaire dépend du mode de résolution.

Dans le MODE 0, un octet comprend 2 points élémentaires de 4 pixels de large chacun.

Les octets sont codés comme suit :

Bit01234567
Stylo88224411
Point élémentaire01010101

Ce tableau est à interpréter de la façon suivante :

  • Si, par exemple, le bit 2 est à 1, le point élémentaire 0 sera allumé avec la couleur de stylo 2.
  • De même, pour avoir le point 1 allumé avec la couleur 6, il faudra positionner à 1 les bits 3 et 5.

En MODE 1, un octet comprend 4 points élémentaires de 2 pixels de large chacun.
Les octets sont codés comme suit :

Les octets sont codés comme suit :

Bit01234567
Stylo22221111
Point élémentaire01230123

Enfin, en MODE 2, un octet comprend 8 points élémentaires d'1 pixel de large chacun.

Les octets sont codés comme suit :

Bit01234567
Stylo11111111
Point élémentaire01234567

En BASIC, on pourra afficher un ou plusieurs points sur l'écran par l'instruction POKE < Adresse écran >, < Valeur sur 8 bits>.

En assembleur, il faudra faire :

LD A,
LD (Adresse écran),A

Page précédente : 5/06 - Tracé de points et de droites en assembleur
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 380 millisecondes et consultée 1251 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.