Les Appels Systèmes Autorisés
Page réalisée par:
Philippe Moreau
UPJV

Nous avons ici sélectionné une partie des Appels système implémentés dans la suite de logiciels qui va nous permettre de travailler. Cette suite, Easy68K est accessible en téléchargement, et a été développée par une équipe qui avait à sa tête le Professeur Chuck Kelly de l'université Monroe du Michigan.

les différents Appels ont, là encore, été regroupés par catégories.

- Une première série correspond aux appels liés aux entrées/sorties textuelles, fin de programme et horloge système. C'est le complément des routines déjà vues. On conviendra que l'ensemble des routines associées seront stockées dans le fichier "bibliothèque" de nom: BIBLIO.X68

- Une deuxième série correspond aux appels liés à l'environnement (fenêtres et périphériques). On conviendra que l'ensemble des routines associées seront stockées dans un fichier "bibliothèque" de nom: BIBPERIPH.X68

- Une troisième série correspond aux appels liés au graphisme. On conviendra que l'ensemble des routines associées seront stockées dans un fichier "bibliothèque" de nom: BIBGRAPH.X68

- La quatrième et dernière série correspond aux appels liés à la manipulation de fichiers. Là encore, on conviendra que l'ensemble des routines associées seront stockées dans un fichier "bibliothèque" de nom: BIBFICH.X68

Rappel : On va ici donner des noms correspondants aux différents appels. Ces noms (des routines et des bibliothèques) sont à respecter dans vos programmes afin que tout le monde évoque la même fonctionnalité derrière un même label.

Les Appels de BIBLIO.X68
Nom de la routineN° de la routine
valeur pour D0
Action réalisée
SAISCAR 5Lit un caractère au clavier (renvoie le code ASCII du caractère tapé dans D1.B)
AFFCAR 6Affiche un caractère à l'écran (c'est le caractère dont le code ASCII est dans D1.B)
FINPRG 9Termine le programme
GET_TIME 8Récupère le nombre de centièmes de secondes depuis minuit (le résultat est dans D1.L)
POS_CURS 11Positionne le curseur "Texte" à l'emplacement Lig,Col où D1.W contient  Col sur 8 bits  Lig sur 8 bits 
Rmq1: le 0,0 est placé en haut à gauche.
Rmq2: En mettant $FF00 dans D1.W on provoque un effacement d'écran.
GET_AFFCAR 22Récupère le code ASCII du caractère affiché à l'écran en position Lig,Col.
Avant D1.L contient  Lig sur 16 bits  Col sur 16 bits  et Après, D1 contient le code ASCII sur 8 bits
Les Appels de BIBPERIPH.X68
Nom de la routineN° de la routine
valeur pour D0
Action réalisée
HARDWARE 32En fonction de la valeur de D1:
   -  D1.B=$00, affiche la fenêtre "HardWare"
   -  D1.B=$01, renvoie l'adresse de l'afficheur 7-segments dans D1.L
   -  D1.B=$02, renvoie l'adresse des LEDs dans D1.L
   -  D1.B=$03, renvoie l'adresse des interrupteurs dans D1.L
RESOLUTION 33 Si D1.L=0, on récupère la résolution de la fenêtre d'affichage dans D1.L sous la forme :
   - D1.L =  Largeur sur 16 bits  Hauteur sur 16 bits 
Sinon, la taille de la fenêtre d'affichage est modifiée, en interprétant D1.L par :
   - D1.L =  Largeur sur 16 bits  Hauteur sur 16 bits 
Rmq : La largeur doit être de 640 mini et la hauteur de 480 mini
GET_MOUSE61Permet de récupérer les informations sur la souris (et quelques informations "clavier") en fonction de D1. Avec D1 à 0, on a en retour :
- D0.B =      C  A  D  M  R  où C,A,S donne l'état des touches Ctrl, Alt et Shift du clavier et M, R, L donne l'état des boutons Milieu, Droit et Gauche de la souris.
- et D1.L=  Coord Y sur 16 bits  Coord X sur 16 bits  (0 ,0) en haut à gauche
MOUSE_IRQ 60 Pour info, si nécessaire, cet appel permet de décider les prises en compte de la souris sous interruptions
Les Appels de BIBGRAPH.X68
Nom de la routineN° de la routine
valeur pour D0
Action réalisée
SET_PEN_COLOR 80Initialise la couleur du crayon avec D1.L = $00BBVVRR où les trois octets de droite représentent les intensités de BBleu VVert et RRouge
SET_FILL_COLOR 81Initialise la couleur du remplissage avec D1.L = $00BBVVRR
DRAW_PIX 82Dessine un pixel avec la couleur du crayon en X,Y avec X=D1.W et Y=D2.W
GET_PIX_COLOR 83Récupère dans D0.L la couleur du pixel situé en X,Y avec X=D1.W et Y=D2.W
DRAW_LINE 84Dessine une ligne avec la couleur du crayon de X1,Y1 à X2,Y2 avec X1=D1.W , Y1=D2.W , X2=D3.W et Y2=D4.W
DRAW_TO 85Dessine une ligne avec la couleur du crayon de la position actuelle à X,Y avec X=D1.W et Y=D2.W
MOVE_TO 86Va se positionner à X,Y avec X=D1.W et Y=D2.W
DRAW_FILL_RECT 87Dessine un rectangle "plein" avec la couleur du remplissage et la couleur du crayon pour le contour. Rectangle dont les coordonnées du point haut gauche sont X1,Y1 et celles du bas droite sont X2,Y2 avec X1=D1.W , Y1=D2.W , X2=D3.W et Y2=D4.W
DRAW_FILL_ELLIPSE 88Dessine une ellipse "pleine" avec la couleur du remplissage et la couleur du crayon pour le contour. Ellipse inscrite dans un rectangle dont les coordonnées du point haut gauche sont X1,Y1 et celles du bas droite sont X2,Y2 avec X1=D1.W , Y1=D2.W , X2=D3.W et Y2=D4.W
POT_DE_PEINTURE 89Colorie tous les pixels qui sont de la même couleur et en contact avec le pixel en X,Y avec X=D1.W et Y=D2.W. Ce coloriage se fait avec la couleur de remplissage.
DRAW_RECT 90Dessine un rectangle avec la couleur du crayon pour le contour. Rectangle dont les coordonnées du point haut gauche sont X1,Y1 et celles du bas droite sont X2,Y2 avec X1=D1.W , Y1=D2.W , X2=D3.W et Y2=D4.W
DRAW_ELLIPSE 91Dessine une ellipse avec la couleur du crayon pour le contour. Ellipse inscrite dans un rectangle dont les coordonnées du point haut gauche sont X1,Y1 et celles du bas droite sont X2,Y2 avec X1=D1.W , Y1=D2.W , X2=D3.W et Y2=D4.
WIDTH_PEN 93Définit la largeur du crayon en pixels (dans D1.B)
DRAW_STRING 95"Dessine" une chaîne de caractères dont l'adresse est contenue dans A1 (terminée par zéro) en X,Y avec X=D1.W et Y=D2.W (rmq : la fonction 22 n'est bien évidemment plus active)
SWAP_SCREEN 94Affiche à l'écran le buffer d'écran virtuel (voir N°92 cas 17)
DRAW_MODE 92Définit le mode de dessin suivant la valeur de D1.B
   -  D1.B=17 Permet de dessiner dans l'écran virtuel
   -  D1.B=16 Revient au dessin dans l'écran actuel
   D'autres cas (sans donner toute la liste)
   -  D1.B=0 Dessine en Noir
   -  D1.B=1 Dessine en Blanc
   -  D1.B=3 Dessine en Inversant la couleur de fond
   -  D1.B=5 Dessine en Inversant la couleur de crayon
   -  D1.B=6 Dessine en Inversant la couleur de fond et en faisant un OU logique avec la couleur de crayon
   -  D1.B=7 Dessine en Inversant la couleur de fond et en faisant un ET logique avec la couleur de crayon
   -  EtcÉ
Les Appels de BIBFICH.X68
Nom de la routineN° de la routine
valeur pour D0
Action réalisée
CLOSE_ALL_FILE 50Ferme tous les fichiers (il est recommandé de le faire avant toute manipulation sur des fichiers)
OPEN_FILE 51Ouvre le fichier dont le nom se trouve à l'adresse contenue dans A1
D1.L contient ensuite le N°Identifiant le fichier
NEW_FILE 52Idem ci-dessus lorsque le fichier dont le nom se trouve à l'adresse contenue dans A1 n'est pas trouvé D1.L contient ensuite le N°Identifiant le fichier
READ_FILE 53Lit D2.L octets dans le fichier dont le N°Identifiant est dans D1.L et stocke le résultat dans un buffer dont l'adresse est dans A1. Au retour D2.L contient le nombre d'octets réellement lus.
WRITE_FILE 54Ecrit D2.L octets dans le fichier dont le N°Identifiant est dans D1.L en prenant les octets dans un buffer dont l'adresse est dans A1.
CLOSE_FILE 56Ferme le fichier dont le N°Identifiant se trouve dans D1.L
DELETE_FILE 57Efface le fichier dont le nom se trouve à l'adresse contenue dans A1