Ir al contenido principal

Dispositivos imprescindibles: DivMMC (DivTiesus)

El DivMMC es un dispositivo de almacenamiento masivo donde podemos guardar gigas de juegos y programas para acceder de forma rápida en nuestro Spectrum. Permite tanto cargar como guardar programas, así como, otras funcionalidades muy interesantes que a la vez muy útiles.

Existen múltiples versiones del DivMMC que podemos encontrar en distintos sitios de Internet, como son tiendas especializadas o en el propio eBay. Aviso que no son baratos, por este motivo me fijé en la versión de DivMMC DivTiesus, que alberga las 3 B's (bueno, bonito y barato) y que, al disponer de uno, es el objeto y motivo de este análisis.

El DivTiesus es compatible con todos los modelos de ZX Spectrum 16K, 48K, 128K (Toastrack) y los +2, +2A/B y +3.


Características Principales
  • Dispone de dos botones, NMI, para invocar al browser que nos permite navegar interactivamente por los directorios de la tarjeta microSD y un botón de reset.
  • Interruptor para habilitar o deshabilitar el DivTiesus.
  • Ranura de tarjeta microSD.
  • Conexión WiFi y módulo RTC (Real Time Clock)
  • Puerto DB9 de joystick que funciona como Kempston y es compatible con mandos de Sega Megadrive.
  • Conector PS/2 para usar un ratón.
  • Conector de expansión por si queremos conectar múltiples dispositivos.
  • Autodetección del modelo de Spectrum al que está conectado, por lo que no es necesario activar o desactivar jumpers, para seleccionar, si es un 48K, un +2A, etc.

Primer arranque 


Al llegar a casa, viene junto a unas instrucciones que nos indica que bajemos un archivo sd.zip, cuyo contenido tenemos que copiar en una tarjeta microSD.

En la web de ZX Projects podéis encontrar toda la información para usarlo.

Una vez copiado todo el contenido en la tarjeta microSD, la insertamos en el DivTiesus y, con el Spectrum apagado, lo conectamos al puerto de expansión del ZX Spectrum.

Al encenderlo veremos la siguiente imagen por pantalla.


Una vez que haya iniciado, nos encontraremos en cualquier modelo de Spectrum, incluidos los de 128K, una pantalla de inicio tipo 48K.

Lo primero que vamos a hacer es configurar la WiFi utilizando el comando .wconf, seleccionando de una lista nuestro punto de acceso y, al introducir la clave, nos saldrá la IP asignada.

Por el momento, aparte de poder configurar la hora del módulo RTC, las utilidades que vienen para usar la WiFi, en mi opinión, son poco prácticas, como por ejemplo, el comando .wload.

A diferencia de las primeras versiones del DivTiesus, las últimas vienen con un módulo RTC y una pila de botón que permite tener guardada la hora. Para configurarlo, ejecutamos el comando .ntpdate +2 (configura la hora de España) y de esta forma queda guardada la hora actual, que podemos ver ejecutando el comando .date.


Browser NMI

El DivTiesus dispone del navegador de Bob Fossil, que lo podemos invocar en cualquier momento pulsando el botón NMI y, si estamos en el intérprete de BASIC, a través del comando .browse.


Este navegador nos permite desplazarnos fácilmente por una estructura de directorios y ficheros para cargar cualquier programa o juego que queramos ejecutar. 

A diferencia del navegador original de ESXDOS, es más colorido y soporta nombres de fichero largos. Utilizando los cursores de arriba y abajo nos desplazamos por la página actual, si seleccionamos un archivo lo ejecutamos pulsando la tecla enter. Solo podemos abrir archivos .tap, z80 y sna, los ficheros .tzx o .dsk no son compatibles. Para avanzar más rápido en la navegación, con los cursores izquierda y derecha, nos muestra la página anterior o la siguiente. Si pulsamos la mayúsculas+H, nos mostrará una ayuda por pantalla de todos los comandos que podemos utilizar:


Los que utilizaremos con más frecuencia serán: 
  • Mayúsculas+S: esta opción posiblemente sea de las que más utilicemos. Si estamos en medio de una partida o la tenemos muy avanzada y queremos continuar desde ese punto en otro momento, pulsaríamos el botón NMI y, una vez que se muestre el browser, pulsando  Mayúsculas+S, nos pedirá introducir un nombre de archivo, que se guardará con formato .SNA. Con este browser se pueden sobrescribir ficheros.
  • Mayúsculas+X / Break: Pulsando estas teclas salimos del browser. Muy útil si hemos entrado al browser para grabar una partida y luego queremos regresar para continuarla.
  • Sym shift + X: Hace un warm reset. 
  • Mayúsculas+Q o Mayúsculas+A: Para ir a la primera o última entrada del directorio. 
  • Mayúsculas+F: Para buscar un fichero en el directorio. 
  • Mayúsculas+K: Para meter pokes.
Dot commands e instrucciones de BASIC

Para manejar el DivTiesus podemos utilizar el browser, con el comando .browsepulsando el botón NMI, o la línea de comandos, para esto útlimo utilizaremos comandos de BASIC y/o los dot commands, que son comandos desarrollados con la librería ESXDOS y cuya peculiaridad es que empiezan por un punto, como son los que hemos visto al configurar la WIFI (.wconf) o para ver la fecha (.date). 


Las instrucciones en Basic que podemos utilizar son:

Estos listados de comandos los podemos encontrar en:

Carga de juegos

Los formatos de juegos soportados son .TAP, .Z80 o .SNA, pero otros formatos como son el .TZX o .DSK no lo están. 

Para cargar los juegos, se puede utilizar el browser vía botón NMI. Se navega por los directorios hasta llegar al programa que queremos ejecutar y lo cargamos con la tecla ENTER.

La multicarga está soportada, es decir, si estamos en un juego que al completarse una fase requiere de una carga adicional, el dispositivo lo detecta automáticamente y ésta es instantánea, permitiéndonos continuar sin tener que soportar las largas esperas. Si la partida finaliza y requiere de una nueva carga para volver al inicio, el dispositivo va al principio y lo carga automáticamente, esto, al contrario que pasa con la cinta de casete, nos ahorra el tener que rebobinar y memorizar en qué posición de la cinta está el comienzo, que en algunas ocasiones es el principio de la cara B pero en otras no. Esto solo ocurre con ficheros .TAP, si el juego está en formato .Z80 o .SNA, al ser imágenes guardadas, no está soportada la multicarga.


En medio de una partida, si queremos grabar la posición en la que nos encontramos para luego continuar, si pulsamos el botón NMI y luego la combinación de teclas "Mayúsculas+S" guardaríamos la partida en un fichero aparte con formato .SNA. Para regresar a la partida, pulsamos la tecla break y salimos del browser NMI. 

Tenemos también la opción de cagar programas con el comando .tapein, para esto habría que navegar por los directorios, con el comando de BASIC GO TO "nombre directorio", por ejemplo, GO TO "juegos" o también utilizando el dot command .cd nombre directorio, por ejemplo, .cd juegos.


Una vez cargado el programa en la memoria del DivMMC, ejecutamos LOAD "" para ejecutarlo en el Spectrum. Si hacemos reset el programa seguirá cargado en la memoria del DivMMC, por lo que para quitarlo se tendría que ejecutar .tapein -c.

Grabar programas

El comando .tapeout se utiliza para cargar un fichero .tap en la memoria del DivMMC y tratarlo como si fuera una cinta para grabar los programas que escribamos.

Para probar, ejecutamos el comando .tapeout prueba.tap, si el fichero no existe lo crea, escribimos un programa y para guardarlo ejecutamos SAVE "nombre programa" grabándolo en la cinta que hemos llamado prueba.tap. Para quitar esta cinta de la salida de escritura, ejecutamos. tapeout -c.

Si queremos cargar el programa que hemos escrito, abrimos el fichero prueba.tap con el comando .tapein, y ejecutamos LOAD "" o LOAD "nombre del programa".

Si una vez cargado lo modicamos y queremos guardar una copia, ejecutamos el comando .tapeout prueba.tap. Si hacemos un SAVE, conviene poner otro nombre al programa, porque lo añadirá en la cinta junto al anterior, como si fuera una nueva versión. Si luego abrimos el fichero (.tapein prueba.tap), para acceder al programa podemos ir directamente haciendo LOAD "nombre del programa" y si no nos acordamos del nombre, ejecutamos LOAD "" sucesivamente hasta que encontremos el programa que queremos acceder. Con el comando .lstap <nombre-fichero> se lista los nombres de los programas que contiene el fichero .tap.


Si ejecutamos el comando .tapeout -o prueba.tap, se sobrescribiría el fichero, borrándose todo, quedando solo el último fichero que guardemos. Esta opción es útil si solo queremos tener un único programa que, según lo vayamos cambiando, quede solo el último cambio. Pero, en mi opinión es mejor no usar esta opción, para que cada vez que hagamos un SAVE se añada como un nuevo programa y de esta forma mantener las versiones anteriores.

También podemos grabar programas directamente con el comando SAVE sin tener que utilizar el .tapeout


En este caso, al hacer SAVE tenemos que indicar que guardemos el programa en la tarjeta microSD con el caracter * o poniendo el identificador del disco hd0. Una vez grabado podemos comprobarlo ejecutando el comando CAT * o CAT hd0.

Como se puede ver en la imagen, el fichero guardado viene identificado como <PROG>. Para cargarlo utilizamos LOAD * "nombre programa".

Navegación por directorios

Tal como se ha ido comentando, para movernos por los directorios de la tarjeta microSD podemos utilizar los dot commands .ls para visualizar el contenido de un directorio y .cd <nombre directorio> para acceder a un directorio. Si queremos volver al directorio anterior usamos .cd ..

También, se puede utilizar comandos de BASIC, como CAT *, para visualizar el contenido de un directorio, GO TO * "nombre directorio" para acceder a un directorio y para volver al anterior GO TO * "..". En lugar del * podemos indicar en su lugar el nombre de la unidad de disco, en mi caso hd0, por ejemplo, CAT hd0.

Con el comando .rm <nombre-fichero> podemos borrar un archivo de la tarjeta microSD.

Comando .128

Si tecleamos el comando .128 en un Spectrum de 128K, saldrá la pantalla del 128K en lugar de la línea de comandos del 48K.


El DivTiesus, en comparación con otros DivMMC, te permite usar el botón NMI y ejecutar dot commands en el modo 128K.

Si pulsamos el botón reset se vuelve a la pantalla tipo 48K.

ROM externa

Con el comando .loadrom <nombre ROM> podemos hacer que el DivTiesus funcione como una ROM externa. Esto es muy útil para diagnósticar problemas utilizando ROMs como ZX Diagnostics, esta es la ROM más popular y que se suele utilizar en el Dandanator, o la de Retroleum.

Conviene guardarse estas dos ROMs para utilizarlas cuando las necesitemos. En un Spectrum que funcione, se ejecuta el comando .loadrom para cargarla en el DivTiesus y se conecta al Spectrum con problemas para identificar el fallo, al arrancar el DivTiesus se ejecuta automáticamente la ROM que tengamos cargada.

Si queremos volver al funcionamiento normal tenemos que pulsar los botones NMI+reset+tecla espacio.

Modo +3E

Si tenemos un +2A/B o un +3 podemos utilizar esta funcionalidad ejecutando el comando .go3e. Previamente debemos guardar en el directorio bin la rom del +3E en formato inglés dvmen3eE.rom o en español dvmes3eE. rom.

Al entrar nos encontraremos un mensaje para que introduzcamos una tarjeta SD con una partición de disco IDEDOS, si no la tenemos pulsamos enter y entramos en el +3E sin almacenamiento. Además, en cualquier caso, el DivMMC quedaría desactivado.
 

Con la misma tarjeta microSD podemos tener dos particiones, una en formato FAT32 para el DivMMC y otra IDEDOS para el +3E, en la página del proyecto +3E describen la manera de hacerlo.


Pero, creo que la forma de sacar provecho de esta funcionalidad es formatear una tarjeta microSD con la imagen del Workbench +3E.


Este seudo sistema operativo de ventanas nos permitirá usar nuestro Spectrum como si de un entorno Windows se tratara.


Para manejar el puntero se puede utilizar un joystick o un ratón PS/2 conectado al DivTiesus. 

Si tenemos un +3 o un +2A con la placa del +3 actualizada para conectar una disquetera (ver upgrade a +3), podemos acceder a los discos desde el Workbench +3E.


Conclusiones 

Después de ver todas estas funcionalidades, que nos garantizan un largo tiempo de entretenimiento, sin duda, la que más utilizaremos será el acceso al browser con el botón NMI para cargar juegos. 

Las ventajas, como ya hemos visto, son muchas, pero también tiene sus inconvenientes. El conector de expansión debe estar muy bien limpio para que no de ningún fallo al conectarlo y al tener una disposición vertical sufre del efecto wobble, al tambalearse da error, principalmente esto ocurre cuando pulsamos los botones de NMI o reset. Este efecto se ha aminorado poniendo unos pies de silicona asentando bien el dispositivo sobre la mesa.

En un Spectrum que no funcione la señal /M1 de la CPU, este dispositivo no funcionaría. Esto hay que tenerlo en cuenta, sobre todo si siempre hemos cargado de cinta y nunca se ha utilizado el puerto de expansión, porque para solucionarlo habría que cambiar la CPU que por lo general vienen soldadas directamente a la placa base.

En resumen, muy recomendable comprar un DivTiesus por su funcionalidad y por su bonita apariencia.

D.R. Spectrum

Comentarios

Entradas populares de este blog

El botiquín del Spectrum: Componentes de repuesto

Debido a la avanzada edad de nuestros Spectrum, hay que estar prevenidos ante cualquier imprevisto que pueda surgir en forma de avería. Como hemos podido ver en alguna de las reparaciones que he publicado en este blog, me ha hecho falta una serie de componentes electrónicos, que en algún caso no los tenía, y he tenido que esperar a conseguirlos yendo a una tienda de electrónica o comprándolos por internet.  Para no encontrarnos en esta situación, he identificado cuales son las averías más frecuentes y qué componentes harían falta para poner de nuevo en marcha a nuestro Spectrum.  CPU La CPU que nos podemos encontrar en el ZX Spectrum puede ser Zilog Z80A de 4MHz o NEC D780-C, ambas totalmente compatibles. Aunque el cristal de cuarzo para generar una señal de reloj estable es de 14MHz, realmente la señal de reloj que utiliza la CPU es la marcada por el pin 32 (CLK) de la ULA. Esta señal tiene una frecuenca de 3,5MHZ, que es el resultado de dividir por 4 la señal de reloj produci

Cargar juegos con la App PlayZX (ZX81, ZX Spectrum, +2A/B y +3)

Existen varias alternativas para cargar juegos de forma casi instantánea en formatos .TAP y .TZX, como DivIDE, Dandanator, etc... A los más nostálgicos que nos sigue gustando cargar desde cinta y esperar esos minutos mientras contemplamos el screen de turno, tenemos que buscar otras alternativas que sean parecidas para así dar descanso a las cintas de casete que tan buenos momentos nos dieron, y de esta forma proporcionarles ese merecido retiro en una estantería junto a sus viejas compañeras donde podamos contemplarlas y admirar sus carátulas. La alternativa más popular es TZXduino, que junto a una tarjeta de memoria sd podemos reproducir los juegos como si los cargásemos desde un casete. Esta opción nos obliga a tener otro dispositivo, y dada la situación, por un poco más de lo que puede valer casi sería mejor opción comprarse un Divide, aunque en concepto son dispositivos muy distintos.  Otra opción sería utilizar la aplicación para teléfonos móviles Android PlayZX . En la web del de

Mi primer Amstrad CPC 6128: Puesta a punto y cómo sacarle provecho en la actualidad

El Amstrad CPC era el ordenador que siempre quise tener de niño. Recuerdo que, por el año 1986, en el centro comercial Alcampo de mi barrio tenían una especie de "corner" donde se exhibían los ordenadores de Amstrad que se podían tocar y hacer cosas con ellos, una idea muy brillante para aquella época, ya que no era un método muy habitual para captar compradores, y sin embargo, hoy en día se sigue aplicando y funcionando. Al pillarme cerca del instituto nos acercábamos a la hora del recreo y nos poníamos a hacer nuestros pinitos en Basic, de esta forma surgió mi gusto y admiración por este potente ordenador. Sin embargo, al final, en mi casa optamos por comprar el ZX Spectrum +2A, por varias razones, el precio era casi la mitad, eso sí, sin incluir monitor, en el instituto aprendíamos Basic en ordenadores Sinclair, como el de 48K o el QL, y lo más importante, casi todos mis amigos tenían ordenadores Spectrum. Todo esto influyó en la decisión final, viendo como se alejaba la o