
Estas instrucciones detallan brevemente como construir el interfaz Microsol cdx-2 FDC v2.4.
Estas instrucciones amplían las instrucciones detalladas en: https://github.com/msx-solis/msx-fdc-cdx2-clone/
Listado de componentes
| Ref | Descripción | qty |
| PCB | PCB interfaz de disco Microsol CDX-2 v2.4 | 1 |
| C1 | Condensador electrolítico 47uF | 1 |
| C2 | Condensador 1nF | 1 |
| C3-6,C10-13 | Condensador 100nF | 8 |
| C7 | Condensador de 220nF | 1 |
| C8 | Condensador de 10pF | 1 |
| C9 | Condensador de 33pF | 1 |
| Cx1 | Condensador de 47pF | 1 |
| D1 | Diodo rectificador 1N4148 | 1 |
| JP1-JP5 | Conector de 3 pines | 5 |
| J3 | Conector de 2 pines rotados | 1 |
| Q1 | Transistor BC547 | 1 |
| R11 | Resistencia 12K | 1 |
| R10 | Resistencia 39K | 1 |
| RN1 | Matriz (array) de resistencias 470R de 6 pin SIP | 1 |
| R1-2,R6-R9 | Resistencia 470R | 2 |
| R3,R5,Rx | Resistencia 1K | 3 |
| R4 | Resistencia 4k7 | 1 |
| J1 | Conector 34 pin shrouded 90º | 1 |
| U2 | 74LS00N | 1 |
| U3 | 74LS138N | 1 |
| U4 | 74LS74N | 1 |
| U5 | 74LS174N | 1 |
| U6 | WD2793-PL | 1 |
| U7,U8 | 74LS16N o 74LS06N | 2 |
| Y1 | Cristal de cuarzo 4Mhz | 1 |
| A6 | Zócalo 40dip600 torneado | 1 |
| A1 | Zócalo 28dip600 torneado | 1 |
| A3, A5 | Zócalo 16dip300 torneado | 2 |
| A2,4,7,8 | Zócalo 14dip300 torneado | 4 |
| U1 | 27C256 (o 27C128) | 1 |
| Cable plano de 34 hilos | 1 | |
| Conector 34 pin hembra para cable plano | 2 | |
| Unidad de disco flexible 3.5″ | 1 | |
| Fuente de 5v enchufe EU | 1 | |
| Cable alimentación floppy | 1 | |
| Conector 2,1mm hembra | 1 |
Nota: actualmente ningún kit incluye la disquetera.
Soldarlo todo correctamente
Fácil, el PCB muy bien indicado. Sólo hay que tener en cuenta algunos detalles:
Mi consejo es soldar los jumper de abajo a la izquierda (JP1-JP4) directamente con hilo entre los pines superiores como muestra la siguiente imagen.

Los componentes con polaridad, deben insertarse correctamente, estos són el diodo, el condensador electrolítico, el array de resistencias y por supuesto los zócalos…
El condensador electrolítico debería ir tumbado como se muestra en la foto siguiente.

También hay que tumbar algunos modelos del condensador de 220nF. Si tu condensador de 220nF es como el de la foto, es muy grande, en este caso debe ir tumbado por encima de la resistencia y el diodo que hay al lado.

Si el condensador de 220 nF que tienes es de tamaño normal, este detalle no es necesario.
Fotografía de muestra en un estado parcial de la construcción:

En la foto de arriba he utilizado tiras en lugar de zócalos (cosa que no tiene importancia). Hay que utilizar zócalos de pin redondo porque los agujeros permiten que el zócalo entre a fondo. En caso de utilizar otros zócalos todos los chips sobresalen más.
Conviene cortar los pines de estos zócalos por detrás como muestra la siguiente imagen.

En el caso de JP5 si aconsejo poner pines de jumper para poder probar al menos 2 versiones de firmware. Como el de la foto:

Aunque no es imprescindible, es conveniente cortar un pin del conector de disquetera, sería el tercer pin de la izquierda tal como muestra la siguiente fotografía:

Esto tiene como objeto quitar ese pin, ya que la mayoría de cables de disquetera ya fabricados no tienen agujero para dicho pin. si te vas a construir tu el cable no tiene importancia.
Programar el firmware
Las instrucciones serían como las de programar el TDC-600, utilizando en su lugar los ficheros correctos. En el kit el chip ya está programado.
Hacer una serie de tests
Por partes como se indica en el enlace del github. Lo más importante es que una vez soldado y antes de insertarlo en el MSX compruebes con un polímetro que no hay continuidad entre VCC y GND.
Si quieres asegurarte que todo funciona a la perfección puedes hacer varias pruebas.
1) Puedes instalar solo el chip U2, insertar la tarjeta en el MSX y verificar la frecuencia en el pin 3 del zócalo U4. En la siguiente imagen muestra que mido el pin 6 de U2 (mide lo mismo pero es más complicado de acceder). Debería ser cercano a 4Mhz.

2) A continuación podemos insertar U4 (me refiero a apagar el MSX, insertar el chip y encender de nuevo, por supuesto) y medir la frecuencia en su pin 9, debería ser cercano a 1Mhz.

Si no tenemos osciloscopio se puede medir igual con un frecuencímetro (también hay polímetros que miden frecuencia). Verías algo como en la siguiente foto:

Si las frecuencias estan bien, podemos comprobar si el circuito de selección de puerto funciona como es debido, para ello, insertamos U8 y U3 (siempre apagando) y miramos la señal en el pin 4 del zócalo U6, en este caso he utilizado una sonda lógica pero se puede hacer con un polímetro midiendo tensiones (o con el osciloscopio mucho mejor).

Al encender el MSX la señal debería ser HIGH (aproximadamente 5v con el polímetro).
entonces al ejecutar el siguiente programa desde BASIC:
10 A=INP(&HD0)
20 GOTO 10
RUN
La lectura del mismo punto debería ser LOW (aproximadamente 0v), aunque como oscilaría entre 0 y 5, no estoy seguro de que lectura da con el polímetro, tal vez simplemente de un voltage inferior en continua y un voltaje de 5v en medición alterna.
A continuación vamos a probar el sistema de control de disquetera. Tenemos que insertar U7 y U5 y utilizar la sonda en el pin 10 del conector de disquetera. Así está la placa:

Al encender en el MSX el pin 10 debería estar HIGH, si no es así podemos forzarlo con el comando siguiente.
OUT &hD4,&b00000000
Si es correcto debería activarse fijo (LOW) con el comando siguiente:
OUT &hD4,&b00000001
Por último al insertar U1 y U6, y con el jumper JP5 en la posición 1-2 debería aparecer al encender el MSX algo como en la siguiente imagen:

Configurar los jumper
Ya está explicado, la configuración por defecto es JP1-JP4 en posición 1-2 soldado con un cable, JP5 inicialmente en posición 1-2 y J3 es para hacer un test pero simplemente puedes no insertarlo.
Fabricar el cable de datos
El cable debe ser como el de una disquetera MSX tradicional, es decir, con los hilos 10-12 cruzados. Tal como esta foto:

Los cables normales de PC tienen la disquetera B sin cruces y la disquetera A con los cables 10 a 16 cruzados, si queremos aprovechar un cable de PC tenemos que descruzar los cables 10 a 16 para cruzar solo de 10 a 12.
Como utilizaremos disqueteras estándar de PC que son de tipo DS1, la unidad A está después del cruce y la B podría estar antes (en el supuesto de un cable con 3 conectores, no como el de la imagen).
Fabricar la fuente.
Con el kit adjunto una fuente de 5v y conector de barril, un cable de alimentación de disquetera 3.5″ (PC) y un conector hembra de barril para que lo soléis del siguiente modo:

El cable rojo en el pin central y el negro en la paleta externa del conector (pantalla), cerramos el metal que sujeta los cables (sin que haga contacto con el positivo) y enroscamos la funda de plástico. Para mayor seguridad podemos enchufar la fuente a corriente, enchufar el adaptador sin la disquetera y medir si hay 5v entre los pines del conector de la disquetera.
en caso contrario repasar el problema.
Prueba final
Hay que insertar el interfaz en el MSX, conectar el cable de datos a la disquetera, el cable de alimentación también a la disquetera y enchufar esta, antes de encender el ordenador.
Con un disquete de arranque para MSX-DOS1 insertado debería cargar el sistema operativo tal que así:

No obstante, si el ordenador es MSX1 saldrá antes una pantalla como la que sigue pidiendo que introduzcas la fecha:

Esto es debido a que los MSX2 en adelante tienen reloj de tiempo real mientras que los MSX1 no, y el sistema quiere saber la fecha para registrarla en los ficheros que modifique.
Explicación detallada del circuito
Este es el esquema principal:

El circuito esta compuesto de una memoria ROM con el controlador y la extensión del BIOS/BASIC.

Aquí es donde estan almacenadas las rutinas que permiten al sistema ejecutar comandos de la disquetera, por ejemplo, desde BASIC podemos escribir FILES y nos mostraría el contenido del disco. El comando FILES es parte de la extensión del BASIC que está contenida en esta memoria.
También hay un generador de reloj con divisor de frecuencia a 1Mhz.

Esto no es un reloj para saber la fecha y hora sino una señal cuadrada de frecuencia precisa que los circuitos necesitan para activar su lógica secuencial.
A continuación el circuito de selección de puerto. En este caso se activa con una señal de lectura/escritura para el puerto 0xD0 (driver) y de escritura para el puerto 0xD4 (drive control).

El circuito drive control esta compuesto por un registro (D4) que mantiene las señales de control según la última orden enviada. Por ejemplo si el motor debe estar encendido o apagado se controla con el bit D5 enviado al mencionado registro.

Por último está el chip driver del dispositivo: es un chip diseñado específicamente para controlar disqueteras, puede recibir comandos sencillos y devolver resultados provenientes del disco, como leer un sector o cambiar la posición del cabezal sobre el disco.

Jordi Solís, miembro de MSXmakers.