Introduction
Je n’avais jamais développé sur Amstrad CPC (mis à part en Basic il y a… plus de 30 ans). Lorsque Pascal Visa a lancé la CPC Gamedev Contest 2020 dans le groupe Facebook Amstrad CPC pour toujours and beyond !, je me suis dit que c’était l’occasion d’enfin m’y mettre. Le développement de mon émulateur CrocoDS m’a beaucoup appris sur les possibilités de mon ordinateur préféré.
Il restait donc à savoir comment programmer sur un Amstrad en 2020. Pas question évidemment de développer directement sur l’Amstrad mais plutôt de s’aider des outils modernes.
Comme beaucoup de développeurs actuellement, je suis passé sous Visual Studio Code, l’éditeur de code multi plateforme et extensible développé par Microsoft.
Lorsque j’ai commencé à développer pour l’Amstrad CPC, il était donc évident que je puisse utiliser cet éditeur.
Mon langage de prédilection étant depuis toujours le C pour sa simplicité et du fait qu’il soit un langage de très bas niveau. Je comptais donc développer en ce langage (avec évidemment l’ajout de code assembleur pour les routines ayant besoin de plus d’optimisation).
Comment donc mélanger tout cela ?
Les outils
J’ai essayé divers environnements de développement tels que CPCtelera, cpc-dev-tool-chain mais aucun ne m’a satisfait à 100%.
Ils m’auront au moins permis de me donner des idées sur plusieurs de mes futurs outils. Ces outils auront leurs prochains articles détaillés à l’avenir.
SDCC comme compilateur C (et asm dans un premier temps). J’avais commencé avec Z88DK mais le code généré par ce compilateur était beaucoup moins optimisé que celui de SDCC.
cpcrslib comme librairie de fonctions assembleur.
Arkos Tracker 2 pour la musique
Visual studio code (déjà évoqué auparavant)
Docker (je ne voulais pas devoir réinstaller un environnement de développement chaque fois que je change de machine)
Retro Virtual Machine comme émulateur multi-plateforme. J’ai mon propre émulateur (que j’utilise aussi au niveau développement pour certaines de ces fonctionnalités) mais RVM va beaucoup plus loin au niveau debug.
Divers outils tels que convimgcpc, RGAS, iDSK…
Tout cela m’a permis de faire un template qui sera disponible sur GitHub dans les jours qui viennent qui me permet:
Via la commande SHIFT-CMD-B de faire un build de mes sources,
Via la commande SHIFT-CMD-R d’exécuter l’application directement dans Retro Virtual Machine.
À suivre pour l’épisode 2 très bientôt…