MSX-SDF-1 · perfil con Raspberry Pi Pico
SDF-Pico
Lector de SD, Wi-Fi y reloj por Internet, con una Pico 2 W en lugar del ATmega
El SDF-Pico usa la misma placa del kit, pero reemplaza el microcontrolador: una Raspberry Pi Pico 2 W ocupa el lugar del ATmega328P y atiende el bus del MSX con sus bloques PIO. Con ese cambio, un solo cartucho reúne el lector de SD, una conexión Wi-Fi y un reloj que toma la hora de Internet.
De la placa original se conservan el decodificador de puertos, el búfer de datos y la EEPROM. La única modificación es cortar la línea /WAIT, que el SDF-Pico no necesita.
- Prototipo · rev1
- Raspberry Pi Pico 2 W
- Probado en una DPC-200
- Firmware 0.6
La placa del kit con la Pico 2 W: sobre la hoja de cableado, en la DPC-200 y del lado de las soldaduras.
Antes que nada
La placa todavía es un prototipo.
El SDF-Pico funciona sobre la rev1, que es un prototipo, y requiere cablear la Pico a mano. Antes de considerar armar uno, conviene leer el aviso de la página del kit.
La placa
El mismo cartucho, otro microcontrolador
La Pico 2 W se monta sobre el área universal y se cablea a los pads que ocupaba el ATmega. El módulo de la tarjeta SD se conecta a uno de sus puertos SPI.
El SDF-1 detiene al Z80 con /WAIT en cada acceso, hasta que el microcontrolador responde. La Pico contesta en unos 100 ns, dentro del propio ciclo de bus, de modo que esa señal deja de hacer falta: cuando un dato todavía no está listo, el registro de estado lo indica y la Disk ROM espera.
Los sectores pasan por DMA y la Disk ROM los transfiere con INIR y OTIR. En la DPC-200 se midieron unos 88 KB/s en lectura y 80 KB/s en escritura.
| SDF-1 | SDF-Pico | |
|---|---|---|
| Microcontrolador | ATmega328P | Pico 2 W |
| /WAIT | En cada acceso | No se usa |
| Reloj | DS1307 con pila | Por Internet |
| Red | — | Wi-Fi |
El cableado completo, con la lista de verificación, está en el repositorio.
Uso
Cómo se usa
Disco desde la tarjeta SD
Las imágenes .DSK se guardan en la raíz de una tarjeta SD y se manejan con los mismos comandos del lector del SDF-1: CALL SDFFILES las lista y CALL SDFMOUNT elige la de cada unidad. Para el MSX, el cartucho es una disquetera común: Disk BASIC y MSX-DOS arrancan desde la imagen.
10 REM las imagenes de la tarjeta
20 CALL SDFFILES
30 REM una imagen en B:
40 CALL SDFMOUNT(1,"JUEGOS")
Wi-Fi, configurado desde el MSX
CALL WIFI abre un menú que busca las redes, las ordena por señal y pide la clave de la elegida. Si la conexión funciona, la red queda guardada y el cartucho se conecta solo en cada encendido.
La clave se guarda en la memoria de la Pico, no en la tarjeta, y no se muestra en ningún momento: al escribirla se ven asteriscos.
El menú lo arma el firmware y la ROM sólo lo muestra, de modo que se puede mejorar actualizando la Pico por USB, sin regrabar la EEPROM.
SDF-Pico: red Wi-Fi
Conectado a MiCasa
IP 192.168.1.47
Hora 2026-09-30 21:05:07
> MiCasa -52*
Vecino -71
Invitados -80
Buscar redes
Olvidar la red guardada
Zona horaria: UTC-3
Salir
Reloj sin chip ni pila
Al conectarse, el cartucho toma la hora de Internet y la mantiene mientras el MSX esté encendido. MSX-DOS arranca con la fecha correcta y cada archivo se graba con su fecha y hora.
Desde BASIC se usan los mismos comandos del reloj del SDF-1: CALL RTC y el dispositivo RTC:, con sus cinco formatos. La zona horaria se elige en el menú de CALL WIFI.
10 REM ver la hora
20 CALL RTC
2026-09-30 21:05:07
30 REM la fecha en variables
40 OPEN "RTC:N" FOR INPUT AS #1
50 INPUT #1,Y,M,D,H,MI,S,W
60 CLOSE #1
Funcionando
El SDF-Pico en funcionamiento. Verlo en YouTube.
Estado
Dónde está el SDF-Pico
Probado en una Daewoo DPC-200: Disk BASIC y MSX-DOS desde la tarjeta, con lectura y escritura; la configuración del Wi-Fi con CALL WIFI; y la hora de Internet en MSX-DOS y en BASIC. Es la única máquina en la que se ensayó hasta ahora.
El firmware está en desarrollo, en la versión 0.6. El código, la documentación y el cableado están en el repositorio.