CODINGAMSLIVE ★ AMSLIVE n°01 - LE BALAYAGE VIDEO ★

AMSLIVE n°01 - Balayage VideoCoding Amslive

Cette série d'articles devrait vous permettre de réaliser de belles animations, qu'elles soient soft ou hard (ne pas confondre animations hard avec scènes de film X, cela n'a rien à voir). Vous vous êtes lavé les mains ? Alors c'est parti.

Générale alitée.

Les éléments de l'image (PICture ELement : PIXEL) d'un moniteur ne sont pas affichés simultanément et continûment (?). Le canon à électrons balaie (scan) l'écran par lignes horizontales, de haut en bas, chacune étant parcourue de gauche à droite. C'est le phénomène de persistance rétinienne (environ 1/15eme de seconde) qui permet l'illusion de stabilité de l'image.

Overscan.

Quand le canon a parcouru sa ligne, il revient à gauche, et quand il a fini toutes ses lignes, il revient en haut. Pendant ce temps, il ne doit rien afficher : c'est l'overscan (le vrai, ce terme désignant abusivement un écran sans border sur CPC). C'est le moniteur qui gère ça, le "retour" vertical (VBL : Vertical Blanking) étant produit toutes les 20 ms, et l'horizontal (HBL) toutes les 64 us. Mais le plus fort, c'est que ce brave moniteur va essayer de se caler sur les tops de synchro qu'il reçoit, si leurs périodes ne sont pas trop éloignées de celles de références (j'ai parle de 20 ms et 64 us, mais en fait elles dépendent des réglages des boutons V-Hold et H-Hold). Il peut siffler un peu, mais ce n'est pas parce qu'il bout.

Top synchro.

Les signaux de synchronisation, générés par le CRTC (Cathode Ray Tube Controller), nous permettront de savoir où en est le canon, puisque ce dernier est guidé par ces signaux !

Entrelaçons-nous.

La France a choisi un système a 625 lignes, 25 Hz (pour concorder avec la fréquence du reseau électrique). Mais il se trouve que 25 images par seconde ne suffisent pas pour éviter un papillotement. Alors on a décidé d'afficher la moitié des lignes mais deux fois plus souvent. C'est le principe de l'entrelacé : on affiche les lignes paires, puis les lignes impaires. La demi ligne (625 / 2 = 312.5) permet au canon de se placer alternativement à gauche et au milieu à chaque début de trame (voir schémas 1a et 1b). Sur CPC, on se retrouve avec : 312 lignes, 50 Hz (environ), mais ce n'est pas de l'entrelacé dans le sens où les lignes horizontales sont toujours affichées au même endroit. Le CRTC peut fonctionner en mode entrelacé, mais cette fonction est buggée sur la plupart d'entre eux (CRTCs de type 0, 1,3, 4). De plus, s'il gère bien la demi ligne, c'est le moniteur qui n'assure pas puisqu'il décale d'une ligne (verticalement) plutôt que d'une moitié (voir schéma 2), sauf en réglant très très finement V-Hold. C'est d'ailleurs ce réglage (instable) qui permet de vraiment doubler la résolution en utilisant l'entrelacé du CRTC, mais ce n'est pas pratique du tout.

Synchro au top.

Médames, messieurs, l'assimilation du paragraphe précédant n'est pas indispensable à la compréhension de la suite de l'article. Par contre, il faut avoir bien en tête qu'à chaque donnée de la mémoire écran correspond une donnée affichée à un instant précis. Si vous changez des données de la mémoire écran (animation soft), il faut se synchroniser avec le canon. Imaginez que vous déplaciez un sprite en l'effaçant et le réaffichant à coté : si l'effacement intervient avant le passage du canon à l'endroit de ('animation, et l'affichage après, jamais vous ne verrez votre sprite. [à suivre...]


Vocabulaire

Balayage (Scan en anglais) : Parcours del'écran, de gauche à droite et de haut en bas (comme pour la lecture d'un texte).

Trame (Frame en anglais) : Il s'agit de l'écran balayé.

Ligne : Il s'agit d'une ligne horizontale. La durée d'une ligne comprend la HBL.

HBL : Horizontal BLanking. Période de retour du canon à gauche pour se placer au début de la ligne suivante. Elle est activée par le signal de synchronisation horizontale (HS).

VBL : Vertical BLanking. Période de retour du canon pour se placer au début de la
trame. Elle est activée par le signal VS.

Entrelacé : Méthode consistant à afficher une image en 2 trames. La 1ère contiendra les lignes paires et la 2eme les lignes
impaires.

Overscan : Regroupe HBL et VBL, ou le canon est éteint.

AMSLIVE n°1

★ ANNÉE: ???
★ AUTEUR: MADRAM

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » AMSLIVE n°14 - 3D est-ce l'amour ?
» Coding » AMSLIVE n°01 - Init
» Coding » AMSLIVE n°17 - Comment Reagit Tout Crtc
» Coding » AMSLIVE n°15 - CPC Sos Partie 3
» Coding » AMSLIVE n°02 - Rasters
» Coding » AMSLIVE n°07 - SINUS SITE , LA SUITE (2/2)
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.73-desktop/c
Page créée en 547 millisecondes et consultée 3474 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.