J’ai écrit il y a quelques années un article sur la programmation en C sur Apple II grâce au compilateur cc65.
Nous allons voir dans ce nouveau tutoriel comment programmer graphiquement en haute-résolution sur Apple II grâce à la librairie dénommée Tiny Graphic Interface (tgi) de cc65.
Cette dernière met à disposition des fonctions graphiques indépendantes de la plate-forme utilisée. Il est ainsi possible d’utiliser les exemples de cet article sur d’autres ordinateurs qu’Apple II moyennant une adaptation facile. Les fonctions sont disponibles après avoir inclus le fichier d’entête tgi.h
dans le code source.
Un premier programme très simple
Voici un exemple de type « Hello world » en mode graphique.
#include <conio.h>
#include <tgi.h>
void main (void)
{
tgi_install(a2_hi_tgi);
tgi_init ();
tgi_clear();
tgi_setcolor(TGI_COLOR_WHITE);
tgi_outtextxy(30,80,"Hello Apple II world!");
cgetc ();
tgi_done();
clrscr();
cprintf("BACK TO TEXT MODE\n");
tgi_uninstall();
}
Voici quelques explications :
- La première chose à faire est de charger la librairie graphique tgi en mémoire, en appelant la fonction
tgi_install(a2_hi_tgi)
. tgi_init()
bascule en mode graphique haute résolution.tgi_clear()
efface l’écran graphique.- vous pouvez ensuite tracer des objets graphique. Ici l’appel à la fonction
tgi_outtextxy()
affiche le texte à partir des coordonnées (30, 80). tgi_done()
bascule en mode texte sans désinstaller la lib graphique (il est possible de repasser en mode graphique en appelant la fonction tgi_init).- Enfin, pour terminer proprement le programme, désinstaller la lib graphique grâce à l’appel de fonction
tgi_uninstall()
.
Pour compiler ce programme (sauvegardé dans le fichier hires_tst.c
) depuis l’interpréteur de commande :
cl65 -t apple2 -C apple2-hgr.cfg hires_tst.c -o HTST
Puis pour l’installer sur l’image de disquette DEV.DSK
avec Applecommander :
ac -d DEV.DSK HTST
ac -as DEV.DSK HTST < ./HTST
Vous pouvez ensuite lancer le programme depuis un émulateur Apple II en « insérant » la « disquette » DEV.DSK et en saisissant la commande :
BRUN HTST
L’émulateur passe en mode graphique et vous devriez obtenir un écran noir avec le texte « Hello Apple II world! » en blanc.
Vous pouvez maintenant enrichir ce programme pour créer des graphismes en haute résolution. Voici le lien où vous trouverez une documentation de la librairie tgi (sur le site officiel de cc65).
Programme de démonstration
Voici un programme de démonstration plus complet qui présente les possibilités graphiques de tgi ; affichage de texte en mode graphique, de cercles, de points, d’ellipses, de rectangles etc.
Voici l’archive (au format tar) contenant le code source, le makefile
et une image de disquette formatée en DOS 3.3 pour Apple II :
Pour installer le programme, télécharger l’archive sur votre disque, puis l’extraire dans un répertoire.
Pour compiler le code source tgi_hr_demo.c
, utiliser le makefile
en saisissant la commande suivante :
make
Cette commande fabrique l’exécutable HRDEMO
qu’il suffit ensuite d’installer sur l’image de la disquette HRDEMO.DSK :
make install
Ouvrir ensuite la disquette à l’aide d’un émulateur Apple II (ou d’un vrai). Après avoir booté, saisir dans l’Apple II :
] BRUN HRDEMO
La démo se lance… voici quelques images.
Ce programme de démo illustre les possibilités de tgi, mais il est loin d’être exhaustif. Je vous encourage à vous inspirer des exemples proposés pour développer vos propres créations. Les possibilités sont infinies.