Bibliothèque HiSoft GSX C
Le GSX est une extension du système d'exploitation CP/M Plus vous offrant une interface graphique puissante sur votre micro-ordinateur grâce à l'utilisation de fonctions standard identiques sur toutes les mises en oeuvres. L'Amstrad CPC 6128 et l'Amstrad PCW8256/Amstrad PCW8512 ont GSX fourni en standard sous CP/M+ mais le problème est que les appels à GSX sont difficiles à utiliser et qu'il n'y a pratiquement pas de documentation disponible pour eux. Cette page et les fonctions C de GSX associées tentent d'aider en fournissant une interface C de haut niveau à GSX avec une documentation substantielle sur l'utilisation des routines.
Que vous permet GSX ?
Avec GSX, vous pouvez :
- Tracez des lignes et toute sorte de polygone dans 6 styles différents.
- Remplissez les zones dans 12 styles de remplissage différents.
- Déplacez un curseur graphique spécial et lire le clavier en un seul appel.
- Afficher du texte à n'importe quelle position de pixel sur l'écran.
- Écrivez du texte en mode transparent ou XOR.
- Exécutez la plupart des codes d'émulation de terminal CP/M Plus.
- Affichez 5 sortes de «marqueurs» utiles pour dessiner des graphiques.
- Utilisez la couleur sur l'Amstrad CPC 6128.
Si vous utilisez un PCW ou avez une imprimante compatible Epson, Shinwa ou Amstrad DPM-1 pour votre Amstrad CPC 6128, vous disposez également des fonctionnalités suivantes sur l'imprimante uniquement :
- Dessinez du texte de 12 tailles différentes, verticalement et à l'envers sur l'imprimante.
- Utilisez 12 tailles de marqueurs.
Sur les micro-ordinateurs Amstrad, le système d'exploitation CP/M se compose d'un seul fichier avec l'extension .EMS mais pour programmer avec GSX, vous avez besoin de plusieurs fichiers :
- GSX.SYS : Ce fichier contient la partie indépendante de la machine de GSX : environ 2 Ko de long.
- GENGRAF.COM : Ce fichier contient le programme obligeant vos programmes à charger GSX avant leur exécution : environ 2 Ko de long.
- ASSIGN.SYS : Ce fichier indique à GSX quel pilote il doit utiliser : moins de 1 Ko.
- Au moins un pilote de périphérique parmi les suivants :
- GSX.LIB : Ce fichier contient les fonctions C pour appeler GSX. Il n'appelle aucune autre bibliothèque; c'est donc le seul dont vous avez besoin pour certains programmes.
- GSX.H : Ce fichier contient les déclarations des variables C utilisées par GSX.LIB.
Nom du fichier | Description |
---|---|
DDSCREEN.PRL | Ce fichier contient le pilote d'écran de la série PCW, 5 Ko de long: utilisez celui du disque avec la bibliothèque GSX dessus; ce sera mieux que celui de votre disque système ! |
DDMODE0.PRL | Ce fichier contient le pilote CPC mode 0 : 160x200 pixels avec 16 couleurs. 20 caractères par ligne. 4 Ko de long. |
DDMODE1.PRL | Ce fichier contient le pilote CPC mode 1 : 320x400 pixels avec 4 couleurs. 40 caractères par ligne. 4 Ko de long. |
DDMODE2.PRL | Ce fichier contient le pilote CPC mode 0 : 640x400 pixels avec 2 couleurs. 80 caractères par ligne. 4 Ko de long. |
DDFXHR8.PRL | Ce fichier contient le pilote d'imprimante haute résolution pour imprimantes PCW de résolution 960x1368. 15 Ko de long. |
DDFXLR8.PRL | Ce fichier contient le pilote d'imprimante basse résolution pour imprimantes PCW de résolution 480x672. 12 Ko de long. |
Ou l'un des pilotes d'imprimante sur votre disque système. Si vous possédez un Amstrad CPC 6128, voyez la face 3 de votre disque système. Tapez le fichier DRIVERS.GSX. Cela donne des informations sur les différents pilotes d'imprimante. |
Le format de ASSIGN.SYS
Le ASSIGN.SYS est un fichier texte ordinaire devant être présent lors de l'utilisation de GSX; il est composé de lignes au format suivant :
nn d:fname |
où nn est le numéro du périphérique. Conventionnellement :
Valeur | Description |
---|---|
01 à 09 | sont utilisés pour les écrans. |
10 à 19 | sont utilisés pour les traceurs. |
20 à 29 | sont utilisés pour les imprimantes. |
d est un spécificateur de nom d'unité de disque étendu. Il peut être simplement A: ou B: ou M: ou encore @: ce qui signifie l'unité de disque par défaut. Donc, pour utiliser l'écran sur le PCW, il est normal d'utiliser :
01 @:DDSCREEN |
et d'utiliser le mode haute résolution sur le CPC :
01 @:DDMODE2 |
ou
21 @:DDFXHR8 |
pour utiliser l'imprimante sur le PCW.
Vous pouvez utiliser plusieurs périphériques à la fois, mais cela utilise plus de mémoire et vous pouvez facilement vous retrouver avec un message d'erreur :
file too large |
car les pilotes de périphérique doivent se charger dans les 16 Ko de mémoire supérieurs.
Comment compiler et exécuter un programme C en utilisant les bibliothèques GSX
Lors de la compilation de votre programme, vous devez utiliser la commande de pre-processor du compilateur #data. Il est nécessaire car GSX s'exécute en haut de la mémoire et votre programme utilise normalement cette zone pour ses variables et corromprait le GSX. La valeur minimale que vous pouvez utiliser dans #data est donnée lors de la compilation, mais pour les petits programmes, utilisez-la au début de votre programme :
- #data 0x4000
Le format de votre fichier doit être de la format suivant :
- #data 0x4000
-
- #include stdio.h
- #include gsx.h
-
- /* n'importe quel autre inclusion de fichier .h */
- /* Vos fonctions */
-
- main() {
- /* Votre programme principal */
- }
-
- #include ?gsx.lib?
-
- /* Autres inclusions de bibliothèques */
-
- #include ?stdio.lib?
-
- /* si requis */
Il est essentiel que le #data soit présent et avant les directives #include. Ensuite, une compilation d'un programme typique comme BAR.C (étant sur votre disque principal) utilise la commande suivante :
HC BAR.CENTER |
Lorsque votre programme se compile correctement, utilisez la commande suivante :
GENGRAF BARENTER |
pour ajouter le chargeur GSX à BAR.COM, alors entrez la commande suivante et il exécutera votre programme :
BARENTER |
C'est souvent une bonne idée de créer un fichier .SUB pour faire la compilation et GENGRAF en particulier si vous utilisez l'unité de disque M: sur le PCW.