Desarrollo de software / Pipeline de compilación

Hola a todos:

¿Qué herramientas usáis para el desarrollo de software? ¿Cuáles habéis programado vosotros mismos y cómo es vuestra canalización de compilación (build pipeline)?

Empiezo yo mismo:

  • Emuladores de CPC 6128:
    • caprice32
    • Retro Virtual Machine
  • Ensamblador: rasm
  • Compilación: Makefile / make / shell (<-- principalmente) / python.
  • Editor de código: vs code
  • Editor de sprites: SpriteBuilder.html.zip (20,6 KB) Desarrollo propio. Solo es un archivo HTML que implementa todas las funciones importantes mediante JavaScript.
    • El editor de sprites está inspirado en muchos editores existentes, pero adaptado específicamente al CPC y a los lenguajes de programación que utilizo (C y ensamblador).
    • Se puede guardar y cargar el estado actual
    • Exportación a C y ensamblador
    • Animaciones
    • Colores de pantalla de CPC

¿Cómo trabajáis vosotros?

Saludos,
S.D.

3 Me gusta

NTC BASIC (admite programas en BASIC, JS o PHP, o todos combinados junto con Z80 en línea), Claude, JSASMPLUS, WINAPE, JNEXT, CHROME

Principalmente CPCTelera y herramientas caseras de Python…

VSCode como IDE.

Mis proyectos usan todos CPCtelera (tengo que probar CPCtelera next pronto).

Escribo casi exclusivamente en C, pero tengo la aspiración de programar algo en Z80 ASM, aunque todavía no lo he implementado en ningún proyecto.

La música y el sonido los hago con Arkos 2.

Como emuladores utilizo WinAPE y CPCEC.

El código lo escribo principalmente en Visual Studio con Wincpctelera, aunque a veces uso VSCode.

Los gráficos los diseño con RGAS 1.2.5.

Los niveles los creo en un editor de mapas personalizado que exporta el mapa a archivos fuente en C que puedo incluir en el proyecto del juego. También lee los archivos de RGAS directamente, lo cual es muy cómodo.

Para gestionar el código fuente, el seguimiento de tareas y los pipelines de compilación uso Azure DevOps Server (creo que algún día podría pasarme a Forgejo, pero requiere mucho esfuerzo).

1 me gusta

Herramientas:

  • Mi propio emulador «Arnold»: el 80 % del tiempo durante el desarrollo
  • Ensambladores rasm, pasmo, sjasmplus.
  • VSCodium/Visual Studio Code/Notepad++
  • Microsoft Visual Studio 2022 Community Edition (cuando hago prototipos de algunas ideas en C y luego las implemento en asm).
  • SDCC, Z88DK con mis propias librerías para algunos juegos
  • cpctelera también para algunos
  • Mis propias herramientas para crear discos y manipular cabeceras
  • Anteriormente, mi propia herramienta en C para conversión gráfica, pero ahora uso mucho más Python
  • He usado un par de editores basados en mapas de teselas (Tiled es uno de ellos).
  • GIMP (para los pocos gráficos que realmente sé hacer, que no es mucho)

Máquinas:

* Principalmente Windows, pero a veces Linux.

Pipeline de compilación:

  • Archivos bat haciéndolo todo una y otra vez; debería usar algo como make, pero no me gustan los makefiles.

Control de versiones/gestión de código fuente:

  • Fossil SCM
  • Comprimirlo en un zip

Pruebas

  • En GX4000 con pico cart (siempre a punto)
  • CPC6128 cuando puedo sacarlo del trastero.
  • Tengo varias placas de RAM y ROM que uso
  • No tengo un monitor CRT o CTM, así que todas las pruebas las hago en una TV moderna conectada por SCART.

Sé programar, no sé hacer gráficos, no sé hacer sonido; agradezco un montón la ayuda de los demás para esas cosas.

@awergh

Sin duda vale la pena pasarse a cpctelera_next.

Además de todas las fantásticas funciones nuevas, ahora se basa en SDCC 4.6, que gestiona Z80 mucho mejor que las versiones anteriores.

… actualmente lo estoy haciendo todo yo mismo. ¿Parece ser un error de mi parte? Seguiré tu sugerencia. Gracias por mencionarlo.

solo quería comentar que estoy intentando ponérselo un poco más fácil a quienes usan CPCtelera_next y SDCC/z88dk en Windows con mi emulador CPCSyntaxError… puedes programar en BASIC, ASM (con RASM integrado) y código C, compilarlo/construirlo y enviarlo directamente a la memoria, y luego ejecutarlo, todo en un solo clic y con depuración completa.

Esto se lo pone mucho más fácil a los usuarios de Windows, que ya no tendrán que instalar Cygwin ni otras dependencias… ni ejecutar líneas de comandos, etc., etc. En Linux y macOS, deberán instalar cpctelera y SDCC/z88dk en el sistema como lo harían habitualmente.

En Windows, no necesitas instalar CPCtelera de la forma habitual; basta con descomprimir el archivo zip e indicarle la ruta al emulador. Instala SDCC y z88dk como de costumbre en el sistema, y luego indica su ubicación en CPCSyntaxError.

1 me gusta

NTC BASIC ahora puede dirigirse a lo siguiente prácticamente con el mismo código fuente, y puedes incluir compilación condicional con ensamblador en línea (inline assembly). Crear juegos con calidad comercial nunca ha sido tan fácil.

¡Hola!

Me interesaban herramientas que fueran agnósticas al sistema operativo (OS-agnostic) y que pudieran funcionar en cualquier sistema sin demasiadas complicaciones. Al final, escribí mis propias herramientas en Python para ese propósito, aunque ya utilizo emuladores existentes. Actualmente, mi cadena de herramientas (toolchain) es:

Emuladores de CPC 6128/6128+:

  • Retro Virtual Machine (versión 2.0 para depuración en el 6128)
  • WinAPE

Ensamblador:

  • ABASM

Compilador de BASIC:

  • ABASC (incluye enlaces para CPCTelera y CPCRSLib)

Empaquetado:

  • DSK.py (herramienta propia)
  • CDT.py (herramienta propia)

Compilación (Build):

  • Scripts de Batch/Bash

Editor de código:

  • VS Code

Editor de sprites:

  • Tixel para la edición (otra herramienta en Python)
  • IMG.py para la conversión de imágenes

Sin embargo, no estoy del todo satisfecho con las herramientas de imagen que uso/desarrollo, así que le daré una oportunidad a tu herramienta HTML. Además, no tengo ninguna herramienta para la creación/edición de música. No estoy seguro de qué sería lo mejor para alguien totalmente novato en este campo.

1 me gusta

Un hilo muy útil para investigar un poco más.

Soy bastante nuevo en el desarrollo moderno para CPC, pero en los últimos años he hecho bastante desarrollo para Vic 20.

Mi herramienta principal/IDE para programar es Turbo Rascal.

Para los gráficos, utilizo mis propias herramientas (creadas con la ayuda de IA) llamadas Imagery y 8bit pixel lab. Esta última tiene conectividad con Turbo Rascal, por lo que puedes exportar gráficos como parte del proceso de compilación.

Uso Caprice, en el que trabajamos con Colin para conseguir inyección de memoria y así poder compilar y ejecutar rápidamente desde Turbo Rascal. También uso ahora el emulador CPC Syntax Error, que tiene un buen depurador y también cuenta con la función de inyección.

1 me gusta

orgams, el código fuente principal generalmente compila todo, pero también se puede controlar mediante scripts desde BASIC.

OCP / impdraw