archivo

Software

La red del Sinclair QL es realmente impresionante a pesar de su antigüedad y muy fácil de usar una vez que te acostumbras a los principios que están detrás de ella.

Como todos los QL tienen dos conectores de red (también las placas Aurora o las QXL), puedes encadenar hasta 63 máquinas en una misma red. Las dos máquinas de los extremos de la red deben tener uno de los dos conectores desconectados. Seguramente éstos tendrán una resistencia o algo parecido para establecer el final de la red cuando no hay un cable conectado. (Es decir, los dos extremos no necesitan conectarse a modo de red circular, esto si es necesario en SERNET y en MIDINET tal como diremos más abajo).

El cableado de la red QL es extremadamente simple. Un cable de dos hilos con conectores de audio mono de 3,5 mm en ambos extremos es todo lo que necesitas para unir dos QL, un cable de altavoces es perfectamente adecuado. Cualquier longitud razonable de cable debería funcionar, aunque no sé cual es la distancia máxima recomendada entre máquinas.

Antes de pensar en usar la red del QL asegúrate de usar Toolkit 2, el uso se hace mucho más simple y divertido. La red básica es usable sin Taoolkit 2, pero es necesario tener Toolkit 2 para aprovechar al máximo la red.

Número de estación.

Para identificar los ordenadores dentro de la red es necesario asignar a cada uno de un número entre 1 y 63. Esto se hace con el comando NET y un número entre 1 y 63 (por defecto el número de estación es la 1 si al comando NET no se suministramos número alguno). Por ejemplo, con el comando “NET 2” asignamos al ordenador la estación número 2 dentro de la red.

En una simple red con 2 estaciones (sólo dos QL conectados entre ellos) ambos ordenadores pueden tener el mismo número de estación. En estos casos la configuración es mucho más simple ya que no haría falta el comando NET ni asignar a cada ellos un número distinto. Como el valor 1 es el defecto, en cada uno de los QL nos referiríamos al otro como estación n1.

En una red con más de dos QL, la numeración de las estaciones no es automática y se debe realizar estación a estación con el comando NET y asignando a cada máquina de la red un número distinto entre 1 y 63. Puede ser una buena estrategia ir numerando secuencialmente las estaciones de la red, pero hay que tener en cuenta que para que una estación actúe como “servidor de dispositivos”, el número de dicha estación tienen que estar comprendido entre 1 y 8 (ambos inclusive). Esto implica que en una res QL NET sólo pueden existir 8 servidores de dispositivos.

Tal como acabamos de comentar, una de las facilidades más importantes que nos aporta el Toolkit 2 es que podemos configurar en la red hasta 8 estaciones que actúen como servidores. Esto simplemente se hace con el comando “FSERVE”. De forma general las estaciones en las que hemos cargado el job FSERVE pueden compartir con el resto de la red, no sólo su sistema de almacenamiento, sino también impresoras, puerto serie, puerto paralelo (si tienes Super GoldCard), su propia consola, etc.

Algunos ejemplos.

Supongamos que tenemos una red de tres QL (los tres con Toolkit 2) y queremos configurar una red donde queremos que dos de los QL actúen como cliente y como servidor y el último de ellos sólo como estación que consume recursos de los anteriores. Lo que podríamos hacer es configurar la red con los siguientes comandos:

En el QL 1 tecleamos el siguiente comando:

  FSERVE

En el QL 2 tecleamos el siguiente los comandos:

  NET 2
  FSERVE

En el QL 3 tecleamos el siguiente los comandos:

  NET 3

Eso es todo, pero resaltemos algunos detalles:

– En el QL 1 no hace falta especificar un número de estación ya que por defecto el valor de la estación es 1 (el comando NET sólo sirve para especificar el número de estación cuando ésta es distinta de 1).

– Como tenemos dos máquinas actuando como “servidores” de dispositivos, a esas máquinas (QL 1 y QL 2) les tenemos que asignar números de estación comprendidos entre 1 y 8. Al QL 3 le hemos asignado la estación 3, pero podría haber sido cualquier otro número entre 3 y 63.

Una vez configurada la red, pongamos algunos ejemplos de uso. En el QL 3 podríamos teclear los siguientes comandos:

DIR n1_FLP2:
  (Nos mostrará el pantalla el directorio raíz de la segunda disquetera
   de la estación 1). 

DIR n2_WIN1_programas_
  (Nos mostrará el pantalla el directorio WIN1_programas_ 
   de la estación 2). 

COPY win1_boot to n2_PAR             
  (Copiará el fichero boot de la unidad win1_ en la impresora
   paralelo de la estación 2)

COPY win1_boot to n2_SCR
  (Copiará el fichero boot de la unidad win1_ en la consola
   de la estación 2)

WCOPY flp1_games_ to n1_win1_games1_ 
  (Copiará todos los ficheros de la disquetera 1 al subdirectorio
   win1_Games1_ de la estación 1)

OPEN #5, n2_ser1: list #5: close#5
  (Listará el programa que tengamos cargado en memoria en la
   impresora serie de la estación 2)

EXEC n1_win1_games_chess
  (Ejecutará el programa chess desde el subdirectorio win1_games_
   de la estación 1). 

Una caractarística curiosa es que podemos abrir una ventana en la consola de otro usuario, imprimir un mensaje y esperar de él una respuesta. Por ejemplo, Afx (que está en la estación 1) podría ejecutar el siguiente programa para hacer una pregunta a Badaman que está en la estación 2:

10 OPEN #4, n2_con_200x200a0x0
20 INPUT #4, "Hola, aquí afx ¿podemos almorzar juntos?", r$
30 PRINT r$
40 CLOSE #4

Otra versión del mismo programa.

10 ch = FOPEN(n2_con_200x200a0x0): CLS #ch
20 INPUT #ch, "Hola aquí afx, ¿podemos almorzar juntos?", r$
30 PRINT r$
40 CLS #ch: CLOSE #ch

Una configuración interesante dentro de QL NET es hacer uso del sistema de dispositivos por defecto incorporado en el sistema operativo, proporcionado por los comandos DATA_USE, PROG_USE, SPL_USE y DEST_USE.

DATA_USE [nombre]    
  (selecciona el directorio de omisión para ficheros de datos)

PROG_USE [nombre]
  (selecciona el directorio de omisión para programas ejecutables)

DEST_USE [nombre]
  (selecciona el directorio de omisión de destino (COPY, WCOPY)) 

SPL_USE  [nombre]
  (selecciona el spooler de impresión por omisión (SPL))

El uso de estos nombres de directorio por omisión hace nos hace el trabajo bastante más fácil. Por ejemplo, con la siguiente instrucción todos los programas serán cargados por defecto desde el directorio “progs” del disco win1_ de la estación 1 cuando no indiquemos expresamente una unidad de almacenamiento.

PROG_USE n1_win1_progs 

Una vez introducido el comando anterior, podríamos ejecutar cualquier programa ubicado en esta estación de trabajo y subdirectorio simplemente con EXEC y el nombre del programa.

Pongamos otro ejemplo, con la siguiente instrucción se selecciona el dispositivo PAR (puerto paralelo) de la estación 2 como destino del “spooler” de omisión.

SPL_USE  n2_par

Y partir de la línea anterior, podemos imprimir en segundo plano cualquier fichero como el ejemplo siguiente:

SPL flp1_myFile_txt    
  (imprime myFile_txt en el puerto paralelo de la estación 2)

NFS_USE

Además del uso de dispositivos por defecto, podemos también “mapear” rutas de una red a un dispositivo cualquiera, esto lo hacemos con el comando NFS_USE que nos aporta el Toolkit 2. Veámoslo.

Mediante el comando NFS_USE es posible ocultar la red local a las aplicaciones escogiendo un nombre especial para el servidor de ficheros en red local. La sintaxis es la siguiente:

NFS_USE "nombre", "ubicaciones de la red local", ...

Los “nombres de red local” deben ser nombres de directorio completos, pudiéndose dar hasta 8 en un comando. Cada uno de estos nombres estará asociado con uno de los 8 posibles dispositivos de directorio (“nombre_1” a “nombre_8”). Pongamos un ejemplo.

NFS_USE mdv,n2_win1_,n2_flp1_,n2_flp2_

La anterior sentencia asigna distintas ubicaciones de la estación 2 que actúa como servidor de ficheros a los dispositivos mdv1_, mdv2_ y mdv3_ de la estación cliente. En el ejemplo, “mdv1_” es asignada a la unidad win1_ en la estación 2, “mdv2_” será tomado como “flp1_” en estación 2 y “mdv3_” será tomado como “flp2_ “también en la estación 2.

Una cosa que también se suele hacer es “reasignar” un nuevo nombre a los dispositivos existentes si queremos “mapear” éstos a otras rutas de la red local. En nuestro ejemplo anterior haríamos lo siguiente:

MDV_USE MDD
NFS_USE mdv,n2_win1_,n2_flp1_,n2_flp2_

De esta manera mantendremos los accesos a las unidades de microdrive como MDD1_ y MDD2_ en lugar de MDV1_ y MDV2_.

El controlador de dispositivos DEV (DEV_USE).

En la primera versión de QDOS no existía la posibilidad de crear subdirectorios reales dentro de un dispositivo de almacenamiento. Debido a esto muchos programas de QL fueron escritos sin tener en cuenta la posibilidad de almacenar archivos en subdirectorios. En la siguientes versiones de QDOS, y por supuesto de SMSQ/E, apareció el soporte a lo que se llaman “nivel 2” del sistema de almacenamiento donde el soporte de subdirectorios es completo. Este “nivel 2” del sistema de almacenamiento se extendió con la (Super)GoldCard, dispositivos de disco duro y unidades de disquete de alta densidad. En este contexto, para facilitar la compatibilidad de los programas antiguos que no daban soporte a los subdirectorios, se creó una extensión que aporta un dispositivo virtual llamado DEV. En si, el dispositivo DEV es un dispositivo genérico por defecto (no sólo acotado al uso de la red local) y es una especie de “engaño” para permitir que el software antiguo (como Quill, Archive, Abacus y Easel) hagan uso de subdirectorios.

Además de lo expuesto anteriormente, y en el contexto que nos ocupa, los dispositivos DEV también tienen la capacidad de “mapear” dispositivos lógicos a rutas reales dentro de la red local.

Como de costumbre, hay hasta 8 dispositivos DEV; DEV1_ a DEV8_. Cada dispositivo DEV está conectado a un dispositivo real particular o a un directorio por defecto particular en un dispositivo real. Los archivos en un dispositivo DEV pueden ser abiertos, usados y borrados de la misma manera que en un dispositivo real.

Cada unidad “DEV” está conectada a un dispositivo mediante el comando DEV_USE. La sintaxis es la siguientes.

DEV_USE NúmeroDisp, DirectorioReal

Pongamos un ejemplo.

DEV_USE 4, n2_win1_sys_

A partir de la introducción de comando anterior podemos hacer referencia al contenido del directorio win1_sys_ de la estación 2 como dispositivo DEV4_ de nuestra estación.

A tener en cuenta que el sistema QDOS y SMSQ/E puede manejar también dispositivos distintos a los dispositivos de almacenamiento. Estos dispositivos son:

SER1 y SER2  (puertos serie RS232)
PAR          (puerto paralelo (sólo a partir de SuperGoldCard))
SCR,         (pantalla como dispositivo de salida)  
CON          (consola como dispositivo de entrada/salida)

Esto significa que podemos mapear una unidad DEV a uno de estos dispositivos. Por ejemplo:

DEV_USE 8, n1_par

La orden anterior asigna la unidad lógica “DEV8_” al puerto paralelo de la estación 1.

Otro ejemplo interesante:

NFS_USE "ser",n1_par, n2_par 
PAR_USE "ser"
COPY_N "flp1_myfile" TO "ser2"

Las líneas anteriores reasignan los identificadores de los puertos serie de mi estación, concretamente, SER1_ se reasigna al puerto paralelo el la estación 1 y SER2_ se reasigna al puerto paralelo de la estación 2.

SERNET y MIDINET

Tanto SERNET como MIDINET son controladores de red que aparecieron posteriormente y te permiten montar redes de bajo costo como la QL NET original del Toolkit 2. SERNET permite conectar dos o más máquinas que ejecutan SMSQ/E a través de los puertos serie, mientras que MIDINET permite conectar dos o más ordenares ATARI con SMSQ/E a través de los puertos MIDI. SERNET fue desarrollado a partir del software MIDINET de Phil Borman. Bernd Reinhardt modificó el software para usar los puertos seriales en lugar de los puertos MIDI.

Con estos controladores podemos ampliar las “fronteras” extendiendo la red QL, por ejemplo, permitiendo que las máquinas sin conectores net 1 / net 2 del QL se unan a la red.

Tanto el SERNET como el MIDINET están organizados como una red circular. En el caso de MIDI, el puerto MIDI OUT de cada máquina tiene que estar conectado al puerto MIDI IN de la siguiente máquina. Todos los cables tienen que formar un círculo completo. Cada máquina en el círculo tiene que estar funcionando y el controlador tiene que cargarse para tener una red en funcionamiento. Lo mismo se aplica a SERNET: con dos máquinas, puede usar un cable de módem nulo. Con tres o más máquinas, debes cablear tus propios cables para que todas las señales de salida de una máquina estén conectadas a las señales de entrada de la siguiente máquina y así sucesivamente, para formar un círculo completo también.

SERNET tiene que configurarse para que sepa qué puerto usar como puerto de comunicación. Como es habitual en muchos programas y controladores de dispositivo del QL esto se hace mediante el uso de MenuConfig para configurar los parámetros dentro del binario del propio controlador (SERNET_REXT).

Una vez configurado podemos cargar el controlador con una instrucción similar a la siguiente (suponemos que el controlador está en el directorio raíz de la unidad win1_.

LRESPR win1_SERNET_REXT

Sernet enlaza los ordenadores a través del puerto serie y utiliza el nombre de dispositivo “S” de forma similar a la “N” para la red QL.

Y por último, una vez cargado el controlador, sólo tenemos que definir el número de estación y activar los servicios de la estación como servidora dentro de la red. Las instrucciones serían como el siguiente ejemplo:

Estación 1:
  SNET_USE 1
  SERNET 

Estación 2:
  SNET_USE 2
  SERNET 

A partir de este momento estas dos estaciones pueden compartir sus recursos. Por ejemplo con la siguiente instrucción en la estación s1.

DIR s2_FLP2_            

Nos mostrará el pantalla el directorio raíz de la segunda disquetera de la estación 2.

Enlazando las dos redes, QLNET y SERNET.

Para finalizar, el último paso de nuestro experimento es configurar un entorno, en el cual puedan convivir dos redes: QL NET y SERNET. Por un lado QL NET nos permitiría conectar QL originales (BBQL) en nuestro entorno, y por otro lado podríamos añadir a esta “red QL” sistemas modernos que tengan disponible al menos un puerto RS232 (por ejemplo el emulador QPC2 en un PC con Windows 10 o la FPGA Q68).

El punto de unión de estas dos redes la hemos resuelto con una combinación hardware-software relativamente reciente. El hardware no es otro que la FPGA Q68 que incluye de serie un puerto RS232 y a la cual se la he aplicado un “modding” para incluir dos conectores QL NET. En cuanto al software, lo único que necesitamos ejecutar en la Q68 es el driver SERNET que hemos mencionado anteriormente y el nuevo driver QLNET de Martyn Hill que te permite conectar en red el Q68 con otras máquinas compatibles con QL a través de los puertos QLNET estándar. Los comandos a incluir en el boot de arranque de la Q68 sólo debe incluir los siguientes comandos:

LRESPR win1_sernet_rext     (Carga el controlador SERNET)
BAUD 115200                 (Establece la velocidad en baudios) 
SERNET 2                    (Establece s2 como número de estación SERNET)
SERNET                      (Activa los servicios SERNET) 

LRESPR win1_ndq68_dvr_v305  (Carga el driver de red QL NET para Q68)
NET 2                       (Establece n2 como estación QL NET) 
FSERVE                      (Activa las funciones de servidor QL NET). 

Descrito todo esto, la primera parte de este artículo seguramente tendrá más sentido.

—-
Fuentes:
– SUPERTOOLKIT II, MANUAL DEL USUARIO (Tony Tebby, Qjump, Reino Unido. 1985).
– The QL Network. QL Today, Volume 9 Issue 4. (David Denham).
– SERNET on QDOS? QL Today, Volume 6 Issue 6. (Dilwyn Jones).
– Announcing availability of a QLNET driver for the Q68 (ND-Q68) (https://qlforum.co.uk/viewtopic.php?f=3&t=2881&p=28393) (Martyn Hill).

Hace un tiempo (bueno, … bastante tiempo) escribíamos en QBlog un artículo introductorio sobre las facilidades de red local que incorporaba el Sinclair QL. En ese artículo comprobamos lo sencillo que es montar una pequeña red con dos QLs y la versatilidad el sistema operativo para manejar recursos compartidos entre distintas estaciones. (Si la red local del QL es algo nuevo para ti te recomendamos su lectura).

Ahora, en una serie de dos artículos, vamos a intentar profundizar algo más en las capacidades de red de los sistemas QDOS y SMSQ/e. Intentaremos describir con detalle qué posibilidades actuales tenemos para llevar al límite la red de área local de sistemas QDOS y SMSQ/E.

Esta primera entrega tendrá un carácter mas “exhibicionista” (por decirlo de alguna manera) de hasta donde podemos exprimir la red del Sinclair QL. Sólo expondremos conceptos muy generales y relataremos un ejemplo de cómo podemos llevar al límite la red del Sinclair QL en el contexto actual (año 2020). La segunda parte será algo más árida para quien no esté familiarizado con los sistemas operativos del mundo QL. En esa segunda parte entraremos en las entrañas de los distintos comandos y facilidades que nos aporta el sistema operativo a la hora de planificar y configurar nuestra red. También haremos una descripción más detallada de las distintas partes (hardware y software) que la componen.

Una pequeña introducción.

La incorporación de serie de hardware y software de red en los microordenadores de los años 80 no era una característica muy común. En el año 84, ésta fue una novedad interesante en el Sinclair QL que no fue lo suficientemente valorada ni conocida.

QL NET es el nombre por el que se conoce la red de área local del QL. Esta red permite la conexión de hasta 64 estaciones de trabajo que soporten este protocolo. La red permite compartir impresoras, unidades de almacenamiento y hasta la propia consola de cualquier estación conectada a ella.

Los datos circulan por la red a una velocidad de 100K Baudios y el protocolo asegura que las estaciones estén listas antes de que los datos sean pasados a través de la red. Los datos también pueden ser volcados a modo de “broadcast” a todos los ordenadores que estén a la escucha.

Con el paso de los años, y la entrada en el mundo QDOS/SMSQe de otro tipo de hardware, principalmente el Atari ST, se implementaron nuevos controladores de red dado que estos sistemas no incluían el hardware de red del QL (QL NET). El primero de los controladores en llegar fue MIDINET el cual permitía conectar en red varios AtariST. El puerto MIDI OUT de cada estación se conectaba al puerto MIDI IN de la siguiente estación y así se podía formar una red en anillo. Posteriormente, a partir de MIDINET se desarrolló SERNET que permitía también la conexión en red de varias estaciones SMSQ/E y QDOS a través la interfaz RS232. Este controlador se usaba frecuentemente en hardware distinto al QL original que incorporaba puertos RS232 de alta velocidad (Aurora, Q40/Q60 y emuladores como QPC).

Nuestra red experimental.

La idea básica es montar una red local entre 4 máquinas distintas y heterogéneas empleando QL NET y SERNET. Las características de cada estación que componen nuestra red son las siguientes:

Estación 1. QL clásico ampliado con una Super GoldCard y una QL-SD como unidad de almacenamiento.

Estación 2. Q68 con un “modding” reciente que incorpora QL NET. Además de QL .NET, Q68 incluye de serie un puerto RS232. (Q68 es una FPGA que implementa una máquina SMSQe)

Estación 3. PC con Windows 10 que ejecuta el emulador QPC2. Esta estación tiene un puerto COM1.

Estación 4. Un segundo PC con Windows 10 que comparte a través de la red TCP/IP una carpeta de su sistema de archivos con la estación 3.

El esquema de la red está en la siguiente figura.

(NOTA: No te preocupes por las siglas del la imagen anterior, hablaremos de ello en el la segunda parte de este artículo).

Podríamos decir que la “magia” de esta red heterogénea está en la FPGA Q68 (estación 2) que actúa como una especie de “gateway” entre dos redes distintas QL NET y SERNET. Mediante QL NET conectamos el QL original y la FPGA, mediante SERNET conectamos la FPGA y el PC con el emulador QPC2. Y por último nos aprovechamos de la posibilidad que tiene QPC2 de montar volúmenes de almacenamiento “mapeados” sobre capetas locales o remotas del PC anfitrión.

La infraestructura anterior y las facilidades que nos da el sistema operativo del QL (tanto QDOS como SMSQe) nos permite cosas como montar unidades de almacenamiento lógicas en el QL “mapeadas” a carpetas o directorios nativos del los PC de la red y de la FPGA.

Por poner un ejemplo, podemos redirigir el nombre que asigna QDOS al microdrive 1 (MDV1_) a una carpeta compartida que tiene el PC número 2 de mi red local. Desde este momento, si tecleamos “dir mdv1_” obtendremos el contenido de la carpeta compartida del PC 2 de nuestra red.

A modo ilustrativo, en la figura 1 podemos observar que en el QL (estación N1) se han definido los 4 dispositivos de almacenamiento lógicos (dispositivos DEV) siguientes:

– DEV1_ (apunta a la unidad de almacenamiento WIN1_ de la FPGA).
– DEV2_ (apunta a la unidad de almacenamiento WIN1_ del emulador QPC2 en el PC1)
– DEV3_ (apunta a un directorio del disco C: del primer PC, que ha sido montado a su vez como disposito DOS1_ en QPC2))
– DEV4_ (apunta a un directorio compartido del segundo PC, que ha sido monado como dispositivo DOS2_ en QPC2)

Forzando un poco más, podríamos “mapear” DEV4_ a una subcarpeta dentro de nuestro sistema de almacenamiento en la nube tal como dropbox. Esto significa que desde mi QL pudo escribir o leer directamente archivos que van a ser vistos de forma inmediata por toda las personas del planeta a las que le haya compartido dicha carpeta.

Esta red me permite prescindir de disquetes y tarjetas SD cuando quiero transferir ficheros a mi QL. Ahora todo lo hago todo via QL NET.

Algunas pantallas a modo de ejemplo.

Q68 con los puertos QL-NET (lateral) y su interfaz RS232 (parte trasera)

QL – accediendo a la unidad de almacenamiento de Q68

Q68 – accediendo a la unidad de almacenamiento del QL

QPC2 – con una unidad virtual del sistema anfitrión (DOS)

QL mostrando el contenido de una carpeta del PC con Win10 (ver número sectores)

Todo esto podría parecer confuso para las personas desconocedoras del mundo QL y sus sistemas operativos QDOS y SMSQe, pero en cuanto se dominen un par de conceptos toda esta configuración es muy sencilla.

En la segunda parte de este artículo explicaremos los principales comandos del sistema operativo que nos permite hacer lo indicado anteriormente. Veremos como crear esos dispositivos DEV y otros comando útiles para configurar y montar una red QDOS/SMSQe con máquinas heterogéneas.

Esta semana se ha liberado una nueva versión de SMSQ/E, la versión 3.36. Aporta algunas características interesantes:
– En Q68 las tarjetas no necesitan ser inicializadas para un acceso normal.
– En Q40/Q60 los archivos contenedores pueden ser leídos desde las cuatro primeras particiones.
– Las unidades WIN pueden ser removibles en SMsQmulator
– …

Pero una característica digna de mención para los usuarios de habla hispana es que por fin integra de forma nativa el soporte para teclados en español, tanto del teclado original del QL (Rom MGE) como para teclados de PC usados, por ejemplo, en la Q68. Los usuarios con teclados y QLs en español ya no tendremos que lidiar con controladores externos, basta con teclear el comando “KBD_TABLE 34” y ya tendremos habilitado el teclado en castellano.

También integra de forma nativa la posibilidad de activar los mensajes del sistema en castellano, esto se hace con el comando “LANG_USE 34”.

Como viene siendo habitual desde hace tiempo, los artífices de estas mejoras y nuevas características han sido Marcel Kilgus y Wolfgang Lenerz.

El sitio oficial para la descarga del SMSQ/E es este:
http://www.wlenerz.com/smsqe/,

Siempre es una buena noticia ver que, después de tantos años, sigan saliendo versiones nuevas de este “pequeño” y formidable sistema operativo.

Tim Swenson ha creado un programa muy básico en SuperBASIC que muestra la potencia de la pila TCP de emuladores como QPC2, uQLx o SMSQmulator corriendo el sistema operativo SMSQ/E.

El programa es básicamente una forma sencilla de entrar al canal #QLForum en el IRC y enviar y recibir mensajes, mostrando los usuarios conectados, aunque esto se puede cambiar modificando los datos de conexión en el código del programa.

Ejecutando el programa

Para usarlo, sólo es necesario descargar el archivo, y ejecutarlo con lrun.

lrun win1_QLbas_bas

Cambiad win1_ por el dispositivo en el que se encuentre el fichero: mdv1_, win1_, dos1_, flp1_, ram1_ …

Read More

Ayer fue presentado un nuevo juego para QL al estilo de las novelas de detective.

La historia titulada “The Case of the Missing Doxie” comienza de forma muy simple: eres el detective Cole y tienes que encontrar a una mujer desaparecida. Luego el juego se vuelve más complejo a medida que avanzas.

Los acertijos no son muchos, ni muy complicados. El objetivo no es recolectar objetos sino recopilar información como un verdadero detective, y encontrar las respuestas a lo que realmente sucedió. ¿Quien lo hizo? ¿y por qué? ¿Puede responder todas estas preguntas antes de la confrontación final que lo descubre todo?

A diferencia de otros juegos de aventura para el QL que han de usar frases exactas para completar los rompecabezas, P.I. Cole está completamente basado en menús y el jugador no tiene que escribir nada. Solo seleccionar (o usar las teclas de acceso directo de) la acción a realizar y luego seleccionar de la lista presentada el objeto o personaje con el que interactuar.

Dice Andrew, el autor: «El personaje de detective comenzó como una especie de Archie Goodwin (de la serie Nero Wolfe de Rex Stout) mezclado con Nick Charles (de Dashiel Hammet’s – “El hombre delgado”). El primer nombre elegido fue Goodwin, pero era demasiado largo y no cabía en la puerta de la oficina. Entonces, lo cambié a Cole (en homenaje al detective Elvis Cole de Robert Crais) y en este proceso el personaje también recibió algunas influencias de Joe Pike (el socio de Elvis Cole) y Sam Spade (“El halcón maltés” de Dashiel Hammet). Jake fue creado libremente basado en personajes de la serie Matthew Scudder de Lawrence Block El objeto de aretes de araña fue prestado del libro “The Golden Spiders” de Rex Stout.

Tal vez esta mezcla no es visible en el juego, pero existía en mi mente mientras escribía el juego e influyó en la historia y la trama, y ​​por lo tanto no hay un verdadero “final feliz”»

Hay también un importante trabajo de edición de imágenes para crear la ambientación. Las imágenes son una mezcla de ilustraciones tomadas de Internet entre las que destacan las del comic “Torpedo 1936” de Abulí y Bernet, como se ve en la primera ilustración de esta noticia.

Los requisitos para el buen funcionamiento de este programa son:

Memoria: Ampliación de memoria requerida.
Profundidad de color: colores originales del QL (no va bien en otros modos de color)
Resolución: 512×256
Extensión: TK2 requerido.
Si empleas el emulador QPC2, el modo de ventana chequeado es de 1024×768 y aspect ratio: unchecked.

La aventura está sólo en inglés, y puedes obtener más información y descargarla de:

Aqui la publicación de la noticia

Aquí el enlace para descarga

En este enlace tienes las indicaciones de Cómo jugar a “P.I.Cole: The case of the missing Doxi” si no tienes experiencia con emuladores de QL.

Actualización 2020-02-16

El código fuente y el resto de versiones para descarga está disponible en la web de dilwyn Jones, en su sección de juegos de aventuras.

Wolfgang Lenerz anunció recientemente en QL-Users que el tipo de licencia de SMSQ/E ha cambiado a licencia BSD. Esto significa que está permitido el uso y redistribución tanto del código fuente como de los binarios con o sin modificaciones, siempre y cuando se conserven los avisos de copyright citando a sus autores y las condiciones del tipo de licencia BSD.

Rockfall es un juego escrito originalmente por Andy Toone para CGH Services. El autor ha liberado los binarios de este juego como software freeware. El programa está disponible en dos formatos, uno de ellos para usuarios QemuLator (gracias a Rich Mellor), sólo es necesario descargar el fichero .zip y adjuntarlo a una ranura de unidad en QemuLator. El segundo formato es para el resto de sistemas QDOS. Mandelbrot es un programa de efectos gráficos del mismo autor y disponible también en ambos formatos.

Estos programas se pueden obtener desde los siguiente enlaces:
http://www.dilwyn.me.uk/games/index.html
http://www.dilwyn.me.uk/graphics/index.html

QStripper es un programa de códgio abierto para sistemas Windows y Linux que permite abrir múltiples documentos Quill del Sinclair QL y exportarlos a diversos formatos.

Los formatos de exportación soportados son:
– Texto
– Html
– Docbook XML
– PDF
– ODF, Open Document Format para Open/Libre Office.

Antes de la exportación, el programa permite la edición del documento Quill así como su impresión.

El autor de QStripper es Norman Dunbar, y tanto el código fuente como los binarios se pueden descargar desde el sitio Web del proyecto http://qstripper.sourceforge.net/.

QStripper

QStripper

RWAP acaba de presentar “Sinclair QL Games Collection 1”, una colección de 10 juegos comerciales escritos en el pasado para el Sinclair QL, disponibles ahora como un paquete listo para descargar e instalar en un PC basado en Windows. Consta de un programa especial que permiete seleccionar y lanzar cada uno de los juegoa y una versión hecha a medida de Q-emuLator que ejecutará el juego con los parámetros de emulación adecuados.

RWAP tiene los derectos de distribución de cada uno de esos juegos por acuerdos con sus creadores. El precio de la colección es de 10 libras y una vez pagado, RWAP envía un correo electrónico adjuntando el programa que contiene todo el paquete de la coleccíon listo listo para instalar y jugar.

Los juegos incluidos en la colección son:
– Cuthbert in Space de Steve Bak y S J Proctor
– Deathstrike de Damon Chaplin y T. Bovingdon
– Hoverzone de R G Riley
– Jungle Eddi de Stefan Kuhne
– QL Hopper de Steve Bak y S J Proctor
– QL Pengi de Jochen Merz y R. Bieniek
– QL Vroom de Daniel Macré
– Stone Raider II de Alex J Herbert
– The King de C H Robertson Consultants
– The Lost Pharaoh de Stefan Kuhne

PGP es un programa de encriptación de clave pública escrito por Phil Zimmerman y del cual existe una adaptación para el Sinclair QL llevada a cabo por Johnathan Hudson. Esta adaptación para el Sinclair QL se puede obtener desde su página Web .

PGP se ha convertido en un programa de cifrado estándar para particulares que ha ganado gran notoriedad y popularidad en los últimos años. Debido a la rigidez de las leyes de exportación de EE.UU. sobre el tratamiento de los esquemas de cifrado, PGP causó un gran revuelo en la informática y el mundo legal. Phil Zimmerman fue objeto de una investigación federal para determinar si había violado las leyes de exportación cuando PGP se distribuyó a través de Internet. Algunos países continúan teniendo recelos con el hecho de que el ciudadano de a pie tenga la capacidad de cifrar mensajes de forma segura. La mayoría de ellos preferirían vivir en un mundo donde la encriptación se pudiera romper.

Bases de la criptografía de clave pública

La mayoría de la gente está familiarizada con lo que se conoce como el cifrado de clave privada, esto es, la utilización de una contraseña para cifrar los datos y utilizar de nuevo esa misma contraseña para descifrarlos. Este método funciona bien, excepto cuando se requiere que otra persona pueda descifrar el mensaje que previamente hemos cifrado. De alguna manera se tiene que enviar a esa persona la clave privada, y aún así mantener la privacidad del mensaje.

El cifrado de clave pública (PKE) se basa en tener dos claves, una pública y otra privada. Con este sistema, se cifra el mensaje con una de las clave, llamémosla clave privada, y sólo puede descifrarse con la otra clave, la clave pública. Esto nos permite publicar una clave y guardar la otra como un secreto bien guardado sin tener que transmitírsela a nadie.

Si deseas enviar un mensaje privado a una persona y asegurarte que sólo esa persona lo pueda leer, entonces deberías cifrar el mensaje con su clave pública. La única manera de descifrar el mensaje es empleando la clave privada del receptor, lo que significa que sólo él podría descifrar el mensaje. Esto también funciona para mantener archivos privados dentro de tu ordenador. Cifrar los archivos con tu clave pública con lo cual sólo tú los podrás descifrar (empleando tu clave privada).

Si quieres poner una firma digital en un mensaje, deberías cifrarla con tu clave privada. Cualquier persona que descifre el mensaje con tu clave pública sabrá entonces que sólo con tu clave privada ha sido posible codificar el mensaje.

Usando PGP en el Sinclair QL

Lo primera que debes hacer es descomprimir la versión 2.6 de PGP para QL, puedes encontrar este programa en la página http://www.daria.co.uk/qdos/ . El archivo principal es PGP, el resto de archivos se corresponden a la documentación y al código fuente. Una vez que crees tu clave pública y privada se generarán nuevos archivos.

PGP se ha portado directamente desde la versión de MS-DOS o de Unix y es un programa que acepta órdenes por la línea de comandos. No hay “front-end” para el QL. Para ejecutarlo tendrás que tener TKII y utilizar argumentos de línea de comandos. Cuando se ejecuta PGP se hará esta manera:

    exec PGP;"-xx"

donde -xx es una de las opciones de línea de comandos.

Las ventajas de usar esta versión, portada de MS-DOS o Unix son las siguientes:

1. Una vez que aprendas PGP en el QL, ya lo sabrás usar en MS-DOS y UNIX. Por supuesto, esto también funciona a la inversa, si has aprendido PGP utilizando MS-DOS o UNIX, ya sabes cómo usarlo en el QL.

2. Todas las indicaciones y la información sobre PGP es exactamente la misma que en las versiones de MS-DOS y de UNIX. Libros o artículos que muestren las pantallas de PGP tendrán su equivalencia para el QL.

Creando tus propias claves

Una vez que has descomprimido PGP, lo primero que tendrás que crear es tu propio conjunto de claves públicas y privadas. Esto se hace utilizando la opción -kg.

    exec pgp;"-kg"

Una vez ejecutado este comando se abre una ventana con una información inicial donde deberás elegir el tipo de clave que deseas generar. Puede ser de 512-bits (menos segura pero más rápida su generación), 768-bit (velocidad media, buena seguridad) y de 1024 bits (mayor seguridad, pero más lento).

Lo siguiente que deberás hacer es escribir un identificador de usuario (ID ) para tu clave pública. Cuando das tu clave pública, éste es el nombre que debe ir con ella. La documentación sugiere que además del nombre se acompañe de una dirección de correo electrónico. Por ejemplo, yo he tecleado “afx “.

A continuación el programa te pedirá que pulses teclas para que PGP puede generar 530 números aleatorios. Sólo tienes que empezar a pulsar teclas al azar hasta que el contador sea 0 y suene un beep. Podría suceder que veas aparecer un signo de interrogación, esto sólo significa que estas tecleando demasiado rápido.

PGP_en el Sinclair QL

Por último, el programa procederá a generar tus claves pública y privada. En un QL ampliado con una Gold Card este proceso tarda en ejecutarse alrededor de 4-5 minutos. En un QL sin aceleración, esto puede tardar mucho un tiempo. Una vez que el programa lleva a cabo estas tareas, tus dos claves se escriben a disco.

Gestionando tus claves

Antes de entrar en cómo cifrar la información con PGP vamos a hablar primero cómo administrar las claves PGP. Cuando se generan un juego de claves, PGP guarda las claves en dos archivos; SECRING_PGP y PUBRING_PGP. PGP mantiene todas las claves en anillos de claves. Cada anillo es un archivo binario que almacena todas las claves. El archivo SECRING_PGP sólo contiene la clave secreta (porque nadie la debería tener excepto tu) y el archivo PUBRING_PGP contendrá la clave pública, además de cualquier otra clave pública que desees agregar.

PGP utiliza un conjunto de opciones de línea de comandos (todas empiezan con -k) que te permiten administrar las claves. Para obtener un resumen de estas opciones puedes ejecutar PGP con sólo la opción -k donde aparecerá una lista del resto de opciones disponibles. Algunas de las más importantes son:

-kv  Ver las claves públicas de PUBRING_PGP
-kg  Generar tus propios juegos de de claves.
-ka  Agregar una clave para cualquiera de los anillos.
-kr  Eliminar una clave de cualquiera de los anillos.
-ke  Editar tu ID de usuario o contraseña (password).
-kx  Extraer una copia de la clave pública desde 
     el anillo de claves públicas.

Para mostrar cómo funciona esto, vamos a extraer la clave pública del anillo de claves públicas para que podamos dársela a alguien. Esto se hace mediante el uso de la opción -kx:

    exec pgp;"-kx afx fileAfx"

Esto extraerá la clave pública con el identificador “afx” y lo depositará en el archivo “fileAfx_pgp”. Ahora yo podré dar este archivo a cualquier persona. Recuerda que este archivo es un archivo binario. Si deseáramos extraer la clave en un archivo ASCII entonces utilizaríamos la opción -kxa. Esto hace que dicho archivo sea fácil de enviar por correo electrónico.

Ahora supongamos que queremos añadir otra clave pública en nuestro anillo de claves. Podemos hacer esto utilizando la opción -ka. Podemos añadir claves públicas tanto en formato binario como en formato ASCII empleado una instrucción como esta:

    exec pgp;"-ka miAmigoJose_pgp"

Esto añade la clave pública del archivo ” miAmigoJose_pgp” a mi anillo de claves públicas (PUBRING_PGP). Si tenemos un nombre específico para nuestro anillo de claves públicas entonces debemos agregar el nombre de ese archivo después del nombre del archivo de entrada.

Cifrar con PGP

Ahora viene el núcleo del programa, la encriptación de archivos. Con PGP puedes cifrar archivos para mantenerlos en secreto o para el envío de mensajes seguros. La diferencia es quién es el receptor, ya que debemos cifrar el archivo / mensaje con la clave pública del destinatario. Si el cifrado es para ti mismo, entonces tu eres el destinatario. Si vas a enviar el archivo por correo electrónico o en disco a otra persona, entonces esa otra persona es el destinatario. De cualquier manera la línea de comandos es la misma:

    exec pgp;"-e fichero.txt receptor"

donde archivo.txt es el archivo que deseamos cifrar y “receptor” es quien va a obtener el archivo. Si se trata de cifrar un mensaje para mí la línea de comandos sería:

    exec pgp;"-e fichero.txt afx"

Dado que el archivo resultante puede ser un archivo binario, usando la opción -eat nos aseguraremos de que el archivo final sea cifrado en formato ASCII puro de tal forma que pueda ser enviado vía e-mail.

Descifrado con PGP

Ahora que ya hemos cifrado un archivo, debemos aprender la forma de descifrarlo. PGP no requiere ninguna opción de línea de comandos para descifrar los archivos. Y dado que supone que vamos a descifrar los archivos que previamente han sido cifrados con nuestra clave pública, PGP sabe que debe descifrar los archivos con nuestra clave secreta.

    exec pgp;"fichero.txt"

Esto le indica a PGP que debe descifrar el archivo fichero.txt. PGP busca tu clave secreta en el anillo de claves secretas. PGP puede confiar en ese archivo, pero no confía en quien lo ejecuta. Tu tendrá que introducir tu contraseña para que PGP sapa que tu eres quien dices ser. Esto evita que otras personas intenten descifrar tus archivos utilizando tu ordenador.

Firma Digtal

La firma digital de archivos no es más que un archivo cifrado con tu clave privada. Entonces, cuando una persona descifra dicho archivo con éxito con tu clave pública, ella sabrá que tu lo has encriptado. En PGP, esto se altera un poco. Cuando firmas un archivo, una pequeña sección de la firma PGP se añade al final del archivo actuando como tu firma. El resto del archivo permanece sin cifrar. Cuando firmas un archivo, tienes la opción también de cifrarlo.

Para firmar un mensaje de texto, deberás ejecutar PGP de una forma similar a esta,

    exec pgp;"-sta fichero.txt"

Una vez ejecutado tendrás que proveer tu password para firmar el archivo. El archivo resultante se llamará fichero.asc. La opción -S es firmar el archivo, la T le dice a PGP que la entrada es un archivo de texto, y la A le dice PGP que la salida la genere en un archivo ASCII.

Para verificar una firma digital, deberás ejecutar PGP como este ejemplo,

    exec pgp;"fichero.asc"

PGP tiene en cuenta el contenido del archivo para generar la sección de la firma. Si cualquier parte del texto cambia, entonces la verificación de la firma fallará. Una especie de checksum es generado para asegurar que el archivo firmado no ha sido alterado.

Conclusión

En definitiva, PGP ofrece a los usuarios del Sinclair QL posibilidades de encriptación actuales. Probablemente nunca tengas la necesidad de cifrar tus datos y menos con un Sinclair QL, pero si alguna vez lo necesitas, es bueno saber que PGP está ahí.


Fuentes:
– Timothy Swenson. QL Hacker’s Journal (QHJ).
http://www.daria.co.uk/qdos/