Les unités de Pure Pascal (langage Pascal pour les ordinateurs de la gamme Atari ST), compatible Turbo Pascal.
Unité GEM : Structure AESPB
Cette page a été ajoutée au document HLP Atari d'Origine, car manquante
Structure AESPB
AESPBPtr = ^AESPB;
AESPB = record
control : ^control_ARRAY;
global : ^global_ARRAY;
intin : ^intin_ARRAY;
intout : ^intout_ARRAY;
addrin : ^addrin_ARRAY;
addrout : ^addrout_ARRAY;
end;
L'AES est appelée via un sous-programme unique auquel sont passés six paramètres ; il s'agit des adresses de différents tableaux utilisés pour les communications d'entrée/sortie. Pour appeler une fonction AES, le bloc de paramètres suivant doit être renseigné avec les adresses des tableaux décrits ci-dessus.
Présentons maintenant les tableaux individuels. Chaque champ permet d'exécuter des fonctions d'entrée ou de sortie spécifiques. Les points suivants s'appliquent :
- control[5] of Integer Ce champ permet de déterminer les informations relatives à la fonction appelée et à ses paramètres. Les valeurs suivantes s'appliquent :
- control[0] = Numéro de la fonction (opcode) C'est le paramètre le plus important, celui qui permet d'appeler la fonction AES avec le bon opcode
- control[1] = Nombre d'éléments du tableau int_in envoyés à la fonction
- control[2] = Nombre d'éléments du tableau int_out envoyés à la fonction
- control[3] = Nombre d'éléments du tableau addr_in renvoyés par la fonction
- control[4] = Nombre d'éléments du tableau addr_out renvoyés par la fonction
Il n'existe pas d'informations claires sur les éléments à définir avant un appel AES. Cette information est requise pour les éléments [0], [1] et [3]. Elle semble moins pertinente pour les éléments [2] et [4] : après tout, les fonctions AES connaissent le nombre de valeurs qu'elles renvoient dans les champs de sortie.
- global[15] Of Integer Ce champ contient les données globales de l'application. Il est utilisé en partie par appl_init et en partie par d'autres fonctions AES, et est renseigné automatiquement. Les valeurs suivantes s'appliquent :
- global[0] Numéro de version de l'AES
- global[1] Nombre d'applications pouvant s'exécuter simultanément ; avec une valeur de -1, il n'y a pas de limite
- global[2] Numéro d'identification unique de l'application
- global[3,4] Informations diverses utiles uniquement à l'application et pouvant être définies et lues par elle
- global[5,6] Pointeur vers une liste de pointeurs vers les arborescences d'objets de l'application (défini par rsrc_load)
- global[7,8] Adresse de la mémoire réservée au fichier de ressources. Documentée uniquement par Digital Research et non par Atari.
- global[9] Longueur de la mémoire réservée. Documentée uniquement par Digital Research et non par Atari.
- global[10] Nombre de plans de couleur. Documentée uniquement par Digital Research et non par Atari.
- global[11,12] Réservé
- global[13] Hauteur maximale d'un caractère, utilisée par l'AES pour l'appel à vst_height. Cette entrée est uniquement disponible à partir de la version 4.0 d'AES et est uniquement documentée par Atari.
Depuis la version 2.0 de PC-GEM, cette valeur est interprétée comme un vecteur binaire indiquant les lecteurs enregistrés sur le bureau (bit 15 = Lecteur A).
- global[14] Hauteur minimale d'un caractère utilisée par AES pour l'appel à vst_height. Cette entrée est uniquement disponible à partir de la version 4.0 d'AES et est uniquement documentée par Atari.
Depuis la version 2.0 de PC-GEM, cette valeur est interprétée comme un vecteur binaire spécifiant lesquels des lecteurs listés dans global[13] peuvent être considérés comme des disques durs.
- int_in[16] Of Integer Ce champ transmet tous les paramètres d'entrée de 16 bits.
- int_out[10] Of Integer Ce champ fournit toutes les valeurs de retour de 16 bits.
- addr_in[8] Of LongInt Ce champ sert à transmettre des pointeurs (par exemple vers des chaînes de caractères) aux fonctions AES.
- addr_out[2] Of LongInt Toutes les valeurs de retour 32 bits sont fournies par l'AES via ce champ.
Avertissement : Si le système d'exploitation prend en charge les threads, il est impératif d'utiliser une bibliothèque multithread-safe. Il faut notamment s'assurer que chaque thread dispose de son propre champ global (voir ci-dessus).
|
Vous trouverez dans cette zone la liste de toutes les Unités (équivalent des "Librairies" en C) de Pure Pascal. Les Unités indiqués comme standards existent dans la majorité des compilateurs Pascal existant sur ordinateurs 16 bits et au dela (dont Turbo Pascal 3 mini). Les unités indiqués comme Atari sont spécifiques aux systèmes d'exploitation des Atari ST (TOS n.n).
Accès aux unités
Les menus déroulants de chaque unité sont des accès directs aux procédures et fonctions, classés alphabétiquement (sans tenir compte de la casse, puisque le langage Pascal ne tient pas compte de la casse!)
Cette page Unités est issu du fichier UNIT.HLP de la documentation de Pure Pascal (d'Application Systems Heidelberg), qui a été convertie en format TXT puis traduite de l'Allemand grâce à Google Translator : des milliers de copier/coller de et vers Google translator ont été nécessaires, ne connaissant pas un mot d'Allemand!
Les unités CRT, DOS, Graph, Overlay, Printer et System sont standard à TOUS les compilateurs Pascal compatible avec Turbo Pascal 5. L'unité String a été introduit avec Turbo Pascal 7 (Et Pure Pascal 1.1) et permet de manipuler les chaines de caractères de type langage C. Les Unités GEM (VDI et AES) et TOS (BIOS, GEMDOS et XBIOS) sont spécifiques au système Atari ST et contiennent parfois des fonctions équivalentes à certaines fonctions des Unités générales (notamment BIOS). Les fonction XBIOS sont des fonctions permettant de tirer pleinement partie du matériel spécifique Atari, notamment Falcon (Audio, DSP, Blitter, Résolutions étendues etc)