DIVIDE. Interface IDE ATA 16 bits para SINCLAIR ZX SPECTRUM y compatibles

hardware14_0.jpg Año: 2002
Autor: Pavel Cimbal. “ZiloGator”
País: Chequia

Si hacemos una revisión histórica de interfaces no vamos a encontrar nada parecido, Dan Anthoi con su “expansion system” o Ans Summer, Pera Putnik en su interesante pagina de hardware nos propone dos modelos, en modo 8 ó 16 bits, de él derivó el +3e de Garry Lancaster y en la “scene” rusa también existen interfaces de disco duro con uso de zx-bus.

divIDE se diseñó en 2002 a petición de un grupo de usuarios y tras 15 días de pruebas se realizó su diseño profesional, todo un reto.

hardware14_1.jpg

En la imagen los componentes en una protoboard y disco duro Conner


Una breve descripción del aparato nos dice que su tamaño es similar a una placa de PlusD y realmente es muy superior en prestaciones. Usa pocos componentes y modernos. No emplea integrados “difíciles” como el i8255 y su elaboración es sencilla a partir de placa profesional. Cuenta con una eeprom de 8Kb, una RAM de 32Kb, 3 GAL y 3 integrados de la serie 74HC**, 3 transistores… No hay conexión Centronics.

hardware14_2.jpg

El divide en acción


Se ha dicho que las GAL ya no se fabrican. Esto es falso, se siguen desarrollando y tanto las originales elaboradas por Lattice® como las Atmel® u otros fabricantes son perfectamente válidas, sólo que hay que configurarlas con un programador especifico que las soporte.

Existe la posibilidad de realizar la placa de manera casera. Realmente no lo recomiendo, pues cuenta con múltiples vías que debe ser mecanizadas con broca de 0.5.

hardware14_3.jpg

Yo no tengo manera de metalizar las placas de forma casera, tuve que añadir un conector para faja IDE al propio conector normal. Mas que un divIDE parece un Mihura ;D


Otra característica que lo separa del resto de interfaces, es ser un producto en el que el desarrollador no obtiene beneficio económico. Se adquiere por 20€ contactando con el autor más los gastos de envío. Por correo en el kit se incluye todo lo necesario: GAL programadas, integrados, la placa y algo realmente difícil de encontrar, el conector del bus del Spectrum.

hardware14_4.jpg

Diversos tipos de conectores desoldados


hardware14_5.jpg

Tiras de zócalos torneados, imprescindibles


Funciona con todos los modelos de Spectrum, desde el Sinclair 16KB hasta los modelos de AMSTRAD®, incluidos los clónicos rusos y los modelos de países del Este, didaktik m, gama, etc.

Se adapta a la RAM disponible y carga los ficheros compatibles para ese modelo.

No es necesario modificar nada al Spectrum. No se necesita cambiar la ROM pues, como ocurre con el PlusD o Beta disk, el firmware lo incorpora, el cual es “reflasheable”. De hecho no sólo es un interface IDE, también es un grabador de su propia flash eeprom. No necesitamos un programador externo para configurar el interface, cargamos el software en cinta y seguimos sus instrucciones. El Spectrum queda listo para trabajar con cualquier dispositivo IDE-ATAPI que conectemos: CDROM, disco duros con FAT16 y discos duros con FAT32 en los que exista al menos una imagen ISO 9660, unidades ZIP® y, cómo no, las compact flash de cualquier tamaño, siendo mejor las de tipo 1, al ser “lentas”. Sólo admite dos unidades IDE ATAPI, maestra y esclava.

hardware14_6.jpg

No precisa de alimentación externa, la coge del propio bus del Spectrum. Como los integrados son de la serie HC, HCT el consumo no es elevado. Esto unido a que las compact flash pueden también alimentarse a través del bus lo hacen la configuración ideal, un sistema totalmente silencioso.

Nos olvidamos de la cinta y el disquete para siempre. Una vez configurado ya no precisamos el software, cuenta con su propia “BIOS”.

La tasa de transferencia de datos es excepcional, mas de 200KB/s. Supera a cualquier interface de disco 3,5“.

Si conectamos discos duros el consumo se eleva y es necesaria una fuente de PC.

Existe un proyecto denominado cfIDE, es un adaptador de compact flash a bus IDE. En Internet hay muchos productos que nos ahorrarán el trabajo de soldar un bus de compact flash, terriblemente difícil de adquirir y de soldar, y a un precio elevado.

hardware14_7.jpg

Este adaptador sólo soporta una CF, existen adaptadores de 2 CF


Toda la información para la elaboración profesional del interface se encuentra en la pagina del autor. Ha padecido un accidente y ha detenido el desarrollo del proyecto por unos meses. Desde aquí deseamos su pronta recuperación.

Cuando terminamos de soldar los componentes del kit disponemos de un software específico que comprueba tanto el interface como el propio Spectrum al que hemos conectado el divIDE. Es:

Transient Bios, TBIOS versión 1.4: nos muestra con detalle el tipo de Spectrum, comprueba la RAM interna del Spectrum, la eeprom externa del divIDE, hace una prueba de escritura en todos los bancos de RAM, hace un test de reloj… Es realmente difícil describir con palabras. Al final comprueba el hardware que tengamos conectado y muestra la información del firmware del fabricante del disco duro y CDROM.

Hay cuatro grandes sistemas operativos:

hardware14_8.jpg

Pulsa Symbol Shift+A y se inicia Tbios


hardware14_9.jpg

Se termina el chequeo del Spectrum


  • 1. FATWARE: versión 0.12, soporta hasta 8 particiones en FAT16, no soporta FAT32, con un tamaño máximo de 8 gigas ;D

hardware14_10.jpg

Fatware


  • 2. MDOS3: Teniendo en cuenta que ahí debía haber soporte para las unidades D40 (MDOS1) y D80 (MDOS2) se crea este nuevo sistema compatible y divIDE se comporta como una unidad “virtual” de hasta 4 unidades de disco. Trabaja con ficheros *.raw de imagen de disco D40 y D80, se aprovecha todo el material disponible en este formato.
  • 3. +Divide: Sistema compatible +Gdos, de las unidades Disciple/+D. divIDE reconoce imágenes de disco de estas unidades y trabaja con ellas a bajo nivel, por lo que hemos de ser cuidadosos al realizar labores de escritura y lectura.
  • 4. Demfir: versión 0.5b, 0.6, realmente no es sistema operativo, es un emulador de ficheros de emulador, a partir de una imagen *.ISO 9660 contenida en el disco duro o CDROM. Sólo lectura.

El Spectrum se convierte en una extraordinaria consola con miles de videojuegos al reconocer los ficheros más habituales:

hardware14_11.jpg

Tras pulsar NMI, aparece este menú. Pulsamos “S” y ponemos en hexadecimal el sector de arranque de la imagen ISO contenida en el disco duro QUANTUM FIREBALL.


hardware14_12.jpg

Apuntando al sector de arranque divIDE detecta automáticamente la imagen MADRIZX06.ISO


hardware14_13.jpg

En este caso es una SANDISK® 128Mb. Sector de arranque en la dirección 00000DB. Si no ponemos un nombre válido, divIDE anota la fecha y la hora del archivo *.ISO


*.SNA, *.z80 y *.SCR se cargan de forma instantánea, no importa la versión de fichero generada por el emulador de PC sobre la que se hizo el fichero que el Spectrum deba cargar, las reconoce todas.

hardware14_14.jpg

Cuando intentamos cargar un *.z80…


hardware14_15.jpg

Directorio principal…vamos a JUE_WOS.


hardware14_16.jpg

Editando el fichero manic.tap…


*.TAP, podemos editar el fichero y entrar desde cualquier punto, tras pulsar “R” se efectúa el RESET y tecleamos LOAD ”“… Y a disfrutar.

hardware14_17.jpg

Las demos a cualquier tamaño. Esta mega-demo llamada MQM5 tiene varias partes, es espectacular. Tiene un tamaño de 640 Kb y el divIDE no se cuelga para nada


Por ahora los sistemas son sólo lectura, en próximas actualizaciones habrá soporte de lectura/escritura.

hardware14_18.jpg

Cuando se manejan con precisión los ciclos de reloj se consigue esto. La foto no reproduce el efecto. Por supuesto, la conexión RGB es esencial para disfrutar al máximo y apagar la luz de la habitación


Si dentro de la imagen ISO ponemos firmware para el divIDE, podemos desde el propio interface actualizarlo con suma rapidez.

Hay dos versiones de placa, la 57b y la 57c.

La única diferencia está en los componentes discretos, se cambian los valores de varias resistencias según el tipo de transistor empleado.

Hay 4 ficheros *.JED para 3 GAL, A, M y R, los ficheros a programar son: a, m’ y r. Es importante identificarlas para evitar errores en su posición.

hardware14_19.jpg

es importante identificarlas para evitar errores en su posición


Los PLD GAL son matrices lógicas re-programables. Sustituyen y “emulan” a un buen grupo de integrados lógicos con el beneficio de consumir poco.

Si partimos de kit no debe haber problema pues, como dije, el kit incluye todo lo necesario para terminar el trabajo.

Si partimos de cero, debemos trabajar con la versión 57c, y seguir las instrucciones del autor en la pagina.

Para realizar el kit recomiendo un soldador de no más de 30W y punta fina.

Una vez terminado el trabajo y configurado nos encontramos ante el interface que nos devuelve a la actualidad a nuestro querido Spectrum y lo pone a trabajar con los dispositivos de almacenamiento modernos.

Pavel Cimbal, por dar a conocer de modo altruista este interface maravilloso.

Alberto Nadal, por darme la oportunidad de reparar sus interfaces y regalarme uno con placa profesional y el adaptador de CF.