noticias

Se consigue emular por primera vez el HiLow DataDrive para Spectrum

Es increíble que en la actualidad el mundo de la emulación siga dándonos sorpresas como esta. Podemos anunciar que se ha conseguido la emulación de un dispositivo muy poco conocido. Se trata del HiLow DataDrive, dispositivo creado en Uruguay en plena época comercial del Spectrum. Ideado como alternativa a la carga de cinta, ofrecía la posibilidad única de utilizar cintas de cassette normales como si fuesen discos y a unas velocidades increíbles. El aparato consistía de un reproductor de cassette especial y su correspondiente interface. No fue comercializado de manera internacional y los creadores del aparato, una vez terminada esta etapa, se deshicieron de todo lo relacionado con él.

Nuestro amigo y antiguo colaborador Rodolfo Guerra contactó con su amigo César Hernández Bañó (creador del genial emulador ZEsarUX), a quien conoce desde hace muchos años, para comentarle la posibilidad de emularlo. Gracias a un gran trabajo de recopilación, colaboración y contacto que se viene haciendo desde hace casi 3 años entre los uruguayos Carlos Galucci (uno de los creadores del dispositivo), Mario Villar Corbo (experto en electrónica), Héctor De Armas (desensamble y comentarios iniciales de la ROM), Rodolfo Guerra y al arduo trabajo de César Hernández Bañó se ha conseguido lo que parecía imposible: emular el HiLow DataDrive.

César ha descubierto muchísimos detalles que se habían perdido acerca del funcionamiento del aparato, necesarios para su correcta emulación que estará disponible en la próxima versión de su emulador ZEsarUX, aunque los más hábiles pueden compilar el código fuente, pues ya se encuentra implementado.

¿Qué es el HiLow DataDrive?

Seguro que llegados a este punto muchos tenéis curiosidad por saber qué es este aparato. Pues bien, quién mejor que Carlos Galucci para explicárnoslo:

Para hacer un poco de historia del Hilow DataDrive, voy a empezar por «el estado de la técnica», como se le llamaba en los trámites de patentes a la situación actual del problema o carencia que el invento propone resolver, para pasar luego a la descripción de la solución.

El Spectrum salva programas, datos, etc. a cinta de cassette común de forma simple y fiable pero con algunas carencias:

  • Una vez grabados en cassette varios archivos, para volver a cargarlos es necesario operar manualmente el grabador avanzando o retrocediendo la cinta hasta encontrar el inicio del archivo buscado.
  • No es posible disponer de un directorio que permita conocer el contenido de determinada cinta.
  • La velocidad de escritura/lectura no es muy alta.
  • Los medios de almacenamiento alternativos, tales como Microdrives o sistemas de disco, tienen una gran limitación: existen muchos utilitarios (de dibujo, texto, programación, etc.) que no tienen posibilidad de manejar tales dispositivos debido a su sintaxis y funcionamiento completamente incompatibles, a menos que se adapten los programas manualmente, tarea que en algunos casos es poco menos que imposible.

El objetivo del DataDrive es dotar al Spectrum de funcionalidades de manejo de archivos similares a los existentes en sistemas más avanzados, como Apple o IBM.

A diferencia de dichos sistemas, que cargan su sistema operativo desde disco, el Spectrum tiene su «sistema operativo» en ROM. La única posibilidad práctica de expandir el sistema, es a través del mecanismo de paginado, deshabilitando la ROM nativa y habilitando otra externa.

En el mercado uruguayo se consiguen cabezales de grabadores como repuestos de COLECO. El DataDrive consiste en una adaptación a nivel de hardware y software de dichos dispositivos para que puedan ser usados en Spectrum.

Para que los comandos de BASIC y los programas existentes resulten compatibles con un sistema radicalmente diferente, la interface del DataDrive pagina las ROMs cuando la ejecución del código en la ROM original pasa por determinadas direcciones. De ese modo, el dispositivo intercepta los comandos SAVE y LOAD antes de que accedan al sistema nativo.

La ROM del DataDrive examina el parámetro indicado en las instrucciones y toma diversas acciones dependiendo de lo que encuentre.

Si se coloca como parámetro del comando SAVE un nombre que comience con punto «.», entonces opera en modo DataDrive, salvando el archivo a la cinta de este dispositivo. De lo contrario, continúa con la grabación nativa a cassette. De ese modo, el usuario determina si quiere salvar a cassette común o a DataDrive simplemente usando o no el caracter «.» al comienzo del nombre.

Otros comandos, como por ejemplo la lectura del directorio, se logran interpretando nombres reservados pasados como parámetros a la función SAVE.

Por ejemplo, SAVE » » muestra el directorio. SAVE » FORMAT » formatea una cinta, etc.

El comando FORMAT permite ponerle nombre al cassette con la forma SAVE «@juegos» o SAVE » FORMAT juegos»

Los programas BASIC se salvan colocando un «.» como primer carácter del nombre. Ej: SAVE «.programa» [LINE xxxx]

De modo similar, los bloques binarios también se salvan agregando un «.» al comienzo del nombre. Ej: SAVE «.nombre» CODE xxxx,xxxx

Lo mismo para otros tipos de datos: SAVE «.data» DATA a() SAVE «.data$» DATA a$() SAVE «.pantalla» SCREEN$

Para ver el directorio de un cassette el comando es SAVE » CAT » o SAVE » » o SAVE «^»

Los archivos almacenados pueden verificarse para asegurar que la grabación fue exitosa SAVE «:» o SAVE «:nombre»

Es posible borrar archivos para dejar espacio libre en la cinta: Ej: SAVE » ERASE programa»

El comando de borrado también puede ser SAVE » ERASE » o SAVE «|» seguido de la selección con cursores del archivo en un listado que aparece en pantalla.

Los «huecos» que quedan en la cinta cuando se borra un archivo se aprovechan en la siguiente grabación. El DataDrive es capaz de fragmentar los archivos, de modo que se puedan guardar en segmentos pequeños no necesariamente contiguos en la cinta.

Para leer programas, pantallas o datos, el comando es LOAD «.» o LOAD «&»
El comando muestra el directorio y se puede elegir el archivo con las teclas de los cursores.

Conociendo el nombre del archivo, se lo puede cargar directamente. Ej:
LOAD «.binario» CODE [xxxx,xxxx]LOAD «.matriz» DATA a()
LOAD «.matriz» DATA$ a$()
LOAD «.pantalla» SCREEN$

La copia de archivos se realiza mediante el comando SAVE «=» o SAVE «=nombre»

Es posible renombrar archivos grabados mediante el comando SAVE «[nuevo» que presenta el directorio en pantalla y permite elegir uno de ellos para renombrar.

El botón NMI permite al DataDrive salvar una imagen de 48K de memoria. El procedimiento para respaldar juegos originales es el siguiente:

  • escribir el comando SAVE «*nombre_del_juego»
  • cargar el juego normalmente desde cinta
  • una vez finalizada la carga (o en cualquier etapa del juego) se pulsa el botón NMI y el juego se copia al DataDrive

El Mundo del Spectrum

El Mundo del Spectrum es un medio digital dedicado al Sinclair ZX Spectrum, a los 80 y al Retro en general. Nació como homenaje a Microhobby en 1996 en formato revista mensual evolucionando hasta esta cuarta época. Como medio audiovisual se publica regularmente el Podcast llamado El Mundo del Spectrum Podcast y material en vídeo en el canal de Youtube. Publicados dos libros de gran éxito editorial. Si te gusta el Retro y el Spectrum en particular, esta es tu web. Bienvenido/a.

Publicaciones relacionadas

2 comentarios

  1. Muchas gracias a todo el staff de «El mundo del Spectrum» por publicar esta noticia. Para nosotros es muy importante recuperar este pedazo de historia, cuando se creó un dispositivo único y totalmente desconocido para el resto del mundo. Saludos desde Montevideo, Uruguay.

Deja una respuesta



Embalaje protección
Embalajes para la protección de mercancía
Páginas web Zaragoza
Páginas web de calidad Zaragoza
Polietileno reticulado
Todo sobre Polietileno reticulado
Botón volver arriba