Cómo arrancar un programa de QL
Descripción del contenido de la página
Cómo arrancar un programa de QL en diferentes emuladores y en la máquina original, con diferentes formatos de ficheros.
Tras la publicación de Asalto y castigo [en SuperBASIC, para QDOS y SMSQ/E], y gracias a varios comentarios recibidos en el foro de CAAD, me di cuenta de que las instrucciones para cargar el programa, a pesar de que indicaban dónde descargar los emuladores y qué formato de fichero se podía usar con cada uno de ellos, no eran suficientes para quien no estuviera familiarizado con la plataforma QL. Este artículo, que se irá actualizando cuando sea necesario, pretende servir de guía para ese y otros casos.
Formatos de fichero
Los ficheros habituales en que se distribuye programas de QL, principalmente para usar en emuladores, son los siguientes, identificados por sus extensiones:
- ZIP de QL. Está creado con un compresor de ZIP específico para QL y deberá abrirse también con la misma herramienta. El motivo es que los ficheros ejecutables de QL tienen una cabecera que los compresores habituales no tienen en cuenta. No lo uso para publicar mis programas, salvo que lo indique expresamente. Lo menciono solo como curiosidad.
- ZIP estándar. Salvo indicación expresa este es el formato ZIP que uso para programas de QL. Algún emulador permite «montar» directamente un fichero ZIP estándar como si fuera una unidad de disquete en modo de solo lectura. En otros casos habrá que extraer su contenido para usarlo directamente según corresponda.
- IMG. Es una imagen de disquete con el formato y sistema de ficheros propios de QL. Algún emulador permite usarlo directamente, asociándolo a una unidad de disco. Con un programa apropiado para copiar imágenes de disquete, se puede crear a partir de este fichero un disquete físico para usarlo en una QL real. Si se distribuye comprimido hay que descomprimirlo antes de usarlo.
- QLPAK. Es un formato creado en 2010 por el autor del emulador Q-emuLator. Es un archivo ZIP estándar que contiene el fichero de configuración propio de este emulador 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.
- WIN. Es una imagen de un disco duro con el formato y sistema de ficheros propios de QL. Se empezó a usar hacia 1992 con la tarjeta emuladora QXL. Si se distribuye comprimido hay que descomprimirlo antes de usarlo.
Compatibilidad entre formatos de fichero y sistemas QL
La siguiente tabla muestra qué formatos de fichero son utilizables tanto con la máquina original como con diferentes emuladores de QL:
ZIP | ZIP descomprimido | WIN descomprimido | IMG descomprimido | QLPAK | |
---|---|---|---|---|---|
QL | no | no | no | SÍ (creando un disquete de QL) | no |
QXL | no | SÍ (copiando los ficheros a un disquete de formato FAT) | SÍ | SÍ (creando un disquete de QL) | no |
Q-emulator (gratuito) | no | SÍ (asociando el directorio de los ficheros a una ranura) | no | no | SÍ |
Q-emuLator (registrado) | Sí | SÍ (asociando el directorio de los ficheros a una ranura) | SÍ | SÍ | SÍ |
QPC2 (gratuito o registrado) | no | SÍ (asociando el directorio de los ficheros a una unidad DOSx_ o copiando los ficheros a un disquete de formato FAT) | SÍ | no | no |
Cómo arrancar un programa con el emulador QPC2
Lo primero es familiarizarse un poco con las características de QPC2 y a continuación descargar e instalar la versión gratuita de QPC2. En la misma página están disponibles todos los manuales, pero no son necesarios en este caso.
Advertencia previa sobre las teclas propias de QPC2
Si ejecutamos el emulador en modo de ventana estarán disponibles los botones normales de las ventanas de Windows. Pero si lo ejecutamos a pantalla completa u ocurre algún problema, es útil recordar estas combinaciones de teclas:
- Para cerrar el emulador: Ctrl+Shift+Scroll lock (o lo que es lo mismo: Control+Mayúscula+Bloqueo de desplazamiento).
- Para reiniciar el sistema QL: Ctrl+Alt+Shift+Tab (o lo que es lo mismo: Control+Mayúscula+Alt+Tab).
- Para cambiar entre ventana y pantalla completa: Ctrl+Shift+F12 (o lo que es lo mismo: Control+Mayúscula+F12).
Configuración
QPC2 muestra su cuadro de diálogo de configuración cada vez que arranca. En la parte inferior izquierda de la ventana hay un control para indicar que no queremos que lo siga haciendo, en cuyo caso para que el diálogo aparezca la próxima vez tendremos que mantener pulsada la tecla Mayúsculas durante el arranque; es mejor no cambiar esto. También hay un botón de nombre «Save» («guardar»), que guarda la configuración actual como predeterminada para las próximas ocasiones.
En la configuración es posible elegir entre otras cosas el modo de ventana o pantalla completa, la activación y el volumen del sonido, la memoria en MiB, los dispositivos seriales y paralelos, los de almacenamiento, la resolución de la pantalla y la resolución de color. De todo ello lo importante para poder ejecutar simplemente un programa es elegir el tamaño de la pantalla, la resolución de color y los dispositivos de almacenamiento.
Pantalla
Si el modo de pantalla que elegimos es diferente del que está en uso, QPC2 lo cambiará al arrancar y lo restaurará al salir. Conviene hacer alguna prueba.
Hay tres resoluciones de color a elegir:
- QL colour: equivalente a los dos modos de la QL original (4 u 8 colores, con mezclas opcionales mediante patrones de puntos). Los ocho colores son los mismos de la ZX Spectrum, pero SBASIC permite cambiar la paleta.
- 8-bit colour: 8 bitios (256 colores) por punto. SBASIC permite cambiar la paleta.
- High colour: 24 bitios (más de dieciséis millones de colores) por punto. Puede que el emulador funcione un poco más lentamente, dependiendo de la potencia de la máquina anfitriona.
Dispositivos de almacenamiento
El botón «Devices» («dispositivos») abre el cuadro de diálogo de los dispositivos de almacenamiento, donde es posible asociar las disqueteras reales de la máquina anfitriona a dipositivos FLPx, los discos duros virtuales (ficheros WIN) a dispositivos WINx y los directorios del sistema anfitrión a dispositivos DOSx.
También se puede elegir desde dónde arrancará el sistema (desde un dispositivo FLPx o WINx; se puede elegir un dispositivo WINx que no esté asociado). En QL, cuando el sistema arranca desde un dispositivo lo único que hace es buscar en él un fichero llamado boot, que debe ser un programa en SuperBASIC, cargarlo y arrancarlo.
A partir de aquí los pasos a seguir dependen de si nuestro programa está en un fichero WIN (la opción más cómoda) o en un fichero ZIP.
Arrancar desde un fichero WIN
Esta es la opción más cómoda y recomendable con QPC2. Antes de nada, si el fichero WIN está comprimido hay que descomprimirlo.
En primer lugar hay que asociar el fichero WIN que contiene el programa a una unidad de disco duro de QL (por ejemplo la primera, WIN1). A continuación es posible configurar el arranque automático. Para ello, en la zona inferior rotulada como Boot options (opciones de arranque) elegiremos la opción neither (ninguno) en el primer control, para evitar el arranque desde disquete; y seguidamente elegiremos nuestro dispositivo (WIN1) en el segundo control.
Esto es todo. Pulsamos el botón OK en el cuadro de diálogo de dispositivos y después otra vez en el cuadro de configuración general. El sistema arrancará usando como «disco duro» principal nuestro fichero WIN.
Dado que el programa arrancará desde el intérprete principal de SBASIC, la única manera de acceder a la línea de comandos es que termine su ejecución, o detenerlo antes con la combinación de teclas Ctrl+Space.
Una alternativa interesante, para ver cómo funciona la multitarea de QL, es hacer un arranque manual desde un segundo intérprete de SBASIC. Para ello, hay que seguir estos pasos:
- En la configuración, elegir que el sistema arranque desde una unidad de disco que no esté asociada (por ejemplo, win8_).
- Tras el arranque, escribir en la línea de comandos la orden para iniciar un segundo intérprete de SBASIC, que es precisamente
SBASIC
. - Comprobar que podemos ir de un intérprete a otro (el principal y el secundario) pulsando Control+C.
- En uno de los intérpretes, escribir el comando para cargar el fichero de arranque del programa desde la unidad de disco duro a la que lo hayamos asociado (por ejemplo, win1_):
lrun win1_boot
(recuérdese que el teclado no será el español).
Arrancar un programa empaquetado en un fichero ZIP
Esto no funcionará si el programa usa ficheros ejecutables. Dicho de manera muy simplificada: Sólo funcionará para programas en BASIC no compilados.
Pasos a seguir:
- Descomprimir en un directorio el fichero ZIP que contiene el programa.
- Arrancar QPC2 y, en el diálogo de configuración, asociar una unidad DOSx (por ejemplo la primera, DOS1, al directorio que contenga el contenido del fichero ZIP).
- Una vez estemos en la línea de comandos de SBASIC, escribiremos el comando
lrun dos1_boot
. Lógicamente, este paso puede hacerse en un intérprete de SBASIC secundario, como se describe al final de la sección anterior.
Arrancar desde un disquete de formato FAT
Como en el caso anterior, esto no funcionará si el programa usa ficheros ejecutables. Dicho de manera muy simplificada: Sólo funcionará para programas en BASIC no compilados.
Pasos a seguir:
- Descomprimir en un directorio el fichero ZIP que contiene el programa.
- Copiar su contenido en un disquete de formato FAT (el habitual en Windows).
- Arrancar QPC2 y, en el diálogo de configuración, decirle que arranque desde la disquetera correspondiente (el dispositivo flp1_ de QL corresponde a la disquetera A: de Windows, y flp2_ a la B:).
- Una vez el sistema nos muestre la pantalla clásica de QL (tres zonas: blanca, roja y negra) podremos darle en SBASIC la orden de que cargue y arranque el fichero del programa (recuérdese una vez más que el teclado no será español, independientemente del del sistema anfitrión):
lrun flp1_boot
. Para ver antes el listado de los ficheros habría que hacer:dir flp1_
.
Cómo arrancar un programa con el emulador Q-emuLator
Esta sección está en preparación.
Lo primero es familiarizarse un poco con las características de Q-emuLator.
La opción más fácil (hay varias) es:
- Asociar el fichero QLPAK a la primera ranura de las ocho que vemos en la parte inferior de la ventana del emulador. No se puede hacer con el teclado (está previsto para una futura versión del emulador), solo con el botón derecho del ratón sobre la ranura. El menú emergente nos permite elegir el tipo de fichero que queremos asociar.
- Arrancar con la opción «Start» del menú «QL».
Si Q-emuLator se ejecuta directamente en Windows (y quizá también en GNU/Linux con Wine y un entorno de escritorio avanzado, pero no lo sé con certeza) la extensión QLPAK quedará asociada al emulador y por tanto bastará hacer doble clic en el fichero para arrancar el programa.
Cómo arrancar un programa con una QL
Esta sección está en preparación.
En resumen, hay que crear un disquete en formato de QL, copiando en él el fichero IMG con una herramienta para copiar imágenes de disquete, como dd, rawrite y otras.