Ce guide vous accompagnera dans la création d’un environnement de développement moderne pour programmer en BASIC sur Commodore 64. Vous apprendrez à utiliser VS Code comme éditeur, à compiler vos programmes, à les tester sur émulateur et enfin à les transférer sur une machine C64 réelle.
1. Introduction
Le workflow moderne permet de s’affranchir des contraintes du clavier original pour la phase d’écriture. Le cycle de développement complet est le suivant :
- Édition dans VS Code (format texte
.bas). - Conversion en format binaire
.PRG(tokenisation). - Test immédiat sur l’émulateur VICE.
- Transfert vers le C64 réel via carte SD ou interface série.
2. Prérequis matériels et logiciels
2.1 Logiciels nécessaires
- Visual Studio Code : Votre éditeur de texte principal.
- VICE (Versatile Commodore Emulator) : Version 3.7 ou supérieure (indispensable pour les outils
petcatetc1541). - Node.js (Optionnel) : Utile pour certains outils de build automatisés.
2.2 Matériel pour transfert vers C64 réel
Pour exécuter votre code sur le « vrai » fer, choisissez l’une de ces solutions :
- SD2IEC : La solution la plus équilibrée (~30-50€). Branchement sur le port série (IEC).
- Pi1541 : Émulation 1541 parfaite via un Raspberry Pi.
- Ultimate 64 / 1541 Ultimate II+ : La solution haut de gamme (FPGA).
- Câble XM1541 : Connexion directe PC-C64 (port parallèle requis).
3. Configuration de VS Code
3.1 Installation de l’extension
- Ouvrez VS Code et allez dans les Extensions (
Ctrl+Shift+X). - Recherchez et installez « C64 BASIC » (par Kroc Camen). Elle gère la coloration syntaxique et les symboles PETSCII entre accolades.
3.2 Workspace
Créez un dossier dédié (ex: C:\RetroDev\C64\) et ouvrez-le dans VS Code. Cela facilitera l’automatisation des tâches de compilation.
4. Configuration de VICE
L’émulateur ne sert pas qu’à jouer, il contient les outils de conversion indispensables.
| Paramètre | Valeur recommandée | Utilité |
| Model | C64C (PAL) | Standard européen le plus courant |
| True Drive Emulation | On | Indispensable pour la compatibilité disque |
| Warp Mode | Alt+W | Accélère le chargement (vitesse x10) |
| VIC-II Filter | CRT | Pour un rendu visuel authentique |
Astuce : Après avoir modifié vos réglages, faites toujours
Settings->Save current settings.
5. Développement de votre premier programme
Créez un fichier nommé hello.bas. Le BASIC du C64 nécessite des numéros de ligne.
Basic
10 REM *** HELLO WORLD PROGRAM ***
20 PRINT "{CLR}"
30 PRINT "{DOWN}{DOWN}{DOWN}"
40 PRINT " HELLO FROM VS CODE!"
50 PRINT
60 FOR I=1 TO 5
70 PRINT " LINE NUMBER ";I
80 FOR J=1 TO 200:NEXT J
90 NEXT I
100 PRINT
110 PRINT "PRESS ANY KEY TO EXIT"
120 GET A$:IF A$="" THEN 120
130 END
Codes de contrôle PETSCII
Pour simuler les touches spéciales (couleurs, mouvements de curseur) dans un fichier texte, on utilise des balises :
{CLR}: Effacer l’écran.{RED},{BLU},{WHT}: Changer la couleur du texte.{RVS ON}: Texte en vidéo inversée.
6. Conversion et Compilation
Le C64 ne lit pas les fichiers .bas texte directement. Il faut les convertir en .prg (format tokenisé).
6.1 Utilisation de petcat
L’utilitaire petcat est inclus dans le dossier d’installation de VICE.
Bash
# Exemple de commande de conversion
petcat -w2 -o hello.prg -- hello.bas
6.2 Automatisation (build.bat pour Windows)
Copiez ce script dans votre dossier de projet pour compiler et lancer VICE d’un seul clic :
Extrait de code
@echo off
set VICE_PATH=C:\Program Files\VICE
"%VICE_PATH%\petcat.exe" -w2 -o program.prg -- %1
if %ERRORLEVEL% EQU 0 (
"%VICE_PATH%\x64sc.exe" -autostart program.prg
)
7. Transfert vers un Commodore 64 réel
C’est ici que votre code prend vie sur le matériel d’origine.
8.1 Via SD2IEC
- Copiez votre fichier
hello.prgsur une carte SD (FAT32). - Insérez la carte dans le SD2IEC connecté au C64.
- Sur le C64, tapez :
LOAD "HELLO.PRG",8puisRUN.
8.2 Création d’une image disque (.D64)
Certains programmes nécessitent plusieurs fichiers. Utilisez c1541 (fourni avec VICE) :
Bash
# Créer un disque et ajouter le programme
c1541 -format "mon_disque,id" d64 disk.d64
c1541 disk.d64 -write hello.prg hello
9. Dépannage et conseils
- Syntax Error : Souvent dû à un espace manquant ou une balise
{}mal orthographiée. - Mémoire : Le BASIC dispose de 38 911 octets libres. Si vous manquez d’espace, supprimez les
REM(commentaires). - Vitesse : Les boucles
FOR/NEXTsont lentes en BASIC. Pour des jeux rapides, il faudra un jour explorer l’assembleur 6502.
Table de correspondance des couleurs (PEEK)
| Couleur | Code |
| Noir | 0 |
| Blanc | 1 |
| Rouge | 2 |
| Bleu | 6 |
10. Conclusion
Vous avez maintenant un pont entre la puissance de l’édition moderne et le charme du matériel vintage. Cette configuration permet d’apprendre les bases de la programmation tout en respectant les contraintes techniques de 1982.