CPC-DDI-Revival
Introducción
CPC-DDI-Revival es un periférico controlador de disquetera (FDC) con WiFi y puerto serie para ordenadores Amstrad CPC 464. Es un reemplazo del DDI-1 mejorado.
CPC-DDI-Revival conectado a un Amstrad CPC 464 y a una disquetera de 3.5"
CPC-DDI-Revival conectado a un Amstrad CPC 464 y a una disquetera de 3.5"
La placa
El CPC-DDI-Revival está compuesto de una ROM con AMSDOS, un microcontrolador AVR Atmega1284, un módulo WiFi ESP8266, un lector de tarjetas microSD, un conector de 34 pines para disqueteras, y un conector USB-C para alimentación. Dispone de interruptores para cambiar la ROM seleccionada entre AMSDOS, ParaDOS, o una herramienta de diagnóstico.
CPC-DDI-Revival 1.0
CPC-DDI-Revival 1.0
Motivo
Los Amstrad CPC 464 carecen internamente del controlador de disquetera (FDC) NEC 765 y de AMSDOS, componentes esenciales para manejar disqueteras y disquetes, que sí se encuentran dentro de los Amstrad CPC 664 y CPC 6128. La única forma de poder usar disquetes en un CPC 464 es con un controlador de disquetera como el DDI-1 en su momento, junto con una disquetera, real o virtual (como Gotek).
Funcionamiento
El CPC-DDI-Revival se conecta al puerto de expansión de 50 pines de un Amstrad CPC 464.
Provee la ROM AMSDOS en la posición 7, y emula el controlador de disquetera (FDC) NEC 765, añadiendo funcionalidad al CPC 464 para trabajar con disquetes.

Disquetes reales
Mediante el conector de 34 pines de la placa, se pueden conectar disqueteras de 3", 3.5", y 5.25", y usar disquetes reales con el CPC 464. Actualmente no está implementada la escritura en disquetes reales, pero se está trabajando en ello.

Archivos DSK
El circuito también permite la carga y escritura de archivos DSK ubicados en la microSD, de tipo Standard y Extended.
¿Es reprogramable?
Sí. Tanto el AVR Atmega1284 como el ESP8266 se pueden actualizar o reprogramar subiendo un archivo
.tar
a la sección correspondiente (botón Actualizar Firmware en la página principal) desde la interfaz web.
Actualización de firmware a través de la interfaz web del CPC-DDI-Revival 1.0
Actualización de firmware a través de la interfaz web del CPC-DDI-Revival 1.0

Esto le permite recibir actualizaciones con mejoras, correcciones, o nuevas funcionalidades.

Métodos alternativos
En caso de fallar o no ser posible la actualización a través de la interfaz web, el AVR Atmega1284 se puede actualizar o reprogramar conectando el circuito a un ordenador por USB. La placa incorpora un conversor de USB a UART (CP2102) que es todo lo necesario para ello. No requiere programador externo.
El módulo WiFi ESP8266 también se puede actualizar colocando un archivo
.bin
en la raíz de la microSD. Si este método fallase, aún se puede programar por USB usando el Atmega de puente.

ROMs
Las ROMs son fijas, pero se pueden sacar los chips (27C512) para reemplazarlos o reprogramarlos con la ayuda de un programador de EEPROMs.
¿Qué no es?
El CPC-DDI-Revival 1.0 no es una ROM board, ni una expansión de RAM, ni un dispositivo mass-storage.
¿Cómo funciona?
Al recibir un CPC-DDI-Revival, el primer paso es conectarlo a la corriente y configurar nuestra red WiFi. Para ello, el módulo WiFi integrado emite una red WiFi a la que debemos conectarnos desde nuestro PC o smartphone. Ahí podremos seleccionar nuestra red WiFi, introducir la clave correspondiente, y reiniciar.
Tras reiniciar, la placa se conectará a nuestra red y su interfaz será accesible desde un PC escribiendo
cpc-ddi-revival.local
en un navegador.
Una vez la placa esté lista, se puede conectar a un Amstrad CPC 464.
Interfaz web del circuito para la configuración de disqueteras y gestión de archivos DSK
Interfaz web del circuito para la configuración de disqueteras y gestión de archivos DSK

Desde la interfaz web se puede configurar el tipo de disquetera para la Disquetera A y la Disquetera B.
Si introducimos una tarjeta microSD en la ranura integrada, podremos subir archivos DSK desde la propia interfaz web y cargarlos en la Disquetera A o en la Disquetera B.

Acceso desde smartphone
La interfaz está disponible desde cualquier navegador en
cpc-ddi-revival.local
siempre que nuestro dispositivo y el CPC-DDI-Revival estén conectados a la misma red. La disponibilidad del dominio local
cpc-ddi-revival.local
se hace mediante mDNS. Esta característica sólo está disponible en smartphones a partir de Android 12, por lo que el acceso desde el móvil debe hacerse escribiendo la dirección IP local del CPC-DDI-Revival. Para ello, se dispone al final de la interfaz web su dirección IP local actual, que podremos escribir en nuestro navegador en el móvil, o bien escaneando el código QR proporcionado.
Final de la página de la interfeaz web.
Final de la página de la interfaz web.


Conexión al CPC 464
Para usar la placa, debemos asegurarnos de que el CPC 464 esté apagado y la placa desconectada. Entonces puede conectarse al puerto trasero de expansión del CPC 464, y alimentarse a través del conector USB-C. Una vez esté alimentada la placa, se puede encender el CPC 464.
Al principio parecerá que nada ha cambiado, pero si realizamos un comando
CAT
o
|DIR
, nos mostrará los contenidos del disquete, en caso de usar disquetera física, o los conenidos del archivo DSK, en caso de usar un archivo DSK ubicado en la microSD.

Uso
Cargar un juego una vez está la placa conectada y configurada, es exactamente igual que en un CPC 664, CPC 6128, o emulador como WinAPE o RVM. Si el juego o aplicación carga con
RUN"DISC
, sólo es necesario escribir eso para cargarlo. Si el juego o aplicación carga con
|CPM
, sólo es necesario escribir eso para cargarlo.

Apagado
Cuando se deje de usar el Amstrad CPC 464, es importante apagarlo, y desenchufar la placa.
¿Funcionan los juegos con protección de copia?
Sí, la placa es capaz de cargar la gran mayoría de DSKs, incluidos los que tienen protecciones anti-copia. Soporta DSKs de tipo Standard y Extended.
Características adicionales
Puerto serie
La placa también emula el puerto serie Amstrad PACE, que junto al chip WiFi, proporciona conectividad a internet al CPC 464.
¿Se puede usar en un Amstrad CPC 664 o 6128?
La placa puede usarse en Amstrad CPC 664 o 6128, pero sólo como puerto serie.
La placa detecta automáticamente si está conectada a un Amstrad CPC 464, o CPC 664/6128 a través de la señal /EXP del Amstrad CPC, y desactiva acorde la ROM AMSDOS y la emulación del controlador de disquetera, ya que entrarían en conflicto con el AMSDOS y el controlador de disquetera internos presentes en los CPC 664/6128.

Problema placa Rev00
Actualmente existe un problema con los CPC 6128, en el que la placa choca con el conector de alimentación de 12V para su disquetera interna. Esto se solucionará en la siguiente revisión de PCBs haciéndolas ligeramente más estrechas o moviendo ligeramente de sitio el conector.
Vistra trasera CPC-DDI-Revivl 1.0 Rev00 conectado a un CPC 6128
Vista trasera CPC-DDI-Revival 1.0 Rev00 conectado a un CPC 6128
Código fuente
Actualmente a día de hoy (21 de febrero de 2024) la placa sigue en desarrollo, y el código fuente no está disponible, pero estará disponible en mi GitHub en https://github.com/QualiaSG/CPC-DDI-Revival
Videotutoriales
Videotutorial sobre la configuración inicial del DDI Revival:
Información adicional
Rev A0
Actualmente se está trabajando en una nueva revisión de la placa (Rev A0) más sencilla de fabricar y ligeramente más pequeña.
Rev 00 (izquierda) al lado de Rev A0 (derecha)
Rev 00 (izquierda) al lado de Rev A0 (derecha)

Fabricación
Las placas se hacen a mano de 2 en 2 con estaño sin plomo (SAC305) y son lavadas y testeadas antes de ser entregadas.
Disponibilidad
La disponibilidad de las placas es limitada al estar aún en desarrollo.
El precio de cada placa son 50€ + envío.
Firmware y software:
Firmware
Enlace de descarga al último firmware (18 de marzo de 2024):
CPC_DDI_Revival_FW_0.9.1.tar

Software
Terminal compatible para Amstrad CPC 464 (puerto serie):
termemb_ddi.dsk
Se ejecuta poniendo el DSK en la Disquetera A y usando el comando RUN"LTERM
Contacto y grupo de Telegram
Para cualquier duda sobre el DDI Revival o acceso al grupo de Telegram, se me puede contactar en la siguiente dirrección:


Post creado: 2 de octubre de 2023
Última moficiación: 21 de febrero de 2024