Divirtiéndonos con la red local del Sinclair QL

A raíz de la propuesta en un hilo de discusión en zona de pruebas me he decidido a probar la red local entre mis dos QL’s. Hasta ahora ni siquiera lo había intentado, entre otras cosas, por la mala fama (muy extendida por cierto) sobre la funcionalidad de la red local de los QL’s y Spectrum de Sinclair. Por ejemplo, en el manual del Toolkit 2, el propio Tony Tebby dice textualmente “.. si su QL es de una versión anterior al número de serie D14, es altamente posible que el soporte físico de la red no funcione en absoluto …”. Seguro que este tipo de afirmaciones no son gratuitas del señor Tebby. También es cierto que el propio Tebby, textualmente, reconoce más adelante que “… aunque la experiencia reciente ha demostrado que hay más QLs pre-D14 de los supuestos con una puerta de red local que funcina…”.

A pesar que mis QL’s son anteriores a la serie D14, y con la esperanza que se traten de esos “supuestos” QL’s a los que le funciona la puerta de red, empecé a montar y probar una mini-red de 2 QL’s para comprobar en la práctica su funcionalidad y fiabilidad.

Tras buscar el cable correspondiente y conectar los dos QL’s llegó la sorpresa … ¡¡funcionaaaa!!

Es fantástico, he conectado los QL’s en red y va todo a la perfección, tal como dice el manual del Toolkit 2. Hay que decir, que aunque el QDOS original soporta el funcionamiento de una red de QL’s (hasta un máximo de 62), lo hace de una manera muy elemental. El Toolkit 2 añade una serie de facilidades que permiten configurar la red local cómodamente y usar recursos del resto de QL’s conectados de forma muy simple. Con las facilidades del Toolkit 2 puedo poner fácilmente uno o varios de los QL’s como “servidor” y así compartir todas sus unidades de almacenamiento con el resto de QL’s de la red.

Aquí están mis dos QL’s conectados vía red local. El QL 1 (el que se ve en la imagen a la izquierda) tiene dos disqueteras de 1.4 y el RomDisQ de 8 MB, tiene su propio monitor (1084). El QL 2 (el de la derecha) no tiene unidades de almacenamiento externo, está conectado a mi capturadora AverMedia del PC (la calidad de la imagen es pésima, pero viable para hacer pruebas).

Red local 2 QLs

Para activar la red sólo hay que teclear el comando NET x (x es cualquier número entre 1 y 63) en cada QL. En mi caso NET 1 para el primer QL y NET 2 para el segundo QL. A continuación, en el QL que actúa como servidor hay que teclear el comando FSERVE (el QL 1 en mi caso). Estos son los comandos que he empleado en el primero de los QL’s:

NET 1
FSERVE

Como dijimos anteriormente, cada estación deberá tener un número único en la red. Si la estación no tiene recursos que ofrecer al resto y sólo va a utilizar recursos de los demás entonces no hace falta FSERVE.

Ahora, desde el QL 2 puedo ejecutar cualquier programa almacenado en el primer QL, por ejemplo así:

EXEC_W n1_flp1_chess_exe

Como veis, sólo hay que anteponer N con el número de estación a la unidad_fichero que queramos ejecutar.

Aquí vemos, el segundo QL ejecutando el chess almacenado en la unidad RomDisQ del primer QL.

QL 2 ejecutando programa almacenado en QL 1

Según el manual del Toolkit II, el servidor de ficheros permite acceso por parte de otro QL a 10 recursos unidos él, estos recursos pueden ser no sólo dispositivos de fichero (por ejemplo discos), sino también dispositivos en serie puros (modems, impresoras) o ventanas de pantalla del QL. Los servidores de la red deberán ocupar los número de estación entre 1 y 8. Una vez configurado el servidor podemos hacer cosas como las siguientes:

LOAD n1_flp1_osusq_bas 
    - carga el fichero "osusq_bas" del disco 1 de la estación 1 -

OPEN_IN #3, n2_flp2_clientes 
    - abre el archivo "clientes" en el disco 2 de la estación 2 -

OPEN #3, n1_con_200x100a10x10 
    - abre una ventana de 200 x 100 pixeles en la posición 10,10 
       en la estación 1 -

Esto último es especialmente curioso, podemos tener un programa en SuperBASIC que vuelque su salida por la consola de otra estación de la red. En la siguiente imagen vemos la pantalla del QL 2 donde se muestra por una parte el directorio de la unidad RomDisQ del QL 1 y por otra parte una ventana con “Hola mundo” ejecutada por el otro QL (¡el QL de la estación 1!).

Mostrando directorio en red y compartiendo consola

Compartiendo consola (detalle)

El QDOS ejecuta perfectamente en multitarea la salida por consola de un programa y atiende la salida por la misma consola de un programa ejecutado por otra estación de la red. En el ejemplo anterior el volcado del directorio de la estación 1 y la salida de “Hola mundo” (un bucle de 100 iteraciones) fue ejecutado en multitarea.

En una red de QLs con Toolkit II también funcionan los directorios por omisión de programas y de datos. Con una instrucción como esta, tecleada en el QL 2

PROG_USE n1_flp2_MisProgramas

se establece el directorio “MisProgramas” de la unidad flp2_ del QL 1 como directorio por defecto para la ejecución de programas.

Por último, uno de las facilidades más interesante es la posibilidad de “mapear” unidades compartidas de red como si fueran dispositivos nativos del QL. Esto lo hacemos mediante el comando NFS_USE.

Si tecleamos en la estación 2 la siguiente instrucción:

NFS_USE mdv,n1_flp1_,n1_flp2_

hará que, para esta estación (la 2), el dispositivo mdv1_ y mdv2_ sea “mapeado” a las unidades flp1_ y flp2_ de la estación 1. Es decir, podemos simular que estamos accediendo a las unidades microdrive del QL 2 cuando en realidad se está accediendo a las unidades de disquete de la estación 1.

Podemos especificar hasta 8 valores para un dispositivo y además especificar nombre de subdirectorios. Por ejemplo:

NFS_USE mdv,n1_flp1_,n1_flp2_,n2_rom1_juegos_,n2_win1_utils_

Esto hará que la estación donde ejecutamos este comando crea que tiene 4 unidades de microdrive con el siguiente “mapeo”:

mdv1_ = unidad flp1_ en la estación 1
mdv2_ = unidad flp2_ en la estación 1
mdv3_ = directorio "juegos" de la unidad rom1_ en la estación 2
mdv4_ = directorio "utils" de la unidad win1_ en la estación 2

En todas las pruebas que he realizado, la única pega que he observado es la relativa lentitud a la hora de acceder a recursos compartidos, pero en cualquier caso siempre resulta mucho más rápido y fiable que el acceso a unidades de microdrive (yo diría que casi es la velocidad de un disquete).

En conclusión, me he llevado una grata sorpresa con las facilidades que tiene el QL con Toolkit II para la configuración y trabajo en una red de QL’s. Si lo pensamos detenidamente y nos situamos en el año 84/85 ¿qué ordenadores personales ofrecían estas facilidades de serie? … pues muy pocos o ninguno. El QL tuvo carencias importantes en algunos aspectos (el sistema de almacenamiento incorporado por ejemplo) pero se adelantó a su época en otros aspectos, uno de ellos, en su capacidad de trabajo en red incorporado de serie.

Anuncios
4 comentarios
  1. radastan dijo:

    Moooola, a ver si saco tiempo y me pongo a hacer pruebas entre el Spectrum y el QL, que tengo ganas de hacerme un juego multiplataforma de verdad.

  2. badaman dijo:

    No solo está bien explicado, sino que deja claras la capacidades avanzadas del QL para la época y la sencillez y potencia del QDOS+TK2.

  3. Pau dijo:

    Ahora lo bueno seria hacer lo mismo desde un emulador y usando tarjetas de audio y la red del QL , no todos tenemos 2

  4. afx dijo:

    Pau, me parece una idea genial, muy ingeniosa. Imagínate que Q-emuLator tiviera esa capacidad, de emular la red del QL vía el conector de audio (que efectivamente es el tipo de conector que usa la red del QL). Tendríamos a mano espacio de almacenamiento ilimitado desde un QL real.

    Sería cosa de hacer “presión” entre todos a Daniele Terdina para que implementara esto en versiones futuras de Q-emuLator.

Responder

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