Si alguna vez has querido saber qué está pasando realmente dentro de un Amstrad CPC, este proyecto te va a interesar. El desarrollador RABS, ha creado un dispositivo externo capaz de capturar algo que hasta ahora era prácticamente invisible: los registros internos del Gate Array y el CRTC.
Sí, hablamos de datos que normalmente no se pueden leer desde el propio sistema.
Qué hace exactamente este invento
El dispositivo, llamado Amstrad CPC IO Logger, se conecta externamente al Amstrad CPC y actúa como una especie de “grabadora” de lo que ocurre en los puertos de entrada/salida.
👉 Captura en tiempo real:
- Escrituras al Gate Array (puerto &7F) → modo de vídeo, colores, configuración de memoria
- Escrituras al CRTC → registros de vídeo clave
El problema original es claro:
- El Gate Array es write-only (solo escritura, no se puede leer)
- El CRTC solo permite leer algunos registros y dependiendo del modelo
Resultado: muchos datos se pierden… hasta ahora.
Cómo funciona (sin volverte loco)


El sistema usa un Raspberry Pi Pico junto con lógica 74xx para interceptar señales clave del CPC:
- 📡 Detecta cuándo el CPC hace un OUT (escritura)
- 📥 Captura direcciones (A8–A15) y datos (D0–D7)
- 🧠 Guarda todo en buffers internos (tipo ring buffer)
- 🔁 Luego puedes recuperar esos datos con instrucciones IN desde el CPC
En resumen:
👉 Lo que antes no se podía leer, ahora se puede consultar después
Datos técnicos clave (lo importante de verdad)
- Puerto usado por el logger: &F9E0
- Buffer interno: 64 bytes (circular)
- Permite:
- Leer secuencialmente todos los registros capturados
- Reiniciar la lectura con
OUT &F9E0,0 - Saltar a posiciones concretas (0–43)
Además incluye indicadores útiles como:
- Último registro del CRTC modificado
- Último color usado (pen)
- Color del borde
- Flag de error (aún en desarrollo)
¿Para qué sirve esto?
Esto no es un juguete, es una herramienta seria para:
- 🧰 Debugging avanzado
- 🖥️ Crear interfaces que muestren el estado real del hardware
- 🔬 Analizar cómo funcionan juegos y demos que pasan del firmware
Y aquí está la clave: muchos programas del CPC ignoran el firmware, así que los métodos tradicionales no sirven. Este dispositivo sí.
Estado del proyecto
El proyecto ya funciona, pero sigue en desarrollo.
👉 No está terminado
👉 Puede cambiar
👉 Se está compartiendo para recibir feedback
Aun así, lo que ya hace es bastante potente… y abre la puerta a herramientas mucho más avanzadas para la escena CPC.

