La emulación del Amstrad CPC sigue avanzando y CPCSyntaxError llega con una propuesta especialmente orientada a reproducir con precisión el comportamiento del hardware original. Se trata de un emulador para Windows compatible con CPC 464, CPC 6128, CPC Plus y GX4000, desarrollado alrededor de un modelo de ciclo preciso de los chips de vídeo del ordenador. Uno de los aspectos más destacados del proyecto es su implementación de los cinco tipos de CRTC, incluyendo los modelos utilizados en los CPC clásicos y los ASIC de la gama Plus. El emulador también reproduce diferentes versiones del Gate Array, con sus correspondientes características de temporización de píxel, además de modelos de monitores como CTM 640/644, CM14, GT 64/65 y MM12. En el caso de los CPC Plus y GX4000, CPCSyntaxError incorpora elementos específicos del ASIC, como sprites hardware, sonido DMA, paleta de 4096 colores, interrupciones raster, pantalla dividida y desplazamiento suave.
Compatibilidad con formatos
El emulador permite cargar diferentes tipos de software utilizados habitualmente en la plataforma:
- DSK / EDSK para discos.
- CDT / TZX / WAV para cintas.
- CPR para cartuchos.
- SNA para snapshots.
- Soporte para joysticks y controladores de juego.
También permite seleccionar entre CPC 464, CPC 6128, CPC 464 Plus, CPC 6128 Plus y GX4000.
Un emulador también pensado para programadores
CPCSyntaxError no se limita a ejecutar juegos y programas. El proyecto integra un depurador con puntos de interrupción y condiciones, puntos de vigilancia de memoria, ejecución paso a paso, desensamblador con etiquetas y editor hexadecimal.
Además, ofrece ventanas de visualización en tiempo real para diferentes componentes del CPC, incluyendo el CRTC, Gate Array, monitor, ASIC Plus, PSG, PPI, matriz de teclado, controlador de disco y sistema de cinta.
Otro detalle interesante es la inclusión del ensamblador RASM, que permite ensamblar directamente en la memoria de la máquina emulada y ejecutar el código desde el propio entorno.
La interfaz está construida utilizando SDL2, OpenGL y Dear ImGui, con ventanas acoplables y redimensionables que permiten organizar el entorno de trabajo según las necesidades del usuario.
Proyecto todavía en desarrollo
Aunque la parte relacionada con CRTC, Gate Array y monitor se encuentra en un estado avanzado, el proyecto continúa en desarrollo. El Z80, PSG, PPI, controlador de disco y cinta ya funcionan, pero todavía no han sido auditados con el mismo nivel de profundidad que los chips de vídeo.
También quedan por completar diferentes expansiones, entre ellas M4, Symbiface II/III, DigiBlaster, AmDrum DAC, pistola de luz, impresora y V9990/GFX9000.
Por tanto, CPCSyntaxError se presenta como un proyecto especialmente interesante para quienes buscan algo más que ejecutar software de CPC: su objetivo es reproducir con detalle el comportamiento interno de la máquina y, al mismo tiempo, ofrecer herramientas para desarrollar, depurar y experimentar con software para Amstrad CPC. El proyecto está disponible bajo licencia MIT, con las correspondientes licencias independientes para algunos componentes de terceros. Proyecto y descargas:CPCSyntaxError en GitHub

