Algunos emuladores de QL

Descripción del contenido de esta página

Descripción y características más destacadas de algunos de los principales emuladores de QL.

El texto que sigue es complemento del artículo Cómo arrancar un programa de QL. Aquí describiré brevemente las características más destacadas de los emuladores de QL que conozco y utilizo o he utilizado, para que sirva de ayuda a quien no esté familiarizado con la plataforma QL pero esté interesado en probar algún programa para este sistema.

Los emuladores QPC2 y Q-emuLator, sobre los que escribo en esta página, están escritos para Windows pero funcionan perfectamente en sistemas GNU/Linux gracias a Wine; de hecho yo uso ambos emuladores en mi sistema operativo Debian sin ninguna pega. En esta página no explicaré nada sobre Wine: Doy por supuesto que los usuarios de GNU/Linux saben cómo instalar Wine y cómo a su vez instalar y ejecutar con él un programa de Windows; si no, pueden encontrar toda la información fácilmente en muchos otros lugares. En la mayoría de las distribuciones de GNU/Linux más populares y fáciles de usar, como por ejemplo Ubuntu, todo es prácticamente automático.

Por supuesto hay más emuladores de QL para diversos sistemas operativos. Más adelante incluiré información sobre uQLx y algún otro que he utilizado ocasionalmente.

QPC2

QPC2

QPC2 es un programa emulador de QL para Windows que no intenta emular la máquina original, ni ningún «trasto» concreto, sino recrear un sistema QL moderno, empotrado en un sistema anfitrión. Por ello en QPC2 no funcionarán algunos programas antiguos que hacen uso de trucos al margen del sistema operativo, o simplemente que dan por supuestas las direcciones de memoria de la pantalla o de las variables del sistema...

QPC2 incluye el sistema operativo SMSQ/E, el más avanzado creado para QL y compatible hacia atrás con el QDOS original. SMSQ/E es la evolución de SMSQ, y entre otras mejoras lleva integrado el característico entorno de ventanas de QL (llamado «Pointer Environment»), que hasta entonces era un accesorio que había que cargar expresamente durante el arranque. QPC2 no necesita ficheros de ROM de QL como otros emuladores, puesto que el emulador y el sistema operativo SMSQ/E están integrados para obtener el máximo rendimiento.

También incluye el lenguaje SBASIC, una versión mejorada y más rápida del SuperBASIC original de QL, y compatible al 99%. SBASIC aprovecha la capacidad nativa multitarea de QL, pero que en sistemas operativos anteriores no estaba aprovechada. Así, el comando SBASIC inicia un nuevo intérprete de SBASIC en una nueva ventana.

El emulador permite usar hasta ocho discos duros virtuales (ficheros WIN), que serán referenciados con los nombres de win1_ hasta win8_, y usar ocho directorios del sistema anfitrión como si fueran unidades de disco propias, que serán referenciados con los nombres de dos1_ hasta dos8_. Esto permite que los programas de QL manejen los ficheros de Windows o GNU/Linux igual que los propios. Solo hay alguna pequeña limitación en este aspecto, por ejemplo debida a las normas usadas para los nombres de ficheros en cada sistema; y, debido a una peculiaridad del formato de ficheros de QL, no se puede guardar en el sistema anfitrión ficheros ejecutables de QL (pierden su condición de ejecutables si se hace). SMSQ/E permite usar indistintamente disquetes con formato FAT o QL; y QPC2 por supuesto permite usar las disqueteras de la máquina anfitriona para leer disquetes reales de ambos formatos.

Al contrario de lo que es habitual en los emuladores, no tiene control de velocidad. Siempre usará la máxima velocidad que la máquina anfitriona permita. En SBASIC hay un comando (SLUG) que ralentiza el sistema, algo necesario excepcionalmente para juegos antiguos que de otra manera serían injugables en una máquina moderna.

QPC2 es un programa comercial pero existe una versión gratuita, que tiene una sola limitación: todos los dispositivos de almacenamiento se montan en modo de solo lectura, es decir: no se puede crear ni modificar ni borrar ficheros.

QPC2 es en mi opinión la mejor opción para trabajar y programar con la plataforma QL y aprovechar todo su potencial.

Q-emuLator

Q-emuLator

Q-emuLator es un programa emulador de QL para Windows que intenta emular con precisión la máquina original y varios accesorios opcionales.

Se puede elegir la ROM que se desee, tanto del sistema operativo QDOS como del más moderno Minerva. El emulador trae varias versiones de cada uno de ellos, pero basta descargar cualquier ROM para QL y usarla. La versión española del sistema operativo QDOS corresponde a la ROM «MGE», una de las más depuradas que se crearon. La versión de Minerva adecuada para emuladores es la 1.89.

Q-emuLator ofrece ocho «ranuras» para asociarlas a dispositivos de almacenamiento, que serán referenciados por el sistema indistintamente como WIN, MDV, FLP... Es decir, un programa que esté escrito para usar la segunda disquetera (flp2_) funcionará sin problema con cualquier dispositivo que esté asociado en la segunda ranura, sea un disco duro virtual, una imagen de disquete, un disquete real, un fichero ZIP... Imitando el comportamiento de la QL original, el emulador al arrancar siempre intentará cargar un fichero de nombre boot desde el dispositivo que esté asociado a la primera ranura.

En 2010 el autor de Q-emuLator creó el formato de fichero QLPAK. Es un archivo ZIP estándar que contiene el fichero de configuración propio de Q-emuLator y, opcionalmente, una ROM de QL. De este modo un solo fichero tiene todo lo necesario para ejecutar el programa de QL sin que el usario tenga que configurar nada.

Q-emuLator soluciona el problema de las cabeceras propias de los ficheros ejecutables de QL modificando de forma trasparente estos ficheros cuando se copian, en cualquier sentido, entre un dispositivo con el sistema de ficheros propio de QL y un directorio del sistema anfitrión. Esto permite ejecutar programas compilados que estén almacenados en el sistema anfitrión.

Q-emuLator es un programa comercial pero existe una versión gratuita, que tiene varias limitaciones: la velocidad es la de la máquina original; la memoria no se puede aumentar de 384 KiB; solo permite usar ficheros en formato ZIP y QLPAK.

Q-emuLator es en mi opinión la mejor opción para recrear la sensación de estar usando una QL real, así como para ejecutar programas antiguos que no funcionen bien en sistemas QL modernos.

QXL

QXL no es un programa emulador; es una tarjeta para PC que emula un sistema QL. No es una alternativa práctica para quien quiera probar programas de QL en la actualidad, y si la menciono aquí es solo porque yo tuve una, que usé durante varios años y que aún (en 2011) conservo.

La tarjeta es como una computadora incompleta: tiene un procesador Motorola 68040 y su propia memoria RAM; y una vez en funcionamiento usa los dispositivos de entrada y salida de la computadora donde está enchufada (teclado, tarjeta gráfica, unidades de disco duro, disqueteras, puertos serial y paralelo...). Salió al mercado hacia 1992 y se hicieron varias versiones con diferentes velocidades de procesador y MiB de memoria RAM.

Traía en un disquete con formato de FAT (de MS-DOS) el novedoso sistema operativo SMSQ, una reescritura completa del QDOS original realizada por el mismo autor, Tony Tebby. Entre otras muchas novedades, SMSQ traía SBASIC, una nueva versión mejorada de SuperBASIC. Una vez instalado el sistema operativo en el disco duro de PC, se podía arrancar el sistema QL como si fuera una aplicación de MS-DOS, y tomaba todo el control de la máquina; también podía arrancar bajo Windows, en cuyo caso era posible cambiar con una combinación de teclas entre SMSQ y las aplicaciones de Windows.

QXL introdujo por primera vez los ficheros de disco duro virtual de extensión WIN, que después fueron adoptados por programas emuladores. Se podía usar un fichero de nombre QXL.WIN en cada disco duro del PC: por ejemplo, el fichero C:\QXL.WIN sería el disco duro win1_ en SMSQ; el fichero D:\QXL.WIN sería el disco duro win2_... SMSQ permitía usar disquetes de formato FAT (algo que hasta entonces solo podía hacerse con programas especiales para QL).

Del sistema operativo SMSQ/E, sucesor de SMSQ, también existe una versión para QXL.

Páginas relacionadas

Glosario

BASIC
Beginner's All-Purpose Symbolic Instruction Code (código polivalente de instrucciones simbólicas para principiantes)
DOS
Disk Operating System (sistema operativo de disco)
FAT
File Allocation Table (tabla de asignación de ficheros)
GNU
GNU's Not Unix (GNU no es Unix)
KiB
kibiocteto (1024 octetos)
MiB
mebiocteto (1024 kibioctetos)
RAM
Random Access Memory (memoria volátil de lectura y escritura)
ROM
Read Only Memory (memoria inalterable)
Wine
Wine Is Not an Emulator (Wine no es un emulador)