CE = CONDITIONS D’ENTRÉE
CS = CONDITIONS DE SORTIE
REGS = REGISTRES
C = FLAG CARRY
Z = FLAG ZÉRO

 

 

GESTIONNAIRE ÉCRAN
******************

#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: idem #BBFF.

 

#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 et 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 – COMME (BC20), MAIS POUR L’OCTET A GAUCHE.

 

#BC26 – COMME (BC20), MAIS POUR LA LIGNE DU BAS.

 

#BC29 – COMME (BC20), MAIS POUR LA LIGNE DU HAUT.

 

#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 comme BC4D. 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 contient le numéro de la ligne du haut.
       E contient le numéro de la ligne du bas.
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.