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é.

dev1-1980x1114

101795699_10223000453181301_1070541665342586880_n-1

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…

Article précédent Article suivant

Ajouter un commentaire