ROMBA π: un nuevo cartucho para Amstrad CPC con DMA, USB y hasta 16 MB de memoria Flash

El hardware del Amstrad CPC sigue ofreciendo posibilidades para experimentar, y esta vez doragasu vuelve a la carga con una propuesta bastante ambiciosa: ROMBA π (ROMBA 3.14), una nueva evolución de su antiguo cartucho ROMBA que busca ofrecer más prestaciones utilizando componentes económicos y fácilmente accesibles.

El proyecto nace como respuesta al encarecimiento de los CPLD utilizados en el diseño original, cuyo precio pasó de menos de 2 euros a superar los 10 euros por unidad. Para evitar ese problema, el nuevo diseño sustituye el CPLD por un microcontrolador RP2350B, el mismo tipo de tecnología que encontramos en la familia Raspberry Pi Pico 2.

El resultado es una expansión que se conecta al puerto de expansión del CPC y que puede utilizarse mediante un conector de borde o a través de una placa MX4 con conexión DIL.

Mucho más que una ROMBox

ROMBA π incorpora actualmente varias funciones interesantes:

  • Hasta 16 MB de memoria Flash QSPI, con la mayor parte disponible para almacenar ROM.
  • Puerto USB Host, con soporte de ratón ya implementado.
  • Compatibilidad con ROMBoxes de Amstrad CPC, con hasta 256 slots.
  • DMA por hardware para transferir datos desde la ROM a la RAM interna del CPC.
  • Transferencias DMA lineales y bidimensionales (2D).
  • Reflejo de gráficos (tile mirroring) por hardware en los tres modos gráficos.
  • Control independiente de la sensibilidad del ratón en los ejes X, Y y rueda.

Uno de los apartados más llamativos es precisamente su motor DMA 2D, diseñado para facilitar la transferencia de gráficos a la memoria de pantalla sin tener que preocuparse por las particularidades del CRTC y el Gate Array.

En las pruebas mostradas por su creador, un sprite de 32 × 64 píxeles en Mode 0 necesita aproximadamente 1 milisegundo para dibujarse. El sistema también permite realizar reflejos, recortes y máscaras durante la transferencia.

Todavía hay muchas posibilidades por explorar

El hardware dispone de margen para incorporar nuevas características, entre ellas desplazamiento y enmascaramiento de píxeles, soporte para ROM inferior, ampliación de RAM, reproducción de muestras PCM, capacidades FM, almacenamiento de datos en Flash e incluso generación programable de interrupciones NMI.

Sin embargo, el desarrollo del firmware se encuentra actualmente detenido a la espera de comprobar si existe suficiente interés por parte de programadores y usuarios del CPC.

El autor ha publicado tanto el hardware como el firmware bajo licencia de código abierto, aunque reconoce que todavía falta documentación para facilitar el desarrollo de software destinado a esta expansión.

ROMBA π plantea una cuestión interesante: ¿hasta dónde puede llegar el Amstrad CPC mediante nuevas expansiones de hardware? Sus posibilidades para acelerar operaciones gráficas y facilitar el desarrollo de videojuegos son bastante prometedoras.

Ahora queda por ver si la comunidad recoge el guante y aparecen desarrolladores dispuestos a experimentar con estas nuevas capacidades.

Proyecto y documentación:

Fuente: doragasu – CPCWiki.

Deja una respuesta

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