C64 BASIC en 2025 : Leçon 1 – Apprendre la programmation rétro simplement

Découvrez comment apprendre la programmation BASIC sur Commodore 64 en 2025, avec un tutoriel étape par étape en français. Ce guide rétro est optimisé pour les passionnés de l’informatique vintage en France, Belgique et Suisse, avec des instructions pour l’émulateur VICE et les commandes essentielles comme PRINT, SAVE, LOAD, RUN. Parfait pour les débutants en codage rétro.

Leçon 1 : Introduction à la Rétro-programmation sur C64

 

Bienvenue dans notre série C64 BASIC pour 2025 ! Que vous soyez un novice en codage ou un passionné nostalgique, cette première leçon vous plongera dans le monde fascinant du Commodore 64. Nous couvrirons les bases pour que vous puissiez faire vos premiers pas dans la rétro-programmation.

Ce dont vous avez besoin pour commencer

Pour démarrer votre aventure dans la programmation C64, voici ce qu’il vous faut :

  • Émulateur C64 : Nous recommandons VICE (Versatile Commodore Emulator) ou CCS64. VICE est un choix populaire parmi les enthousiastes du rétro-informatique en France, réputé pour sa compatibilité étendue et sa communauté active. CCS64, bien que commercial, est apprécié pour sa simplicité d’utilisation sur Windows.
  • Disquette virtuelle .d64 : Nous vous montrerons comment créer un fichier .d64 vide pour sauvegarder vos programmes.

Comparaison des émulateurs C64 : VICE vs. CCS64

Le choix de l’émulateur est crucial pour votre expérience de rétro-programmation.

VICE (Versatile Commodore Emulator) est une solution open-source reconnue pour sa haute compatibilité et ses fonctionnalités complètes. Il est disponible sur diverses plateformes (Windows, macOS, Linux) et bénéficie du soutien d’une large communauté d’utilisateurs et de développeurs, y compris en France, en Belgique et en Suisse. Sa flexibilité en fait le choix privilégié des utilisateurs avancés et des développeurs.

CCS64 est un émulateur commercial souvent loué pour sa convivialité et ses bonnes performances, en particulier sur les systèmes Windows. Bien que les deux offrent une expérience C64 authentique, VICE est souvent préféré pour son support actif et sa capacité à émuler un large éventail de périphériques Commodore.

La légalité des émulateurs en France et dans les pays francophones

En France, le statut légal des émulateurs et des fichiers ROM est un sujet fréquemment abordé. La loi française (article L122-5 du Code de la Propriété Intellectuelle) permet la copie privée d’une œuvre que l’on possède légalement. Cela signifie que si vous êtes propriétaire de jeux ou logiciels C64 originaux, vous avez le droit de les utiliser avec un émulateur à des fins personnelles. Le téléchargement et l’utilisation de ROMs sans licence sont en revanche illégaux. Cette notion de copie privée est également applicable, avec quelques nuances, en Belgique et en Suisse.

De nombreuses communautés rétro françaises et des musées comme La Cité des sciences et de l’industrie à Paris ou des associations telles que MO5.COM et Silicium.org se consacrent à la préservation du patrimoine numérique et encouragent une utilisation légale et éducative des anciens programmes et ordinateurs familiaux.

Premiers pas en programmation

Embarquons pour un voyage dans les eaux de la rétro-programmation (modes direct et programmation, ainsi que les commandes de base comme PRINT, LOAD, SAVE, etc.).

Introduction au BASIC sur Commodore 64

BASIC, ou « Beginner’s All-purpose Symbolic Instruction Code », était le principal langage de programmation sur le C64 et de nombreux autres ordinateurs familiaux de l’époque. Il permettait aux utilisateurs d’écrire des programmes simples à l’aide de commandes similaires à l’anglais.

Pourquoi le BASIC est toujours important aujourd’hui

Bien que le BASIC sur C64 soit un langage d’une ère révolue, il est d’une valeur inestimable pour comprendre les concepts fondamentaux de la programmation. Il enseigne la pensée logique, la résolution de problèmes et l’interaction directe avec le matériel, ce qui est souvent masqué dans les langages modernes plus abstraits. Pour les élèves et les enseignants, la programmation C64 BASIC offre une excellente opportunité d’introduire l’informatique de manière ludique et visuelle. C’est un langage simple mais puissant pour saisir les bases de l’informatique.

Exécution directe vs. programmée

Si vous souhaitez voir le résultat d’une commande immédiatement, tapez-la avec ses arguments, puis appuyez sur la touche RETURN (ou ENTER dans l’émulateur). Le résultat apparaîtra instantanément à l’écran.

Maintenant, voici la partie principale. Pour créer un programme en C64 BASIC standard (ainsi que dans les versions BASIC de la plupart des autres ordinateurs) qui sera exécuté plus tard, nous attribuons des numéros de ligne de programme (10, 20, 30…) aux mêmes commandes. Vous vous demandez peut-être pourquoi nous ne commençons pas par les numéros de ligne 1, 2, 3… La réponse est simple. Lorsque vous voulez insérer des commandes entre deux lignes de programme déjà saisies, vous pouvez insérer un nombre entre les deux et saisir les commandes souhaitées. Par exemple, la ligne 15 apparaîtra naturellement entre les lignes 10 et 20, ce qui est extrêmement utile et très souvent appliqué lors de la création de programmes. Faites également attention au carré clignotant. C’est le curseur C64, qui indique où le caractère que vous tapez apparaîtra.

Travailler avec des variables

Avant de commencer la programmation C64 BASIC, nous devons apprendre une fonction informatique très importante qui permet à la plupart de nos programmes de fonctionner. Que sont les variables ? Les variables peuvent être imaginées comme des boîtes dans l’ordinateur qui contiennent des nombres ou du texte. Nous pouvons alors travailler avec ces boîtes : pour les données numériques, nous pouvons effectuer divers calculs, évaluer les fonctions souhaitées, etc. ; et pour les données textuelles, nous pouvons les concaténer, les ajouter, les soustraire, les rechercher et bien plus encore.

Les variables numériques sont désignées par des lettres ou des mots, et leur valeur est attribuée via des commandes ou simplement par le signe = (par exemple, R=5 ou RESULTAT=5). Les variables textuelles sont également désignées par des lettres ou des mots, mais elles sont suffixées d’un signe $. Leur valeur est également attribuée via des commandes ou le signe =, et elles sont placées entre guillemets (par exemple, I="Miki" ou NOM$="Miki").

Commandes BASIC fondamentales expliquées

PRINT – La première commande

  • PRINT "Bonjour C64!" – Affiche le texte « Bonjour C64! » à l’écran sans guillemets.
  • PRINT 5+7 – Affiche le résultat 12 à l’écran.
  • PRINT R – Affiche la valeur numérique de la variable R à l’écran (dans notre exemple, 5).
  • PRINT NOM$ – Affiche la valeur textuelle de la variable NOM$ à l’écran (dans notre exemple, « Miki »).

La commande PRINT est utilisée pour afficher du texte ou des valeurs de variables, ainsi que pour les calculs directs et programmés. Cette commande a également la capacité d’afficher les résultats de diverses fonctions. Elle est utilisée avec des variations mineures lors du travail avec des imprimantes, des disques, des bases de données, etc.

Pour l’utiliser dans un programme, nous allons lui assigner un numéro de ligne de programme et ainsi commencer à programmer : 10 PRINT "Bonjour C64!" Appuyer sur ENTRÉE ne fera rien, car la commande que nous avons écrite sera stockée dans la mémoire de l’ordinateur, attendant d’être démarrée, listée ou supprimée.

LIST – Lister un programme

Cette commande affiche ce que nous avons saisi comme programme. Les formats de cette commande sont :

  • LIST – Liste l’intégralité du programme en mémoire.
  • LIST 10 – Liste uniquement la ligne de programme avec ce numéro (ou n’importe quel autre numéro que nous saisissons et qui existe dans le programme).
  • LIST -50 – Liste les lignes de programme du début du programme jusqu’au numéro 50.
  • LIST 30-70 – Liste les lignes de programme du numéro 30 au 70.
  • LIST 80- – Liste les lignes de programme du numéro 80 à la fin du programme.

RUN – Démarrer un programme

Cette commande est très importante car elle sert à démarrer un programme à partir de la mémoire. Bien sûr, l’exécution du programme se déroule séquentiellement, à moins qu’une commande ne redirige le flux du programme vers une autre ligne de programme. Les formats de cette commande sont :

  • RUN – Démarre le programme à partir de la première ligne de programme saisie en mémoire.
  • RUN 50 – Démarre le programme à partir de la ligne de programme 50 (bien sûr, vous déterminez quel numéro de ligne vous voulez être le point de départ).

GOTO – Aller à la ligne de programme souhaitée

Nous utilisons cette commande lorsque nous voulons que le programme, au lieu de s’exécuter séquentiellement, saute à une ligne de programme spécifique. Le format de cette commande est :

  • GOTO 10 – Aller à la ligne de programme 10 (ou toute autre selon vos souhaits).

Maintenant, nous pouvons créer un petit programme en utilisant cette commande et celle que nous venons d’apprendre :

10 PRINT "Bonjour C64!"
20 GOTO 10

Lorsque nous tapons la commande RUN et appuyons sur la touche RETURN (ou ENTER dans l’émulateur), le programme commencera à s’exécuter. Dans la première ligne de programme 10, le texte « Bonjour C64! » sera affiché à l’écran, et le curseur/sortie de texte passera à la ligne d’écran suivante. La deuxième ligne de programme ramènera le compteur de programme à la première ligne, de sorte que ce texte s’affiche à nouveau, et ainsi de suite indéfiniment. Pour arrêter l’exécution de ce programme, nous devons appuyer sur la touche « RUN/STOP » (qui est la touche « ESC » dans l’émulateur).

Si nous voulons que le texte s’affiche sans passer à la ligne suivante à l’écran, nous ajoutons un point-virgule (;) à la fin de la première ligne de programme, de sorte que cette ligne ressemble maintenant à ceci : 10 PRINT "Bonjour C64!";. Si nous voulons un espacement spécifique lors de la sortie, nous utilisons une virgule (,) – 10 PRINT "Bonjour C64!",.

Pour ajouter quelque chose à une ligne de programme, nous pouvons taper toute la ligne avec les modifications et appuyer sur RETURN/ENTER, ou, beaucoup plus facile, lister le programme si la ligne souhaitée n’est pas visible à l’écran, utiliser les touches fléchées pour déplacer le curseur à l’endroit souhaité, ajouter ce que nous voulons, puis appuyer sur RETURN/ENTER. Si nous voulons supprimer une ligne de programme entière, nous entrons simplement son numéro et appuyons sur RETURN/ENTER.

SAVE – Sauvegarder un programme

Cette commande sauvegarde notre programme sur un lecteur de cassettes ou une disquette. Sa forme de base est :

  • SAVE "NOM_DU_PROGRAMME",1 – pour magnétocassette (ici, le ‘1’ indique un magnétocassette et est implicite, il n’est donc pas nécessaire de le taper).
  • SAVE "NOM_DU_PROGRAMME",8,1 – pour disquette (le ‘8’ indique le lecteur de disquettes principal et doit être tapé, et le ‘1’ indique que la sauvegarde est effectuée exactement selon la carte mémoire / pour la sauvegarde des programmes BASIC, il peut être omis, mais je recommande de le taper quand même).

Puisque nous avons déjà un programme créé précédemment, nous allons le sauvegarder sur une disquette (ou dans le fichier de l’émulateur) comme suit : SAVE "LECON-1",8,1 Dans l’émulateur, après cela, nous appuierons sur F10, sélectionnerons 1541 device 8, et appuierons à nouveau sur ENTRÉE. (D’ailleurs, les numéros à côté de 1541 device de 8 à 11 indiquent les lecteurs de disquettes qui pouvaient être connectés au C64. Le lecteur de disquettes principal est le numéro 8, et les autres supplémentaires vont de 9 à 11). L’ordinateur vous demandera si vous souhaitez écrire les modifications sur la disquette virtuelle, ce à quoi vous répondrez OUI. Vous pouvez effectuer plusieurs sauvegardes avant cela.

NEW – Supprimer un programme

Cette commande supprime le programme de la mémoire. Entrez cette commande directement (à ce stade, je ne vous embêterai plus avec l’appui sur RETURN/ENTER car vous savez maintenant qu’après chaque commande, pour qu’elle soit exécutée ou pour qu’une ligne de programme soit saisie dans la mémoire de l’ordinateur, vous devez le faire). Lorsque vous utiliserez la commande LIST, vous verrez que le programme n’est plus là.

LOAD – Charger un programme

Cette commande charge le programme souhaité à partir d’un magnétocassette ou d’une disquette. Sa forme de base est :

  • LOAD "NOM_DU_PROGRAMME",1 – pour magnétocassette (comme avec la commande SAVE, ici ‘1’ indique un magnétocassette et est implicite, il n’est donc pas nécessaire de le taper).
  • LOAD "NOM_DU_PROGRAMME",8,1 – pour disquette (comme avec la commande SAVE, ‘8’ indique le lecteur de disquettes principal et doit être tapé, et ‘1’ indique que le chargement est effectué exactement selon la carte mémoire / pour le chargement des programmes BASIC, il peut être omis, mais je recommande de le taper quand même).

Puisque nous venons de sauvegarder notre programme et de le supprimer, nous allons le charger à nouveau en mémoire comme suit : LOAD "LECON-1",8,1 De plus, si c’est le seul programme sur la disquette, nous pouvons taper : LOAD "*",8,1 où le premier programme de la disquette sera chargé. Ce caractère générique "*" peut également être combiné lorsqu’il y a plusieurs programmes sur la disquette. Alors il est plus facile de taper la commande, d’entrer trois ou quatre caractères initiaux du nom du programme et d’ajouter "*" (par exemple, LOAD "LEC*",8,1).

VERIFY – Vérifier l’intégrité de l’écriture du programme

Cette commande vérifie si le programme souhaité a été correctement enregistré sur la cassette ou la disquette. Sa forme est :

VERIFY "LECON-1",8,1

Si tout est en ordre, le message « READY » s’affichera. Sinon, un message « VERIFY ERROR » s’affichera.

Exemples de programmes

Boucle infinie avec GOTO et PRINT

10 PRINT "Bonjour C64!"
20 GOTO 10

Lorsque nous entrons la commande RUN et appuyons sur la touche RETURN (ou ENTER dans l’émulateur), le programme commence son exécution. Dans la première ligne de programme 10, le texte « Bonjour C64! » est affiché à l’écran, et le curseur/sortie de texte passe à la ligne d’écran suivante. La deuxième ligne de programme ramène le compteur de programme à la première ligne, de sorte que ce texte s’affiche à nouveau, et ainsi de suite indéfiniment. Pour arrêter l’exécution de ce programme, nous devons appuyer sur la touche « RUN/STOP » (dans l’émulateur, c’est la touche « ESC »).

Sortie de texte sans saut de ligne et avec espacement

Si nous voulons que le texte s’affiche à l’écran sans passer à la ligne suivante, nous ajoutons un point-virgule (;) à la fin de la première ligne de programme, de sorte que cette ligne ressemble maintenant à ceci : 10 PRINT "Bonjour C64!";. Si nous voulons un espacement spécifique lors de la sortie, nous utilisons une virgule (,) – 10 PRINT "Bonjour C64!",.

Sauvegarder et charger un programme

Puisque nous avons déjà un programme de précédemment, nous le sauvegardons comme suit sur une disquette (ou dans le fichier de l’émulateur) : SAVE "LECON-1",8,1 Dans l’émulateur, après cela, nous appuyons sur F10, sélectionnons 1541 device 8 et appuyons à nouveau sur ENTRÉE. (D’ailleurs, les numéros à côté de 1541 device de 8 à 11 indiquent les lecteurs de disquettes qui pouvaient être connectés au C64. Le lecteur de disquettes principal est le numéro 8, et les autres supplémentaires sont de 9 à 11). L’ordinateur vous demandera si vous souhaitez enregistrer les modifications sur la disquette virtuelle, ce à quoi vous répondez OUI. Vous pouvez effectuer plusieurs sauvegardes au préalable. Pour recharger le programme en mémoire : LOAD "LECON-1",8,1 Même si c’est le seul programme sur la disquette, nous pouvons taper : LOAD "*",8,1 où le premier programme de la disquette sera chargé. Ce caractère générique "*" peut également être combiné si plusieurs programmes se trouvent sur la disquette. Alors il est plus facile de taper la commande, d’entrer trois ou quatre caractères initiaux du nom du programme et d’ajouter "*" (par exemple, LOAD "LEC*",8,1).

Vérification du programme

Pour vérifier si le programme souhaité a été correctement enregistré sur la cassette ou la disquette, utilisez : VERIFY "LECON-1",8,1 Si tout est en ordre, le message « READY » s’affichera. Sinon, un message « VERIFY ERROR » s’affichera.

Dépannage pour les débutants

  • Erreurs de syntaxe : Faites très attention à l’orthographe correcte des commandes et à l’utilisation des guillemets pour les textes. Une seule faute de frappe peut faire planter le programme.
  • Numéros de ligne : Assurez-vous que vos numéros de ligne sont dans l’ordre croissant et laissent suffisamment d’espace pour des insertions ultérieures (par exemple, 10, 20, 30 au lieu de 1, 2, 3).
  • Problèmes de mémoire : Si votre programme ne peut pas être sauvegardé ou chargé, vérifiez que votre disquette virtuelle est correctement montée et qu’il y a suffisamment d’espace de stockage.
  • Boucles infinies : Si un programme ne répond plus, appuyez sur RUN/STOP (ESC dans l’émulateur) pour arrêter l’exécution.

Programmer en C64 pour les élèves et les enseignants

La programmation C64 BASIC offre une fantastique opportunité de transmettre les concepts fondamentaux de l’informatique de manière concrète et motivante. Pour les élèves, le feedback direct du C64 et la syntaxe simple du BASIC peuvent faciliter l’entrée dans la programmation et favoriser une compréhension du fonctionnement des ordinateurs à un niveau plus profond. Les enseignants peuvent utiliser le C64 comme un outil historique et pédagogique pour démontrer de manière visuelle des sujets tels que les algorithmes, les variables, les boucles et les instructions conditionnelles. De nombreuses écoles en France, en Belgique et en Suisse, en particulier dans les années 80 et 90, ont utilisé le C64 pour les premières leçons d’informatique, et cette tradition peut être poursuivie aujourd’hui avec des émulateurs.

Ressources recommandées

Et ensuite ?

Restez connectés pour la Leçon 2 : Entrée/Sortie et création de programmes interactifs. Abonnez-vous à notre newsletter ou mettez cette page en favori !

Rejoignez la Communauté Rétro-Coding

Vous souhaitez recevoir des mises à jour ? Suivez-nous sur Twitter (X) et Facebook, ou abonnez-vous à notre newsletter.

Avez-vous déjà tapé votre premier ’10 PRINT’ sur un vrai C64 ? Partagez votre premier programme BASIC dans les commentaires !

Foire aux Questions (FAQ)

Question : Quelle est la meilleure façon d’émuler un C64 sur Windows/Mac ? Réponse : Pour Windows et Mac, VICE (Versatile Commodore Emulator) est largement considéré comme la meilleure option grâce à sa compatibilité élevée, sa fidélité à l’original et ses mises à jour régulières. Il est open-source et fonctionne sur la plupart des systèmes modernes.

Question : Peut-on légalement utiliser des ROMs C64 ? Réponse : La légalité des ROMs dépend de votre possession du logiciel original. En France, la copie privée est autorisée si vous possédez le support physique original. Télécharger et utiliser des ROMs pour lesquelles vous n’avez pas de licence est généralement illégal. Il existe cependant de nombreux programmes et jeux du domaine public que vous pouvez utiliser librement.

Question : Quelle est la différence entre le mode direct et le mode programme ? Réponse : En mode direct, les commandes BASIC sont exécutées immédiatement après que vous appuyez sur ENTER. C’est utile pour des calculs rapides ou pour tester des commandes. En mode programme, les commandes sont précédées de numéros de ligne (ex: 10, 20, 30). Elles sont stockées en mémoire et ne s’exécutent que lorsque vous tapez la commande RUN. Cela permet de créer des séquences d’instructions complexes et réutilisables.

Appel à l’action (CTA)

💾 Téléchargez VICE et commencez votre premier programme C64 aujourd’hui !