Développement logiciel / Pipeline de build

Bonjour à tous,

Quels outils utilisez-vous pour le développement logiciel ? Lesquels avez-vous développés vous-mêmes et à quoi ressemble votre pipeline de build ?

Je commence :

  • Émulateurs CPC 6128 :
    • caprice32
    • Retro Virtual Machine
  • Assembleur : rasm
  • Build : Makefile / make / shell (<-- principalement) / python.
  • Éditeur de code : vs code
  • Éditeur de sprites : SpriteBuilder.html.zip (20,6 KB) Développement maison. C’est juste un fichier html qui intègre toutes les fonctions importantes via JavaScript.
    • L’éditeur de sprites s’inspire de nombreux éditeurs existants, tout en étant spécialement conçu pour le CPC et les langages de programmation que j’utilise (C et assembleur).
    • On peut sauvegarder et charger l’état actuel
    • Export en C et en assembleur
    • Animations
    • Couleurs d’affichage du CPC

Et vous, comment travaillez-vous ?

Salutations,
S.D.

3 « J'aime »

NTC BASIC (il prend en charge les programmes en BASIC, JS ou PHP, ou tous mélangés avec du Z80 en ligne), Claude, JSASMPLUS, WINAPE, JNEXT, CHROME

Principalement CPCTelera et des outils Python maison…

VSCode comme IDE.

Mes projets utilisent tous CPCtelera (il faut que j’essaie CPCtelera next bientôt).

J’écris presque exclusivement en C, mais j’ai pour ambition d’écrire un peu d’assembleur Z80 (Z80 ASM), même si ça n’a pas encore fini dans un projet.

La musique et les bruitages sont faits avec Arkos 2.

Pour les émulateurs, j’utilise WinAPE et CPCEC.

Le code est principalement écrit dans Visual Studio avec Wincpctelera, mais j’utilise parfois VSCode.

Les graphismes sont dessinés avec RGAS 1.2.5.

Les niveaux sont conçus dans un éditeur de cartes personnalisé qui exporte la carte sous forme de fichiers sources C, que je peux ensuite inclure dans le projet du jeu. Il lit aussi directement les fichiers RGAS, ce qui est vraiment pratique.

Pour la gestion du code source, le suivi des tâches et les pipelines de build, j’utilise Azure DevOps Server (je pense que je passerai peut-être à Forgejo un jour, mais ça demande beaucoup de travail).

1 « J'aime »

Outils :

  • Mon propre émulateur « Arnold » - 80 % du temps pendant le développement
  • Assembleurs rasm, pasmo, sjasmplus.
  • vscodium/visual studio code/notepad++
  • Microsoft Visual Studio 2022 Community Edition (pour prototyper certaines idées en C avant de les implémenter en ASM).
  • SDCC, Z88dk avec mes propres bibliothèques pour certains jeux
  • cpctelera aussi pour quelques-uns
  • Mes propres outils pour la création de disquettes et la manipulation d’en-têtes
  • Auparavant, mon propre outil en C pour la conversion graphique (GFX), mais maintenant j’utilise beaucoup plus Python
  • J’ai déjà utilisé quelques éditeurs basés sur des « tilemaps » (Tiled en fait partie).
  • GIMP (pour le peu de graphismes que j’arrive à faire, ce qui n’est pas grand-chose)

Machines :

* Principalement Windows, mais parfois Linux.

Pipeline de build :

  • Des fichiers .bat qui font tout en boucle — je devrais utiliser un truc comme make, mais je n’aime pas les makefiles.

Contrôle de version / Gestion des sources :

  • Fossil SCM
  • Création d’archives ZIP

Test :

  • Sur GX4000 avec cartouche Pico (toujours prête)
  • CPC6128 quand je peux le sortir du placard.
  • J’ai plusieurs cartes RAM et cartes ROM que j’utilise
  • Je n’ai pas d’écran cathodique (CRT) ou CTM, donc tous les tests sont faits sur une télé moderne branchée en Péritel (SCART).

Je sais coder, mais je ne sais pas faire de graphismes ni de son, j’apprécie vraiment l’aide des autres pour ça.

@awergh

cpctelera_next vaut vraiment la peine d’y passer.

En plus de toutes les superbes nouvelles fonctionnalités, il repose désormais sur SDCC 4.6, qui gère bien mieux le z80 que les versions précédentes.

… je fais tout moi-même pour le moment. On dirait bien que c’est une erreur de ma part ? Je vais suivre ton conseil. Merci pour la mention.

je me suis juste dit que je devrais mentionner que j’essaie de rendre l’utilisation de CPCtelera_next et SDCC/z88dk un peu plus simple sur Windows avec mon émulateur CPCSyntaxError.. vous pouvez développer du code BASIC, ASM (avec RASM intégré) et C, le compiler/générer et l’envoyer directement en mémoire, puis l’exécuter, en un seul clic, avec un débogage complet

ça facilite grandement la tâche des utilisateurs de Windows, qui n’ont plus besoin d’installer cygwin et d’autres dépendances.. ni de lancer des lignes de commande etc. etc. Les utilisateurs de Linux et macOS doivent installer cpctelera et SDCC/z88dk sur leur système comme ils le feraient normalement.

sur Windows, pas besoin d’installer CPCtelera comme d’habitude, il suffit d’extraire le zip et de pointer l’émulateur vers celui-ci. installez SDCC et z88dk normalement sur le système, puis pointez CPCSyntaxError vers eux.

1 « J'aime »

NTC BASIC peut désormais cibler les plateformes suivantes, quasiment avec le même code source — et vous pouvez intégrer de la compilation conditionnelle avec de l’assembleur inline. Créer des jeux de qualité commerciale n’a jamais été aussi simple.

Salut !

Je m’intéressais à des outils indépendants du système d’exploitation et capables de fonctionner sur n’importe quel système sans trop de prise de tête. Finalement, j’ai fini par écrire mes propres outils en Python à cet effet, même si j’utilise déjà des émulateurs existants. Actuellement, ma chaîne d’outils se compose de :

Émulateurs CPC 6128/6128+ :

  • Retro Virtual Machine (version 2.0 pour le débogage sur le 6128)
  • WinAPE

Assembleur :

  • ABASM

Compilateur BASIC :

  • ABASC (inclut des liaisons pour CPCTelera et CPCRSLib)

Empaquetage :

  • DSK.py (outil maison)
  • CDT.py (outil maison)

Build :

  • Scripts Batch/Bash

Éditeur de code :

  • VS Code

Éditeur de sprites :

  • Tixel pour l’édition (un autre outil Python)
  • IMG.py pour la conversion d’images

Cependant, je ne suis pas vraiment satisfait des outils d’image que j’utilise/développe, donc je vais essayer ton outil HTML. De plus, je n’ai aucun outil pour la création/l’édition de musique. Je ne sais pas trop ce qui serait le mieux pour un parfait débutant dans ce domaine.

1 « J'aime »

Fil de discussion vraiment très utile pour approfondir mes recherches.

Je suis assez novice dans le développement CPC moderne, mais j’ai fait pas mal de dev sur Vic 20 ces dernières années.

Mon outil/EDI principal pour coder est Turbo Rascal.

Pour les graphismes, j’utilise mes propres outils (créés avec l’aide de l’IA) appelés Imagery et 8bit pixel lab. Ce dernier offre une connectivité avec Turbo Rascal, ce qui permet d’exporter les graphismes directement dans le processus de compilation (build).

J’utilise Caprice, sur lequel nous avons travaillé avec Colin pour intégrer l’injection mémoire afin de pouvoir compiler et exécuter rapidement depuis Turbo Rascal. J’utilise aussi désormais l’émulateur cpc syntax error, qui intègre un bon débogueur ainsi que cette fonctionnalité d’injection.

1 « J'aime »

orgams, la source principale compile généralement tout, mais c’est également scriptable depuis le BASIC.

OCP / impdraw