CPC Workbench reúne emulación y herramientas de desarrollo para Amstrad CPC

Crear software para un Amstrad CPC puede implicar utilizar varias herramientas diferentes: una para probar el programa, otra para editar gráficos, otra para trabajar con sprites, otra para inspeccionar la memoria y, cuando aparecen los problemas, el depurador. CPC Workbench nace precisamente con la intención de reducir ese cambio constante entre aplicaciones y ofrecer un entorno de desarrollo mucho más completo.

El proyecto, desarrollado por gradew, es un emulador de Amstrad CPC especialmente orientado a desarrolladores. Su principal característica es que no se limita a reproducir el funcionamiento del ordenador, sino que incorpora dentro del propio entorno un buen número de herramientas destinadas a crear, depurar y analizar software para la máquina de Alan Sugar.

Un emulador directamente en el navegador

CPC Workbench está escrito en C/WASM, lo que permite ejecutarlo directamente desde el navegador sin necesidad de instalar un emulador tradicional.

Para quienes prefieran trabajar como con una aplicación convencional, el proyecto también está empaquetado mediante Electron, ofreciendo versiones independientes para Windows y Linux.

En cuanto a la emulación, uno de los objetivos principales ha sido conseguir un alto nivel de precisión. El autor ha diseñado CPC Workbench para superar la mayoría de los tests de Shaker de Longshot, una referencia especialmente interesante cuando se busca comprobar el comportamiento preciso de un emulador CPC.

Compatibilidad con toda la familia

El entorno permite trabajar con diferentes modelos de la familia Amstrad:

  • CPC 464
  • CPC 664
  • CPC 6128
  • CPC 464 Plus
  • CPC 6128 Plus
  • GX4000

Esto resulta especialmente útil para desarrolladores que necesiten comprobar cómo se comporta un programa en diferentes generaciones del hardware, incluyendo los modelos Plus y GX4000.

Herramientas gráficas integradas

CPC Workbench incorpora varias herramientas que normalmente encontraríamos en programas independientes.

Dispone de convertidor de imágenes, editor de sprites, editor de fuentes y editor de paletas, permitiendo preparar diferentes recursos gráficos sin abandonar el entorno de desarrollo.

Para quienes trabajan creando juegos o demos, esta integración puede resultar especialmente cómoda, ya que permite combinar la edición de recursos con la ejecución y depuración del programa.

Un depurador pensado para exprimir el CPC

El apartado de depuración es probablemente uno de los elementos más interesantes del proyecto.

CPC Workbench incluye un depurador con seguimiento del haz de vídeo (beam tracer), una herramienta especialmente útil para analizar programas que dependen de una sincronización precisa con el hardware de vídeo.

También dispone de:

  • Breakpoints
  • Breakpoints de E/S
  • Breakpoints condicionales
  • Seguimiento de ejecución
  • Herramientas de inspección para analizar el comportamiento del programa

Este tipo de funciones puede resultar especialmente interesante en desarrollos que utilizan efectos gráficos avanzados, interrupciones o técnicas que dependen directamente del momento exacto en el que el hardware está procesando cada línea de pantalla.

Perfilador y mapa de calor de memoria

El entorno también incorpora un profiler, pensado para localizar qué partes del programa están consumiendo más recursos.

A esto se añade un mapa de calor de memoria, que proporciona una representación visual del uso de la memoria y puede ayudar a localizar rápidamente zonas especialmente activas.

Para un desarrollo en Z80, donde cada ciclo y cada byte pueden ser importantes, disponer de este tipo de información directamente dentro del entorno puede ahorrar bastante tiempo.

Ensamblador con información sobre los NOP

CPC Workbench incluye además un editor de ensamblador integrado.

Una característica especialmente curiosa es que el editor muestra cuántos NOP consume cada instrucción, proporcionando información útil para quienes trabajan a bajo nivel y necesitan controlar cuidadosamente los tiempos de ejecución.

En desarrollos gráficos, demos o rutinas sincronizadas con el hardware, conocer con precisión el coste de las instrucciones puede marcar la diferencia entre que un efecto funcione correctamente o aparezcan problemas de sincronización.

BASIC y discos también tienen su propio espacio

El entorno no se olvida de los usuarios que trabajan con Locomotive BASIC.

CPC Workbench dispone de un editor de BASIC integrado que permite extraer o inyectar código fácilmente, facilitando la transferencia de programas entre el entorno de desarrollo y el ordenador emulado.

También incorpora un editor de discos, capaz de trabajar tanto con archivos como directamente con sectores en hexadecimal.

Esto último abre la puerta a inspeccionar el contenido de las imágenes de disco a un nivel bastante más bajo, algo especialmente útil para desarrolladores que necesiten investigar estructuras de disco, formatos o problemas relacionados con la carga de software.

Creación de cartuchos

Los modelos Plus también cuentan con herramientas específicas gracias al creador de cartuchos incluido en CPC Workbench.

Esto permite trabajar dentro del mismo entorno con desarrollos destinados a los sistemas CPC Plus y GX4000, evitando tener que recurrir a herramientas externas para preparar este tipo de software.

Un auténtico banco de trabajo CPC

Más que plantearse simplemente como otro emulador, CPC Workbench intenta convertirse en un banco de trabajo completo para desarrollar software de Amstrad CPC.

La combinación de emulación precisa, depuración, perfilado, herramientas gráficas, edición de BASIC y ensamblador, creación de cartuchos y manipulación de discos lo convierte en una propuesta especialmente interesante para programadores y creadores de demos que quieren tener bajo un mismo techo buena parte de las herramientas necesarias durante el desarrollo.

Además, el hecho de poder ejecutarse directamente desde el navegador mediante C/WASM elimina una de las barreras habituales para probar este tipo de herramientas: basta con acceder a la página del proyecto para comenzar a trabajar.

CPC Workbench: cpcworkbench.gradew.net

Un proyecto que merece la pena seguir de cerca, especialmente por su apuesta por convertir el emulador en algo más que una máquina virtual: un entorno de desarrollo completo pensado específicamente para sacar partido al hardware del Amstrad CPC.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *