CODINGCRTC ★ Les registres du CRT 6845 ★

CRTC Registres Crt 6845

Le circuit CRT 6845 controle la generation des signaux video. Il contient la plupart des valeurs determinants l'affichage et le format de l'ecran.

On accede au CRT par l'intermediaire de registres programmables sur les ports &BCXX et &BDXX.Le premier sert a donner le numéro du registre a affecter, le second a donner la valeur de ce registre.

Exemple: en BASIC, pour mettre le registre 0 a 63:

OUT &BC00,0:OUT &BD00,63

La meme chose en Assembleur:

LD BC,#BC00
LD A,63
OUT (C),C
INC B
OUT (C),A

Les differents registres:

R0=63:

Nombre de caracteres total en horizontal 0-255. (Taille horizontale du moniteur)

R1=40:

Nombre de caracteres affiches en horizontal 0-255. (Nombre de caracteres par lignes)

* Si la valeur depasse 63,alors c'est la premiere ligne qui est affiche sur tout l'ecran.

R2=46:

Synchronisation horizontale (position) 0-255. (Position horizontale de l'ecran par rapport au moniteur)

* Peut etre modifie au cours du balayage,donnant ainsi l'effet de vagues.

R3=15:

Longueur de synchronisation 0-15.

R4=38:

Nombre de lignes total en vertical 0-127. (Taille verticale du moniteur)

R5=00:

Synchronisation verticale 0-31.

* Permet de ralentir le balayage écran.

R6=25:

Nombre de caracteres affiches en vertical 0-127. (Nombre de caracteres par colonnes)

R7=30:

Synchronisation verticale (position) 0-127. (Position verticale de l'ecran par rapport au moniteur)

R8=00:

Mode entrelace 0-3.

* A 1,l'ecran vibre.

* A 3,l'ecran est divise en 2,les lignes paires en haut,les impaires
en bas.

R9=07:

Scanning 0-31. (Nombre-1 de lignes composants un caractere)

R10=0:

Ligne de deépart du scanning du curseur 0-31.

R11=0:

Ligne de fin du scanning du curseur 0-31.

R12=48:

Adresse de deépart de la memoire écran 0-16383.

R13=00

* R12 est l'octet le plus significatif (poids fort).

R13 est l'octet le moins significatif (poids faible).
* On peut grace a ce registre deplacer la memoire écran:
;R12=0:de 0 a &3FFF
;R12=16:de &4000 a &7FFF
;R12=32:de &8000 a &BFFF
;R12=48:de &C000 a &FFFF

* En incrementant ou decrementant cette adresse plusieurs fois de suite,
;on peut obtenir un scrolling.

* En modifiant R12 on peut obtenir une memoire écran de 32K,
;par exemple:R12=&3C:memoire écran 32 K de &C000 a &3FFF.
;(En fait,on ne peut afficher au maximum que 24 K sur le moniteur)

* En ayant 2 pages en memoire,et en les commutant au bon momemt,on peut
;avoir des animations fluides;c'est la methode de 'Bascule d'Ecran'.

R14 :

Position du curseur (OLPS) 0-16383.

R15 :

Position du curseur (OLMS).
* Registres utilisables en entree:ils fournissent la position courante
du curseur.

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

Lien(s):
» Coding Src's » Test CRTC v1.0 (MADRAM , amslive n16)
» Coding Src's » Detect CRTC type by Rhino
» Coding Src's » Graphic - Crtc - On - Screen Effects On the CPC464 (Popular Computing Weekly)
» Coding » Dossier CRTC par GOZEUR/Paradox
» Coding » Wacci CRTC (1/2)
» Coding » Crtc - Scrolling (SOS Programmeurs)
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 368 millisecondes et consultée 2794 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.