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.