Avec Visual Studio Code, il est possible de faire du Basic cpc avec un outil moderne en dehors (notez le jeu de mot avec le titre de la news) d’un vrai cpc ou de son émulateur préféré.
Il faut pour cela installer une petite extension dans vscode : Amstrad Basic helper
Il faut aussi paramétrer les fin de ligne en CRLF et non LF dans vscode car le petit défaut de cette extension est qu’elle ne génère pas de fichier basic amsdos avec header mais un simple fichier ascii que l’on peut toutefois importer dans un .dsk sans soucis. On peut même automatiser cette opération en créant une tâche avec vscode.
Ça ne va pas révolutionner le monde de la programmation mais moi je trouve que ça va bien me simplifier la vie.
Création du projet en Basic :
à l’endroit de votre choix, créez un dossier pour votre futur projet.
à la racine de ce dossier, créez un nouveau dossier « .vscode » (on y reviendra après).
faites un [clic droit] sur votre dossier projet et choisissez « ouvrir avec vscode » (moi sous linux je peux faire comme ça).
créez un nouveau fichier du nom que vous souhaitez MAIS en respectant bien 8 caractères max pour le nom et avec l’extension « .bas » : exemples.bas … par exemple 😉
il faut changer une petite chose en bas à droite dans vscode : cliquez sur [LF] et changer en [CRLF]
Le codage est très oldschool, j’entend par là, qu’il n’y a pas de numérotation AUTO des lignes, vous devez rentrer comme jadis les numéro de lignes à la main.
Un petit exemple rapide.
Copier/coller ce qui suit :
10 cls
20 PRINT “Je suis le meilleur… enfin presque ;)”
30 goto 20
IMPORTANT : toujours laisser la dernière ligne vide (après la ligne « 30 » dans l’exemple)
appuyez sur [F1], tapez « amstrad basic » et cliquez sur « Amstard Basic Run »
miracle… ou pas…
Les bases sont posées mais c’est encore insuffisant n’est-ce pas.
Maintenant, nous allons voir comment mettre notre fichier dans sa disquette virtuelle « .dsk ».
Rappelez-vous, je vous ai fait créer un dossier « .vscode » à la racine de votre dossier projet.
Toujours dans vscode, créez dans votre dossier un nouveau fichier « tasks.json ».
Ouvrez ce nouveau fichier et coller dedans ce qui suit :
Comme je suis sympa, je vous explique un peu quand même.
Le fichier « tastks.json » est un fichier de type « json » qui va dire à vscode ce qu’il doit faire quand quand vous allez tapez simultanément [SHIFT]+[CTRL]+[b] (vous devez IMPARATIVEMENT être dans l’onglet du fichier Basic pour que ça fonctionne). Plus clairement, cette combinaison de touches dit à vscode de lancer une tâche ou un « build » si vous préférez.
label : nom de la tâche
command : commande à exécuter (à adapter suivant votre environnement)
args : argument à passer à votre commande
« ${workspaceFolderBasename}.dsk » => nom du dsk
« -n » => nouveau dsk (écrasera l’ancien du même nom)
il faut une ligne par argument
si votre commande est « votreCommand -n nomDuDsk nomDuFichierBasic.bas, ça donnera « args »:[ « -n », « nomDuDsk », « nomDuFichierBasic.bas », … ainsi de suite
label : nom de la tâche
command : commande à exécuter (à adapter suivant votre environnement)
args : argument à passer à votre commande
« ${workspaceFolderBasename}.dsk » => fichier dsk cible
« -t » => argument pour le type de fichier à envoyer dans le dsk
« -0″ => paramètre du type « 0 » pour ASCII dans notre cas
« -i » => argument pour importer un fichier dans le dsk
« ${fileBasename} » => nom du fichier à importer
« -f » => argument pour FORCER, dès fois que…
label : nom de la tâche
command : commande à exécuter (à adapter suivant votre environnement)
args : argument à passer à votre commande
« ${workspaceFolderBasename}.dsk » => fichier dsk cible
« -a » => argument pour l’éxecution d’une commande une fois Caprice32 lancé
« run\ »${fileBasename} »=> commande qui lance le fichier Basic importé dans le dsk
label : nom de la tâche => « build » est obligatoire pour fonctionner avec [SHIFT]+[CTRL]+[b]
dependsOn : indique le nom des tâches à exécuter, toutes erreurs sur une des tâches stoppe le « build »
Voilà mon « tuto » qui touche à sa fin.
Les plus aguerris auront remarqué que le fichier Basic créé est au format ASCII : je ne sais, hélas, pas faire mieux que ça mais vous avez une belle coloration syntaxique ainsi que des marqueurs d’erreurs dans votre saisie en cours.
Malgré tout ça, je suis assez satisfait de la simplification qu’apporte cette façon de faire.
Au plaisir de vous écrire à nouveau un de ces cat.





0 commentaires