MFDC es un cartucho para ordenadores MSX con la función de controlar unidades de disquete de 3.5 pulgadas. La controladora permite conectar dos unidades de disco simultáneamente, esto permite hacer copias entre discos cómodamente.

La controladora MFDC está pensada para utilizar disqueteras estándar de PC, de manera que se puedan reutilizar las disqueteras antiguas que ya tenemos, ya sea en un antiguo ordenador o bien alguna que se encuentre en desuso por algún cajón de nuestra casa.
La conexión es simple, basta con utilizar el mismo cable de datos con el que se conectaba al PC, esto en cuanto a lo que se refiere al cable de datos. Tal y como se muestra en la fotografía el conector dispone de una ranura, esta ranura debe coincidir con el saliente del conector del propio cable de datos, con lo cual se elimina la posibilidad de conectar el cable de forma incorrecta. Adicionalmente también se indica «Pin 1» en la etiqueta. El pin 1 debe coincidir con la marca de color que tienen todos los cables de cinta plana.

Por otro lado hemos de conseguir una fuente de alimentación para nuestra unidad de discos, las características eléctricas de la fuente de alimentación dependerán de los parámetros de la propia unidad (normalmente indicadas en una etiqueta en la propia disquetera). Como ejemplo, una de mis disqueteras requiere de 5V (voltios) y un amperaje de 960 mA (mili amperios). Con estos datos ya podemos buscar una fuente que nos sirva para alimentar la disquetera.
Aquí se puede ver el detalle de la etiqueta de una de mis disqueteras:

Como recomendación en el caso del amperaje (mA), recomiendo buscar fuentes que puedan suplir por lo menos el doble de lo que indica la etiqueta, de esta manera nos aseguramos que la fuente es suficientemente potente como para absorber los picos de intensidad al arrancar los motores de la unidad. Si vas a conectar dos unidades puedes tener en cuenta que sólo se va a utilizar siempre una unidad a la vez, por tanto la intensidad nunca va a ser x2.
El cartucho MFDC está basado en un diseño ampliamente conocido en el mundo del MSX, la TDC-600, está controladora es bastante común y puedes encontrar diferentes diseños por la red si tu intención es la de montarte tu mismo una controladora.
Yo he optado por diseñar mi propia versión de la TDC-600, introduciendo algunas modificaciones que me han parecido interesantes, las comento a continuación:
- Conectividad:
- Mi diseño se centra en la conectividad con disqueteras estándar de PC, que son las más comunes y fáciles de conseguir, y por consiguiente en esquema de conectividad esta pensado para usar los mismos cables que en PC.
- Fiabilidad:
- La placa de circuito impreso a sido totalmente rediseñada por mi, las principales modificaciones se centran en el uso de componentes más fiables (como un oscilador empaquetado) por ejemplo.
- Durabilidad:
- La placa de circuito impreso está realizada con acabado ENIG, para mayor durabilidad de la misma, así como las características eléctricas para mejorar su fiabilidad. Para más información sobre ENIG puedes ver este artículo donde se explica claramente en que consiste ENIG
- Prestaciones:
- La MFDC incluye un selector que nos permite escoger el modo de funcionamiento: TDC600 o Custom
- En el modo TDC600 la controladora funciona exactamente como el diseño original TDC600
- En el modo Custom se utiliza una dirección de menoría diferente, y el driver está configurado para tener el modo «phantom drive» desactivado por defecto, obteniendo así memoria extra para los programas.
- La MFDC incluye un selector que nos permite escoger el modo de funcionamiento: TDC600 o Custom

¿Por qué un modo Custom?
El principal motivo es corregir un problema del diseño original de la TDC600, la cual localiza su hardware en la primera mitad de la página 0 de la memoria, cosa que puede llevar en algún caso a funcionamientos incorrectos. En mi experiencia no he llegado a experimentar fallos notables, sólo he podido constatar que al encender el MSX se activan las disqueteras de forma inapropiada, en algunos casos incluso llegan ha hacer un ruido extraño (y no, no hablo del típico ruido del seek del cabezal). Investigando más a fondo, he llegado a determinar que en el proceso de búsqueda de memoria RAM, que realiza la BIOS, escribe en los registros del chip controlador WD37C65/GM82C765, cosa que resulta en el comportamiento antes mencionado.
Según la Wiki de MSX.org en Hardware design comentan estos cito concretamente:»For system extension cartridges, keep any memory-mapped registers above the upper half of the memory frame. IOW, >1FFFh for the frame-0, >5FFFh for the frame-1, >9FFFh for the frame-2 and >DFFFh for the frame-3. Otherwise there’s a risk that software that do dirty RAM search will inadvertently write to the registers of your cartridge and potentially freeze the machine.«
Para verificar este comportamiento he conectado una analizador lógico, he obtenido esta captura, en la que se puede observar claramente que las señales /DS1 y /MO1 se comportan de forma incorrecta.

Aquí se puede apreciar el detalle del interruptor que permite cambiar de modo. Si se desea cambiar el modo de funcionamiento debe hacerse antes de iniciar el ordenador.

¿Para qué disponer de un modo TDC600?, pues simplemente para poder mantener la compatibilidad con programas que accedan directamente al hardware, como por ejemplo programas de copia de discos como el DSK-PRO Light
Como extra se incluye un led de actividad que se iluminará cuando se realicen transferencias de datos, aquí se puede ver el detalle, indicado con la palabra «Data» para referirse a la transferencia de datos:

Por último, observando en detalle la parte del circuito impreso que conecta con el MSX, se puede observar que el borde ha sido Biselado, el objetivo es mejorar la inserción del cartucho en la ranura de expansión del ordenador.

El cartucho es «Homebrew», esto quiere decir que lo monto y pruebo yo mismo, así puedo asegurar que funciona perfectamente. Si estás interesado en adquirir uno de estos puedes hacerlo en la página de compra