Ce tutoriel explique comment réaliser des programmes en langage C qui seront exécutés sous Apple II. Le développement se fait sur une machine moderne (PC sous Linux ou Mac dans ce tuto) et utilise le cross-compilateur cc65, ainsi que différents outils : IDE, utilitaire de gestion de disquettes, émulateur Apple II.
Un premier programme
Le compilateur
cc65 est un outils de développement pour le microprocesseur 65(C)02, incluant un cross-compilateur en langage C, un assembleur, un éditeur de liens, des librairies et d’autres outils. Il permet de développer pour de nombreux ordinateurs basés sur ce processeur ; Apple II bien sûr, mais également les Atari 8bits, le VIC20, l’Oric Atmos, le Commodore 64, la NES, etc.
Le compilateur semble respecter la norme ANSI C, du moins jusqu’à un certain point. Des recommandations de programmation sont explicitées dans le wiki de cc65, à cet endroit.
Installations
Les différents composants et utilitaires nécessaires à la programmation sont :
- Un éditeur de texte ou un environnement de développement intégré ;
- Le cross-compilateur cc65 ;
- Le gestionnaire de disquettes Apple II AppleCommander (utilisation en mode console) ;
- Un émulateur Apple II.
L’installation de cc65 sous Windows ou Linux est expliquée sur le site officiel https://cc65.github.io/getting-started.html.
La création de l’environnement de développement sous différentes plate-formes est détaillée sur cette page.
Mon premier programme
/* Premier exemple de programme en C sous Apple II */
#include <stdio.h>
int main(void) {
printf("\n");
printf("Bonjour, utilisateur APPLE 2\n") ;
return 0;
}
Pour fabriquer l’exécutable sous Linux saisir la commande suivante dans un terminal ($ étant le prompt) :
$ cl65 -t apple2enh -O test.c -o TEST
L’option -t spécifie la plateforme cible (ici apple2 Enhanced), -O invoque l’optimiseur du compilateur et -o permet de définir le nom du fichier exécutable (TEST
). A noter que cl65 effectue à la fois la compilation et l’édition des liens.
Ensuite, pour installer l’exécutable sur une image de disquette (ici DISKTST.do
formatée en DOS3.3), utilisez AppleCommander :
$ ac -d DISKTST.do TEST $ ac -as DISKTST.do TEST < ./TEST
La première commande efface le programme TEST
éventuellement présent sur l’image de la disquette. La 2ème effectue le transfert de TEST
depuis le système de fichier vers l’image de la disquette. L’option -as permet d’effectuer ce transfert en tenant compte du fait que l’exécutable produit par cc65 est dans le format AppleSingle.
Il ne reste plus qu’à tester le programme avec AppleWin. Après avoir inséré la disquette dans le lecteur 1, saisir la commande :
BRUN TEST
Cette commande lance le programme exécutable.
Remarque importante : Lorsque vous installez le programme exécutable sur la disquette, il faut au préalable éjecter la disquette du lecteur d’Applewin (cliquez à droite sur le lecteur et sélectionner ‘Eject’). Si vous ne prenez pas cette précaution, le programme ne sera pas mis à jour !