ASMtrad CPC

Apprenez l'assembleur Z80

Vecteurs System – Gestion ÉCRAN (#BBFF – #BC62)

#BBFF - INITIALISATION PRINCIPALE DU GESTIONNAIRE ÉCRAN, LES MODES, ENCRES ET PAPIERS PRENNENT LEURS VALEURS PAR DÉFAUT.

CE : Rien.
CS : AF, BC, DE, HL sont modifiés.

#BC02 - RÉINITIALISATION DU GESTIONNAIRE ÉCRAN.

CE : Rien.
CS : AF, BC, DE, HL sont modifiés.

#BC05 - POSITIONNE L’OFFSET DE DÉPART DE L’ÉCRAN. EN MODIFIANT CETTE VALEUR, L’ÉCRAN PEUT ROULER (SCROLLING).

CE : HL contient l’offset désiré.
CS : AF, HL sont modifiés.

#BC08 - POSITIONNE LE POINT DE DÉPART EN MÉMOIRE VIVE (RAM) DU DÉBUT DE LA MÉMOIRE ÉCRAN.

CE : A contient l’octet le plus significatif de l’adresse de départ.
CS : AF, HL sont modifiés.

#BC0B - LECTURE DE L’ADRESSE DE DÉPART DE LA MÉMOIRE ÉCRAN ET DE L’OFFSET.

CE : Rien.
CS : A contient l’octet le plus significatif de l’adresse de la mémoire écran.
HL contient l’offset courant. F est modifié.

#BC0E - POSITIONNE L’ÉCRAN DANS UN MODE PRÉCIS.

CE : A contient le numéro du mode.
CS : AF, BC, DE, HL sont modifiés.

#BC11 - LECTURE DU MODE COURANT.

CE : Rien.
CS : A contient le numéro du mode, le CARRY et le ZÉRO sont positionnés en fonction du mode.
Mode 0 : C=1 Z=0 ; Mode 1 : C=0 Z=1 ; Mode 2 : C=0 Z=0.

#BC14 - EFFACEMENT DE L’ÉCRAN.

CE : Rien.
CS : AF, BC, DE, HL sont modifiés.

#BC17 - LECTURE DE LA TAILLE DE L’ÉCRAN.

CE : Rien.
CS : B contient la dernière colonne physique de l’écran.
C contient la dernière ligne et AF est modifié.

#BC1A - CALCULE L’ADRESSE RÉELLE D’UN CARACTÈRE DONT ON FOURNIT LA POSITION SUR L’ÉCRAN (COLONNE, LIGNE).

CE : H contient la colonne et L la ligne.
CS : HL contient l’adresse mémoire réelle.
B contient la taille en octets d’un caractère dans la mémoire.
AF est modifié.

#BC1D - CALCULE L’ADRESSE RÉELLE D’UN POINT DONT ON FOURNIT LA POSITION SUR L’ÉCRAN.

CE : DE contient l’abscisse d’un point (X) et HL contient l’ordonnée du point (Y).
CS : HL contient l’adresse réelle du point en mémoire.
B contient le nombre de points par octet diminué de 1.
C contient le masque pour le point.
AF et DE sont modifiés.

#BC20 - CALCULE L’ADRESSE RÉELLE DE L’OCTET A DROITE DE L’ADRESSE COURANTE RÉELLE

CE : HL contient l’adresse courante.
CS : HL contient la nouvelle adresse et AF est modifié.

#BC23 - CALCULE L’ADRESSE RÉELLE DE L’OCTET A GAUCHE DE L’ADRESSE COURANTE RÉELLE.

CE : HL contient l’adresse courante.
CS : HL contient la nouvelle adresse et AF est modifié.

#BC26 - CALCULE L’ADRESSE RÉELLE DE L’OCTET A LA LIGNE INFÉRIEURE DE L’ADRESSE COURANTE RÉELLE.

CE : HL contient l’adresse courante.
CS : HL contient la nouvelle adresse et AF est modifié.

#BC29 - CALCULE L’ADRESSE RÉELLE DE L’OCTET A LA LIGNE SUPÉRIEURE DE L’ADRESSE COURANTE RÉELLE.

CE : HL contient l’adresse courante.
CS : HL contient la nouvelle adresse et AF est modifié.

#BC2C - CONVERSION D’UN NUMÉRO D’ENCRE DE FAÇON A FOURNIR UN MASQUE QUI, APPLIQUE A UN OCTET REPRÉSENTANT DES POINTS, AFFICHERA LES POINTS DE CET OCTET DANS LA COULEUR DE L’ENCRE.

CE : A contient le numéro de l’encre.
CS : A contient le masque et F est modifié.

#BC2F - CONVERSION INVERSE DE LA PRÉCÉDENTE.

CE : A contient le masque.
CS : A contient le numéro d’encre et F est modifié.

#BC32 - POSITIONNE LES COULEURS D’UNE ENCRE.

CE : A contient le numéro de l’encre.
B contient la première couleur.
C contient la seconde couleur.
CS : AF, BC, DE, HL sont modifiés.

#BC35 - LECTURE DES COULEURS D’UNE ENCRE.

CE : A contient le numéro de l’encre.
CS : B contient la première couleur.
C contient la seconde couleur.
AF, DE, HL sont modifiés.

#BC38 - POSITIONNE LES COULEURS D’AFFICHAGE DU BORD.

CE : B contient la première couleur.
C contient la seconde couleur.
CS : AF, BC, DE, HL sont modifiés.

#BC3E - POSITIONNE LA DURÉE DE CLIGNOTEMENT DES COULEURS DE BORD.

CE : H contient la durée de la première couleur.
L contient la durée de la seconde couleur.
CS : AF, HL sont modifiés.

#BC41 - LECTURE DES DURÉES DE CLIGNOTEMENT DES COULEURS DE BORD.

CE : Rien.
CS : H contient la durée de la première couleur.
L contient la durée de la seconde couleur.
AF est modifié.

#BC44 - REMPLISSAGE D’UN RECTANGLE AVEC UNE ENCRE.

CE : A contient le masque correspondant a l’encre.
H contient le numéro de la colonne de gauche.
D contient le numéro de la colonne de droite.
L contient le numéro de la ligne supérieure.
E contient le numéro de la ligne inférieure.
CS : AF, BC, DE, HL sont modifiés.

#BC47 - POSITIONNEMENT D’UNE SUITE D’OCTETS EN MÉMOIRE ÉCRAN DANS UNE ENCRE.

CE : A contient le masque correspondant a l’encre.
HL contient l’adresse de la mémoire correspondant au coin haut gauche.
D contient le nombre d’octets.
E contient le nombre de lignes.
CS : AF, BC, DE, HL sont modifiés.

#BC4A - INVERSION DE DEUX COULEURS DANS UN CARACTÈRE.

CE : B contient le masque d’une couleur.
C contient le masque de l’autre couleur.
H contient le numéro de la colonne.
L contient le numéro de la ligne.
CS : AF, BC, DE, HL sont modifiés.

#BC4D - DÉPLACE L’ÉCRAN ENTIER DE HUIT POINTS EN HAUT OU EN BAS.

CE : B=0 pour un déplacement vers le bas.
Autre valeur de B pour le haut.
CS : AF, BC, DE, HL sont modifiés.

#BC50 - DÉPLACE UNE PARTIE DE L’ÉCRAN DE HUIT POINTS EN HAUT OU EN BAS.

CE : B=0 pour un déplacement vers le bas.
Autre valeur de B pour le haut.
A contient le masque de l’encre pour nettoyer la nouvelle ligne.
H contient le numéro de la colonne de gauche.
D contient le numéro de la colonne de droite.
L contien
CS : AF, BC, DE, HL sont modifiés.

#BC53 - CONVERSION D’UNE MATRICE DE CARACTÈRES DE SA FORME STANDARD EN UNE SÉRIE DE MASQUES DE POINTS EN FONCTION DU MODE COURANT.

CE : HL contient l’adresse de la matrice.
DE contient l’adresse de l’endroit ou l’on trouvera le résultat de la conversion.
CS : AF, BC, DE, HL sont modifiés.

#BC56 - CONVERSION INVERSE DE LA PRÉCÉDENTE.

CE : A contient le masque de l’encre a convertir.
H contient la colonne du caractère.
L contient la ligne du caractère.
DE contient l’adresse ou la matrice sera construite.
CS : AF, BC, DE, HL sont modifiés.

#BC59 - POSITIONNE L’ÉCRAN POUR L’UTILISATION DU MODE GRAPHIQUE.

CE : A contient le mode (0=FORÇAGE, 1=XOR, 2=AND, 3=OR).
CS : AF, BC, DE, HL sont modifiés.

#BC5C - ÉCRITURE D’UN POINT SUR L’ÉCRAN SANS CONSIDÉRATION DE MODE DÉFINI PAR LA ROUTINE PRÉCÉDENTE (#BC59).

CE : B contient le masque de l’encre.
C contient le masque du point.
HL contient l’adresse mémoire du point.
CS : AF est modifié.

#BC5F - TRAÇAGE D’UNE HORIZONTALE.

CE : A contient le masque de l’encre.
DE contient l’abscisse de départ.
BC contient l’abscisse d’arrivée.
HL contient l’ordonnée.
CS : AF, BC, DE, HL sont modifiés.

#BC62 - TRAÇAGE D’UNE VERTICALE.

CE : A contient le masque de l’encre.
DE contient l’abscisse de la ligne.
HL contient l’ordonnée de départ.
BC contient l’ordonnée d’arrivée.
CS : AF, BC, DE, HL sont modifiés.