El domingo 24 de mayo estuvimos invitados al programa de AmigaWave especial sobre QL, algo que veníamos acariciando largo tiempo, y nos dieron dos horas para contaros todo acerca del QL de hoy, Comienza en el minuto 45.

Nosotros sentimos el QL como algo vivo que sigue evolucionando, y aquí hemos querido contar hasta dónde ha llegado. Hablar del QL original para nosotros es como hablar del PC y contar las bondades o inconvenientes del MS-DOS, obviando los Windows y Linux que hoy día podemos tener instalados en ellos. Para los que tienen un QL “pelado”, una única ampliación, la de José Leandro, le cambia la cara a la máquina de forma espectacular, y luego, ya si uno quiere aventuras, pues tiene todo el abanico de ampliaciones posibles y la Q68 (FPGA). El QL no le tiene que gustar a todo el mundo. Es un sistema diferente, con sus cosas buenas y malas, como todos, y que tiene su propia historia.

Espero que lo disfrutéis. Nosotros hemos pasado un rato muy bueno. ¡Feliz día del orgullo friki!

Algunos enlaces de interés:

Emuladores

uQLx http://www.dilwyn.me.uk/emu/index.html#uQLx_for_Linux_etc.
Q-emuLator http://www.terdina.net/ql/q-emulator.html
SMSQmulator https://www.wlenerz.com/SMSQmulator/
QPCII https://www.kilgus.net/

SMSQ/E https://www.wlenerz.com/smsqe/

Documentación

Sinclair QL Recursos en Castellano https://sinclairql.es
QBlog https://sinclairqles.wordpress.com/
QReino https://www.qreino.es/

Dilwin Jones (inglés) http://www.dilwyn.me.uk/

Foros

Speccy.org https://foro.speccy.org/viewforum.php?f=15

Retrowiki http://retrowiki.es/viewforum.php?f=98

QLForum (inglés) https://qlforum.co.uk/

Noticias

Sinclair QL Planet (inglés) https://badaman.badared.com/ql/planet/

Aprovechando la salida de la nueva versión de SMSQ/E, en el siguiente video de se programa semanal de AmigaWave, David hace un excelente repaso de la trayectoria del mundo del QL, especialmente de las expansiones como la GoldCard las QXL y las Q40 y Q60, y muestra el entorno de ventanas Pointer Envoronment (PE) a color real, y con resoluciones superiores a 512×512.

Lo relativo al QL comienza en el minuto 50 y dura unos 40 mins.

¡No os lo perdáis!

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.

La tecnica de color cycling permite definir una imagen cuya paleta de color tiene la característica de que puede definirse parte de ella como un ciclo de colores consecutivos, lo que da como resultado un efecto de movimiento o animación.

El ejemplo por excelencia es fichero “Waterfall” que venia como demo en NEOCrhome, uno de los primeros programas que permitian este efecto que era común en los Atari ST y los Commodore Amiga.

En el QL tenemos una paleta de color muy limitada en los modos clásicos de 4 y 8 colores, y esto no nos permite conseguir efectos muy realistas, pero algo se puede hacer. Sin duda en otros modos de color, con algo de código maquina, el efecto seria mucho mejor de lo que aquí muestro como resultado:

Usando RECOL

Para conseguir este efecto hemos de partir de dos premisas:

1.- SuperBASIC tiene un comando llamado RECOL que cambia los colores de pantalla que le indiquemos. Para los colores por defecto del 0 al 7 podemos decidir que estos serán sustituidos en pantalla por otro color de 0 a 7. Por ejemplo, podemos cambiar el color azul por el blanco, como se ve a continuación, siendo ‘n’ el canal elegido.

RECOL #n,0,7,2,3,4,5,6,1

Esto lo que hace es intercambiar los colores en la pantalla. Para las animaciones, debemos cerciorarnos de que, al usar RECOL, intercambiamos colores, como en este caso, el color 1 por el color 7, y el color 7 por el color 1. De otra forma puede ocurrir que colores distintos en pantalla acaben siendo el mismo.

2.- SuperBASIC permite definir ventanas que podemos asociar a un canal. De esta forma podemos definir áreas rectangulares sobre las que aplicar RECOL. En este ejemplo se han usado dos zonas como se ve en la imagen. De esta manera podemos salvar el resto de la imagen y actuar solo sobre la zona sobre la que vamos a usar RECOL.

Aquellas zonas de la pantalla con bordes irregulares deben ser trabajadas de tal forma que los colores que se usen no se vean afectados por el RECOL, como es el caso de los bordes de la cascada. Esta es la imagen de partida.

Seguramente usando el comando FLASH pueden conseguirse otros efectos interesantes, pero esto supondria crear una mascara más precisa para el cambio de colores.

El programa

Este es el código que permite este cambio de color.

100 MODE 8
110 LBYTES mdv1_scrs_cascada_scr,131072
120 ch1=3 : ch2=4
130 OPEN #ch1,scr_148x145a232x29
140 OPEN #ch2,scr_512x82a0x174
150 REPeat loop
160   RECOL #ch1,0,7,2,3,4,5,6,1
170   RECOL #ch2,0,7,2,3,4,5,6,1
180   IF INKEY$<>"": EXIT loop
190   PAUSE 10
200 END REPeat loop
210 CLOSE #ch1 : CLOSE #ch2

Otros usos de RECOL

En este otro ejemplo se usa RECOL para simular un rastro en la pantalla. se muestra una pelota que rebota y va dejando una cola de color tras ella.

Este es el programa:

100 MODE 8 : ch=3
110 OPEN #ch,scr_
120 axw=400 : ayw=200
130 WINDOW #ch,512,256,0,0
140 PAPER #ch,1 : CLS #ch
150 WINDOW #ch,axw,ayw,INT((512-axw)/2),INT((256-ayw)/2)
160 PAPER #ch,0 : CLS #ch
170 INK #ch,7
180 SCALE #ch,ayw,0,0
190 axw=INT(X_Scale (ayw,axw,ayw))
200 r=6 : d=4
210 x=INT(axw/2)
220 y=INT(ayw/2)
230 iz=0: ab=0
240 ix=1 : iy=1
250 :
260 REPeat bucle
270   RECOL #ch,0,0,1,2,3,4,5,6
280   FILL #ch,1
290   CIRCLE #ch,x,y,r
300   FILL #ch,0
310   x=x+(d*ix) : y=y+(d*iy)
320   IF x>axw OR x<0 THEN ix=-ix
330   IF y>ayw OR y<0 THEN iy=-iy
340 REMark   PAUSE
350 END REPeat bucle
360 :
370 DEFine FuNction X_Scale (y_scale, wide, high)
380   RETurn .7411765 * y_scale * wide / high
390 END DEFine X_Scale

Desconozco si esta técnica se ha usado en el QL en algún momento, pero puede ser un punto de partida para una portada o juego básico.

 

Actualización 2020-04-02

Psicodelia

otro ejemplo con RECOL. En estecaso se usa toda la pantalla para conseguir un efecto psicodélico.

El programa es también muy sencillo:

100 MODE 8
110 LBYTES mdv1_scrs_psicodelia_scr,131072
120 ch1=3
130 OPEN #ch1,scr_512x256a0x0
140 REPeat loop
150   RECOL #ch1,0,3,6,2,5,1,4,7
160   IF INKEY$<>"": EXIT loop
170   PAUSE 10
180 END REPeat loop
190 CLOSE #ch1

Aquí las imágenes usadas:

He creado el siguiente recurso para estar al día en las noticias de los blogs internacionales de Sinclair QL.

https://badaman.badared.com/ql/planet/

Con este planeta de noticias podemos:

  • Leer las noticias en orden cronológico descendente.
  • Acceder a las distintas páginas que aparecen en el planeta.
  • Acceder a las noticias originales.
  • Descargar el listado de fuentes web en formato opml
  • Ver un listado de los encabezados de las noticias
  • Obtener una fuente web (atom) que podemos usar en nuestros agregadores.