| ★ CODING ★ LA BIBLE DU CPC 6128 ★ |
| La bible du CPC 6128 : 2.05.04 Screen pack (SCR) |
Le SCREENPACK est subordonné au TEXTPACK et au GRAPHICSPACKIl se charge de la réalisation pratique des tâches ordonnées par ces deux packs. Il est en effet responsable du traitement direct de l'écran. 0ABF ************************************* SCR INITIALISEinitialisation complète du pack écran. 0ABF couleurs défaut 0AD0 ****************************************** SCR RESET réinitialiser le pack écran. 0AD1 SCR ACCESS 0AE9 ************************************** SCR SET MODE mettre en place nouveau mode écran. OAFF SCR CLEAR 0B0C ************************************** SCR GET MODE aller chercher mode écran actuel. 0B0C (curr. Screen Mode) 0B17 ****************************************** SCR CLEAR vider l'écran. 0B1D SCR SET OFFSET 0B37 ************************************* SCR SET OFFSET fixer adresse de départ du premier caractère relativement à l'adresse de base de la RAM vidéo. 0B37 (octet fort début écran) 0B3C *************************************** SCR SET BASE adresse de base de la RAM vidéo 0B3C (Position à l'intérieur d'une ligne) 0B42 MC SCREEN OFFSET 0B45 **************** SCR MODIFIER DEBUT ECRAN 0B47 (octet fort début écran) 0B56 ********************************* SCR GET LOCATION début écran actuel? (base + offset) 0B56 (Position à l'intérieur d'une ligne) 0B59 (octet fort début écran) 0B5D *********************************** SCR CHAR LIMITS Aller chercher nombres maxi de lignes et colonnes de l'écran (en fonction du mode). 0B5D SCR GET MODE 0B6A ********************************* SCR CHAR POSTION traduire coordonnées physiques en une position écran 0B6B SCR GET MODE OBAF ********************************** SCR DOT POSITION déterminer position écran pour un pixel. OBED (octet fort début écran) 0C05 ************************************* SCR NEXT BYTE SCRNEXTBYTE et SCRPREVBYTE fournissent dans hl l'adresse écran de la prochaine ou de la dernière position d'octet, lorsque vous placez dans hl, avant d'appeler la routine, l'ancienne adresse. C'est aussi pratique que cela semble superflu. En effet, du fait de l'organisation de l'écran, il n'est pas facile de déterminer la position d'octet. La distance dépend en outre du mode. Notez que si la prochaine ou la dernière position sort du cadre de l'écran, l'adresse fournie en retour n'a pas de sens. Elles se trouve en effet alors dans la zone des 48 derniers octets de la Ram vidéo, qui ne sont pas utilisés pour la représentation sur l'écran. 0C11 ************************************* SCR PREV BYTE Voir SCR NEXT BYTE. 0C1F ************************************* SCR NEXT LINE SCR NEXT LINE et SCR PREV LINE travaillent de façon similaire à SCR NEXT BYTE, si ce n'est que l'adresse écran est calculée une ligne entière avant ou après. Ici également, l'adresse n'a pas de signification lorsqu'on sort de la zone représentable. 0C39 ************************************** SCR PREV LINE Voir SCR NEXT LINE 0C55 ****************************************** SCR ACCESS fixer caractères de commande sur visible/invisible. 0C57 SCR PIXELS (FORCE MODE) 0C71 ******************************************* SCR WRITE 0C71 Write Indirection QC74 *************************** SCR pjxELS (FORCE Mode) Fixer point sur l'écran. 0C7A ******************************************* XOR Mode 0C7F ******************************************* AND Mode OC85 ********************************************* OR Mode 0C8A ******************************************* SCR READ 0C8E *********************************** SCR INK ENCODE codage d'une ink de façon à ce que tous les points image soient fixés sur cette ink. 0CA7 *********************************** SCR INK DECODE décodage d'une ink. 0CD8 ****************************************** Reset couleurs 0CD8 couleurs défaut OCEA ********************************* SCR SET FLASHING fixer durées de clignotement des couleurs pour toutes les inks et pour le bord. OCEA (Flash Periods) OCEE ********************************* SCR GET FLASHING déterminer durées de clignotement (inks et bord). OCEE (Flash Periods) 0CF2 ***************************************** SCR SET INK affectation des deux couleurs utilisées pour représenter une ink. 0CF5 Set Colour 0CF7 ************************************ SCR SET BORDER affectation des deux couleurs utilisées pour représenter un bord 0CF8 ******************************************** Set Colour OCFA aller chercher entrée matrice couleur OCFF aller chercher entrée matrice couleur 0D04 aller chercher adresse ink 0D10 ******************************* aller chercher entrée matrice couleur 0D1A *************************************** SCR GET INK aller chercher les deux couleurs utilisées pour représenter une ink. 0D1D Get Colour 0D1F *********************************** SCR GET BORDER aller chercher les deux couleurs utilisées pour représenter un cadre. 0D20 ******************************************** Get Colour 0D20 aller chercher adresse ink 0D2C matrice couleurs 0D35**************************************allerchercheradresse ink 0D38 mémoire couleurs 1ères couleurs 0D61 ********************************** set Inks on Frame Fly 0D61 curr. Flash Period 0D73 ********************************************* Flash Inks 0D73 aller chercher paramètres du jeu de couleurs actuel 0D87 **************************amener param. du jeu de couleurs actuel 0D87 mémoire couleurs 1ères couleurs 0D99 ********************************************matricecouleurs 0D99 14 04 15 1C 18 1D OC 05 0DB9 *************************************** SCR FILL BOX Remplir fenêtre indiquée avec une couleur (positions en caractères, en fonction du mode). ODBD ************************************ SCR FLOOD BOX remplir fenêtre indiquée avec une couleur (les positions sont des adresses écran, indépendantes du mode). 0DC6 SCR NEXT BYTE 0DDE SCR NEXT LINE 0DE2 SCR FLOOD BOX 0DE5 ********************************** SCR CHAR INVERT échanger les couleurs de premier et second plans d'un caractère. 0DE8 SCR CHAR POSITION 0DF8 ******************************* adresser mémoire couleurs 0DF9 SCR NEXT LINE f)E00 **************************************** SCR HW ROLL SCR HW ROLL décale l'écran (en hardware) d'une ligne vers le bas lorsque b=0 et d'une ligne vers le haut lorsque b<>0. a doit recevoir la couleur que devra avoir la nouvelle ligne (vide) qui sera ajoutée. 0E0B MC WAIT FLYBACK 0E44 **************************************** SCR SW ROLL SCR SW ROLL décale une zone de l'écran (décalage software), a et b doivent être servis comme ci-dessus, h doit en outre recevoir le numéro de colonne du bord gauche de la zone à décaler, 1 la ligne supérieure, d la colonne droite et e la ligne inférieure de cette zone. Notez que colonne et ligne 0 correspondent à l'angle supérieur gauche de l'écran. Faites vous-même très attention à ce que les paramètres transmis marquent bien une zone comprise dans la Ram vidéo. 0E4F SCR CHAR POSITION 0EF9 **************************************** scr UNPACK agrandir matrice caractère (pour modes 0/1). 0EF9 SCR GET MODE 0F2A **************************************** scr REPACK rétablir matrice caractère dans sa forme originelle. 0F2B SCR CHAR POSITION 0F93 *********************************** SCR HORIZONTAL tracer ligne horizontale. 0F9B ************************************** SCR VERTICAL tracer ligne verticale. 0FA5 (GRA Pen) 1049 SCR DOT POSITION 1052 ***************************************** couleurs défaut 1052 04 04 0A 13 0C 0B 14 15
|