Skip to content

DivMMC Future, un lector/grabador de tarjetas SD para tus ZX Spectrum

junio 2, 2017

Nuevo “juguetito” que me llegó hará bastantes dias atrás y que, poco a poco, he ido conociendo con la tranquilidad que supone hacer las cosas con algo más de calma. Este dispositivo, de nombre DivMMC Future, es una de las recientes novedades de los siempre ocupados miembros desarrolladores de hardware tras la página The Future Was 8-Bit y que lleva en el mercado desde hace algo prácticamente tres meses y, teóricamente, se ha convertido en todo un éxito entre sus compradores, hasta la fecha presente. Sus creadores tienen la habilidad de manufacturar con bastante solvencia placas o dispositivos para diferentes ordenadores clásicos, especialmente de ocho bits, muy elaborados. En su haber disponen, sobre todo, de sus excelentes emuladores de disquetera SD2IEC para diferentes gamas de ordenadores Commodore (VIC-20, 64, 64C y 128), así como otros accesorios. Su último diseño en hardware en aparecer, a fecha de hoy, es el PenUltimate Cartridge para los Commodore VIC-20.

Viene a ser una nueva placa basada en los populares DivIDE / DivMMC que han ido surgiendo desde hace ya unos cuantos años atrás y que se presenta en el mercado con una apariencia totalmente cercana a la filosofía de los primeros ZX Spectrum, en lo que a su diseño exterior se refiere, y lee cualquier tarjeta SD, sea cual sea su capacidad. Su principal virtud, su tamaño algo más diminuto que el de otras placas similares, si bien su precio sea algo superior a las que, en el momento actual, se pueden encontrar todavía a través de la red. La razón para ese encarecimiento debemos pensar que está en la fabricación y posterior montaje de las carcasas. Aun así, es una opción más de las varias existentes, bastante interesante además, y prácticamente compatible con todos los modelos, desde el 16K hasta el Plus-3.

Overhauled circuit design.
Jumper less – It detects what host it’s plugged into.
Special attention to Toastrack and Issue 4 PCB’s.
Uses a third of the power of other divMMC. Just think of the strain on your aged non-recapped Speccy. This thing will work on some really shoddy Speccys.
Tested on 16/48k ZX Spectrum Issue 1 all the way to Plus 3’s.
Kempston Joystick Port.
Full Sized SD Card.
Injection moulded case.
Rainbow stripe.
Stable as a rock.
Buttons illuminated with LEDs to show activity.
I’ve not finished testing all the Russian clones or Timex units yet…

Prolegómenos y qué son los DivIDE

Si a alguien no les suena estos conceptos, les diré que un DivIDE o DivMMC es una placa diseñada para ser conectada a los ZX Spectrum, a través de su bus de expansión, y que permite el acceso directo a archivos e imágenes usados normalmente con programas emuladores, estando éstos almacenados en un disco duro IDE / ATA, pendrive, Compact Flash o, más recientemente, una tarjeta SD de gran capacidad y para lo que se necesita de un sistema operativo especial que facilite ese acceso. Dicho sistema es el ESXDOS y su software necesariamente ha de estar incluido en el directorio raiz de la unidad de almacenamiento permitida por la placa para su perfecto funcionamiento. Si no dispusiese de dicho sistema, el dispositivo en sí no tendría sentido alguno.

He aquí varios ejemplos gráficos de placas DivIDE. Hay muchas más y con diseños distintos entre sí, pero su funcionalidad es la misma:

Las posibilidades de estas placas consiguen elevar las prestaciones de nuestros ZX Spectrum a un nuevo nivel en cuanto a lectura y registro de datos. La principal ventaja: la velocidad de acceso a programas es muchísimo mayor que si se hiciera desde una simple cinta estándar de casete, con lo que los tiempos de espera son realmente escasos y pasar de ver cómo se eterniza la carga de un videojuego, pongamos que exclusivo para 128K, hasta los 15 minutos más o menos, a reducirse a unos cuantos segundos es ya un objetivo que, de haberse conseguido en la década de los 80, habría hecho que el ZX Spectrum siguiera en la brecha unos cuantos años más. En diferentes páginas de Internet, encontraréis bastante información acerca de estos dispositivos.

El DivMMC Future

La presentación del aparato es digna de elogio, por la simple razón de la estética escogida. No obstante, el logotipo cuatricolor pegado a la carcasa como una etiqueta adhesiva se podría haber marcado con otra clase de impresión, pero ello habría supuesto encarecer más aún el producto, probablemente; con lo que es mejor dejarlo tal cual. Se conecta al ordenador directamente a través del bus de expansión (lógicamente, hay que hacerlo SIEMPRE con el ordenador desenchufado o desconectado de la red). En su parte trasera se ha añadido un puerto de joystick, con protocolo Kempston, un extra bien apetecible para los amantes a los videojuegos en general y que nos vendrá bastante bien si vamos a disponernos a jugar con nuestro Spectrum usando un mando o pad compatible, y justo a su lado está el slot para insertar nuestra tarjeta SD (según lo que vayáis a guardar en ella, recomendaría que tenga entre 4 y 8 Gigabytes de capacidad).

En su parte superior, hay dos pequeños botones, frontal y trasero, este último con LED indicativo de su estado de funcionamiento, normalmente de color verde. Si al encender el equipo completo se pone en rojo, indicaría que el dispositivo no es del todo compatible con nuestro Spectrum. En este sentido, hay que tener un especial cuidado si la placa de nuestro ordenador pertenece a la serie 4 (Issue 4, 4A y 4B) y, en principio, con los 128K de Investrónica ó sería con la versión inglesa o “toastrack”, algo hasta ahora sin confirmar del todo si funciona realmente o no en ambos modelos o en uno de ellos (por algún motivo, se nos dice desde la web de The Future Was 8-Bit que tengamos un cuidado especial en estos modelos, pero no dicen exactamente por qué motivo, ni tampoco hay especificaciones claras de cómo funciona el DivMMC Future sin el “jumper”, necesario por otra parte en el resto de placas).

Aquí hago un especial inciso: el sistema ESXDOS hace unas conmutaciones entre la ROM externa y la interna. El chip de la ROM fabricada por NEC y presente en estas placas no tiene suficiente velocidad para realizar esos cambios y el dispositivo no llega a funcionar como es debido. Con un DivIDE normal tendríamos la posibilidad de usar ‘fatware’ que no hace dichas conmutaciones y así sí funcionaria. Una opción válida para estos casos sería recurrir al bricolaje y realizar un cambio de la ROM por una EPROM (desde estas líneas, le doy las gracias a jgilcas por esta información complementaria.)

Sin embargo, otra explicación que me dan, concretamente McLeod-Ideafix, es la siguiente: “Las conmutaciones no las hace el firmware, sino el hardware. Tanto DivMMC como DivIDE usan el mismo sistema de paginación automática, creado por primera vez para el DivIDE. Sí que es cierto que Fatware no usa las direcciones de TRDOS para la paginación automática porque no soporta TRDOS, pero otros (paginación en reset, en interrupción, y en el trap de LOAD) sí, y entonces fallaría.”

En cualquier caso, en el grupo de Facebook El Mundo del Spectrum (E.C.S.S.) intentaremos a diario sacar algo de luz a esta cuestión y a tantas otras.

Añado también lo siguiente: sin un “jumper”, ¿cómo podríamos actualizar su “firmware”?

FUNCIONAMIENTO

El botón frontal hace la función de “reset” del ordenador, mientras que el trasero (NMI) activa el sistema de menús y de navegación, utilizándose para ello las propias teclas de cursor. Mediante este sistema, vamos navegando a través de las varias carpetas de la tarjeta SD hasta dar con el archivo que deseemos, lo seleccionamos y pulsamos ENTER para cargar el contenido de dicho fichero de forma automática. Pulsando la tecla de espacio o SPACE, salimos del programa navegador al BASIC sin necesidad de borrarlo. Podemos volver al menú perfectamente desde esta posición. Mientras estemos bajo dicho menú, pulsando “H” activaremos la pantalla de ayuda y se nos mostrará información sobre las diferentes funciones del sistema operativo y sus teclas correspondientes.

Cuando estemos usando el DivMMC Future, nuestro Spectrum se estará ejecutando siempre en modo de 48K, incluso en los modelos superiores (igual que si pasáramos a modo USR 0). Si queremos desactivarlo y utilizar los menús de navegación de nuestros 128K, solamente tenemos que retirar la tarjeta SD de la unidad, hacer un “reset” y volver a la normalidad. Para volver a activarlo, evidentemente, introduciremos de nuevo la tarjeta en su slot.

Los formatos admitidos por el DivMMC Future, con el actual software del sistema operativo ESXDOS incorporado, se limita, por el momento, a los archivos de cinta .TAP, a los que hay que sumar imágenes en .Z80, .SNA, .SCR, .TRD (éste es el formato usado normalmente con clones rusos del Spectrum, tales como Pentagon y Scorpion 256) y también con la extensión .BASIC, aunque hay que tener cuidado con las imágenes con extensiones .Z80 y .SNA, pues pueden no contener juegos compatibles con según qué modelos (un juego que esté grabado en alguno de estos formatos puede que funcione en un ordenador de 128K, pero no así en otro de 48K, por razones más que evidentes) y en otro caso ser solamente compatibles con determinados emuladores de Spectrum.

Si al ejecutar el comando .ls, estando dentro de un directorio en concreto, y comprobamos leyendo la información de los archivos en pantalla que algunos de ellos tienen nombres semejantes y no acertemos a distinguir cuál de ellos es el que queremos cargar (p. ej., dentro de la subcarpeta “I” de “GAMES” podríamos encontrarnos con “INDIAN“1.TAP”, “INDIAN“2.TAP”, “INDIAN“3.TAP”, y así con otros archivos en otras carpetas), podríamos, si así lo deseamos, renombrarlos y acomodar sus nombres a ocho caracteres.

Justamente desde BASIC, podemos operar con una serie de comandos. La información que se nos muestra en pantalla se limita a los nombres de los directorios y resto de ficheros, su tamaño en bytes y su fecha de creación. Aquí solo podemos ver estos archivos con nombres con hasta ocho caracteres por fichero más su propia extensión, pero es probable que en un futuro se pueda sustituir dicho software por otro diferente y que permita desplegar en pantalla nombres de archivos más extensos. De hecho, existe algo así en otros modelos de placas DivIDE que incluyen un sistema de navegación diferente al usado por la gente de The Future Was 8-Bit. La siguiente imagen, tomada prestada de esta página web, es una muestra de ello.

La lista de comandos es la habitual en estos casos y, según las instrucciones suministradas, éstos son los más comunes:

.ls – Muestra una lista del directorio en curso.
.cd nombredir – Cambiar de un directorio a otro inferior.
··························· – Para volver atrás, se teclea “.cd ..
.mkdir nombredir – Crea un directorio con el nombre que deseemos.
.tapein filename.tap – Configura el ordenador para la carga del archivo seleccionado. Tras introducir dicho comando, respetando todos los caracteres del fichero, podemos teclear LOAD “” y luego pulsar ENTER para iniciar dicha carga y en un instante tendremos el programa en memoria en pocos segundos.
.tapeout filename.tap – Configura el ordenador de forma que podemos escribir o grabar los datos de un programa actualmente en memoria a un archivo con la extensión .TAP.
.cp source newfile – Copia el contenido de la fuente de un determinado archivo a otro nuevo
.mv oldname newname – Renombrar el nombre de un archivo por otro diferente.
.more file.txt – Despliega en pantalla el contenido de un archivo de texto.

Como habéis podido ver, podemos crear nuestros propios archivos en .TAP con el comando .tapeout. La principal ventaja de esto es que podemos trasladar nuestros propios programas a la tarjeta SD, en la carpeta que deseemos. Lo primero de todo es dirigirnos a dicha carpeta y en ella crear dicho fichero para acto seguido grabar nuestro programa, generalmente escrito en BASIC.

Simplemente tecleamos la instrucción .tapeout fichero.tap y se nos generará dicho archivo a continuación. Grabamos nuestro programa a continuación con el comando SAVE. Para cerrar definitivamente dicho archivo, introducimos .tapeout -c fichero.tap.

Añado, con permiso de McLeod-Ideafix, esta nueva información que, a buen seguro, os interesará bastante:

“Otra posibilidad admitida en otros DivIDE” –y que es bastante probable (no usado hasta ahora por mí, pero lo comprobaré oportunamente) que el DivMMC Future lo incluya–, “es la posibilidad de almacenar snapshots en la misma tarjeta. De hecho, si queremos continuar la partida de un determinado juego donde lo hemos dejado, pulsamos el botón de NMI para acceder al navegador de ficheros, como siempre. Desde ahí, pulsamos la tecla “S”. Al cabo de unos segundos se habrá grabado el snapshot con el nombre SNAPxxxx.SNA donde xxxx es una secuencia numérica que va desde 0001, 0002, etc. Si al hacerlo vemos un "ERROR 18", significa que el nombre del snapshot ya existía y por tanto no puede grabarlo. En ese caso seguimos pulsando “S” una o varias veces más, hasta que dejemos de ver el error (se ve que el contador de snapshosts se resetea cada vez que se apaga el aparatito y ESXDOS no lo retoma con el número del último snapshot creado, sino que comienza por 0001, sin sobreescribir lo que hubiera).”

“Otra característica poco comentada es que se puede grabar y cargar cosas sin necesidad de crear ficheros TAP. Así, por ejemplo, con el comando SAVE *"nombre.bas" puedes grabar directamente un fichero de BASIC a la tarjeta SD, y con LOAD *"nombre.bas" lo cargas. Puedes hacer lo mismo con ficheros SCREEN$ o CODE. Muy útil porque permite integrar, al menos un poquito, el manejo de la tarjeta SD con los comandos BASIC habituales.”

Si tuviésemos la suerte de tener en nuestra tarjeta SD los juegos de Ultimate Play The Game, hay que tener en cuenta las particularidades de los modelos 128K/+2/+3 con algunos títulos de esta mítica compañía, debido al mecanismo de paginación de la RAM. Para solventar este caso, tenemos que teclear previamente la siguiente instrucción antes de cargar algunos de estos videojuegos:

OUT 32765,48

Valoración general

Excelente en casi todo, bastante sencillo de manejar y no requiere de apenas ninguna clase de mantenimiento, si bien es mejor tenerlo bien guardado cuando no lo estemos usando. Entre sus pequeños inconvenientes, tan solo un par de “cositas”, cabría destacar su inoperancia con algunas placas de ZX Spectrum 48K, referido este tema varios párrafos atrás, y, en segundo lugar, su incompatibilidad con la rom del +3e, dado que se ha simplificado las caracteristicas de la interfaz con la supresión del típico “jumper” presente en otras placas DivIDE. Esta simplificación permite, no obstante, que la placa detecte casi enseguida qué modelo de ZX Spectrum se está usando, tanto si es de 48K como de 128K y, por tanto, es perfectamente compatible con casi todos ellos, incluyendo el ZX Spectrum 128K de Investrónica (aunque insisto que no está del todo confirmado y así darlo por seguro del todo, para zanjar esta cuestión) y hasta el mismo Timex 2068 (solo se requiere que contenga la ROM original).

No obstante, quiero añadir que al ser un sistema cerrado y sin que en la web de sus creadores se dan más detalles sobre cómo ha sido construido (no hay suficiente información al respecto), no se puede conocer los entresijos de su placa ni tan siquiera los componentes utilizados, al menos hasta que alguien consiga destriparlo y enseñar sus interioridades en meses venideros.

Gran parte de toda esta información que os he facilitado proviene de las instrucciones incluidas con el aparato en una hoja aparte, dentro del paquete que habremos recibido al cabo de varios dias tras haber practicado su compra. Y podéis usarla, siempre mencionando esta web como principal fuente, en foros y sitios webs para conocimiento de posibles interesados.

En la web del periférico, se nos da la oportunidad de comprar, si así lo deseamos, una tarjeta SD de 8 GB con el software preinstalado y la práctica totalidad del software existente para los ZX Spectrum almacenados en subdirectorios, dentro de la carpeta GAMES. Elegir qué jugar se convierte en un gran pasatiempo para sus usuarios pues son muchísimos los videojuegos y otra clase de programas los que aparecen contenidos en dicha tarjeta. Por otra parte, es absolutamente opcional. Podemos perfectamente utilizar cualquier tarjeta SD que tengamos en casa o que hayamos comprado aparte con la misma capacidad de almacenamiento, darle el formato deseado (o no hacerlo) y empezar a grabar en él todos los archivos posibles, sin olvidarnos de incluir en ella los ficheros correspondientes a la última versión del ESXDOS.

Una unidad cuesta 65,99 libras esterlinas y los extras, absolutamente opcionales, tarjeta SD y una fuente de alimentación alternativa a la estándar del ZX Spectrum (con más estabilidad y 15 amperios de salida; ver especificaciones a través de este mismo enlace), 5,00 y 13,99 libras, respectivamente. Entiendo que el precio es bastante caro, pero comparado con otros dispositivos similares y viendo cómo se ha construido tanto su placa como la misma carcasa exterior, resulta hasta merecedor de ser tenido en cuenta.

Cualquier duda sobre su funcionamiento, por correo electrónico o usando Twitter, podéis contactar con su principal responsable, Rod Hull, y él os podrá dar algunos detalles. En cuanto a cuestiones más de fondo a nivel técnico, Sanxion os podrá ayudar a través de su cuenta de Twitter.

Un excelente dispositivo que me gustaría recomendaros, si vuestro bolsillo os lo permite. Por supuesto, lo dejo a vuestra total consideración, sabiendo además que existen otras opciones parecidas más o menos adaptadas a vuestra economía particular y más baratas. En cualquier caso, no quiero tampoco abrumaros con la intención de su compra. Si os lo podéis permitir, adelante. Y es más, al igual que he hecho con mi Commodore 64, dejaré de usar cada vez más las mismas cintas físicas en mis ZX Spectrum y volcarme más en el disfrute de ellos con este sencillo dispositivo de lectura y grabación por tarjetas SD.

Hay que evolucionar con los tiempos (“renovarse o morir”, dice el dicho popular o lo dijo de otra forma Miguel de Unamuno), aunque es verdad que se pierde esa esencia de lo antiguo, de cargar nuestras viejas cintas en reproductores de casete como los Computones y similares y saborear una rodaja de pan con Nocilla mientras esperamos durante varios minutos a que el videojuego de turno fuera cargándose en memoria, como hacíamos hace 30 o 35 años e incluso lo venimos haciendo en la actualidad, como hemos visto en muchos eventos “retro”. Minutos que parecían y nos siguen pareciendo eternos… ¿Y qué decir de las rabietas que nos cogíamos cada vez que el juego dejaba de cargarse y en pantalla nos mostraba el temido mensaje de error “R. Tape Loading Error” o se bloqueaba/reseteaba el ordenador justo cuando estaba llegando al final de la carga, por culpa de la cinta o del mismo azimut y venga a darle con el destornillador para ajustarlo en un sentido y en el otro numerosas veces, hasta dar con el ajuste justo; o simplemente tener que limpiar los cabezales con algodón y un poco de alcóhol porque estaban sucios; o que la cinta se atascaba en ocasiones, había que darle varios golpecitos o usar un bolígrafo BIC para rebobinarla hasta el principio porque, pese al mecanismo supuestamente robusto de la casetera o pletina, ésta no tiraba de ella? ¿Habéis pensado en eso?

Pero eso no se perderá nunca, si bien es verdad que estos aparatos van a ayudar mucho a que esta afición perdure.

The Future Was 8-Bit (DivMMC Future)

Pantalla del juego “Galivan” (Imagine, 1986), cargado desde un Spectrum en pocos segundos gracias al DivMMC Future

PD: Gracias nuevamente a jgilcas y también a McLeod-Ideafix por la ayuda prestada.

Anuncios
One Comment leave one →
  1. desUBIKado permalink
    junio 2, 2017 10:54 pm

    Magnífico artículo, como ya nos tienes bien acostumbrados. Yo ahora para disfrutar del Spectrum uso el ZX-Uno, el cual tiene embebido el esxdos. Sin embargo recientemente he adquirido la ampliación de memoria externa que permite la carga de archivos .PZX (son una especie de .TZX simplificados) desde la tarjeta SD. Estos archivos son una copia fiel del sonido original, y permiten la carga a velocidad “real” con cargas normales, turbo o especiales. Así que se puede dar de comer a la nostalgia pero con la comodidad de no necesitar un cassette, un móvil o un TZXduino para realizar la carga con el sonido original.

Publica aquí tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: