Versiones de SuperBASIC

Dilwyn Jones
Tal-y-bont, Gales, Reino Unido.

Traducción:
Afx
noviembre de 2008

SuperBASIC es un intérprete BASIC implementado dentro de las ROMs del QL, además de las ROM Minerva, aunque estas últimas tiene algunas mejoras. El sistema operativo SMSQ/E viene con un intérprete BASIC mejorado, llamado SBASIC. A lo largo de los años se ha adoptado el término S*BASIC para hacer referencia a ambas versiones del BASIC del QL. El intérprete SuperBASIC fue desarrollado originalmente por Jan Jones en Sinclair, mientras que el QDOS en si mismo fue desarrollador por Tony Tebby. El plan original era utilizar un sistema operativo encargado a una empresa denominada GST, pero por diversas razones este nunca se suministró con el QL y Sinclair usó el de Tebby en su lugar. El sistema operativo de GST, llamado 68k/OS, fue comercializado por GST como una tarjeta conectable en el QL durante un tiempo, aunque no se vendió mucho.

Las ROMs Minerva fueron desarrolladas originalmente por un pequeño grupo en QView -Jonathan Oakley, Stuart McKnight y Laurence Reeves- las letras iniciales de sus nombre de pila dan el nombre "JSL1" a la versión del SuperBASIC . Minerva estaba basada originalmente en las ROMs QDOS, aunque los numerosos cambios y mejoras realizados a lo largo del tiempo hacen que Minerva sea reconocida de forma independiente por derecho propio.

Las ROMs Argos para el ordenador Thor fueron desarrolladas por David Oliver de CST, la compañía que estaba detrás de los ordenadores Thor. Argos está basada en QDOS, pero incluye muchas mejoras del sistema diseñadas específicamente para los sistemas Thor.

SMSQ/E fue desarrollado por Tony Tebby con versiones más recientes mantenidas por Marcel Kilgus y Wolfgang Lenerz (que actúa como secretario) quien coordina las publicaciones de las diferentes versiones para las diversas plataformas. Hay que destacar como aspecto interesante, la existencia de una versión anterior llamada SMS2, que sólo estaba disponible en forma de cartucho para los sistemas Atari. Miracle System licenció un sistema operativo llamado SMSQ de Tony Tebby para sus tarjetas QXL. Este era el predecesor de SMSQ/E, la mayor diferencia entre SMSQ y SMSQ/E era que SMSQ no incluía ningún entorno gráfico (llamada Pointer Enviroment -o PE en adelante-). La /E en SMSQ/E hace referencia a la Extensión del Entorno construida dentro del sistema operativo.

En cuanto al nombre de SMSQ, se ha publicado diversas conjeturas sobre su significado. La explicación más probable es que corresponde a las siglas de "Single-user Multitasking System for QL" (Sistema Multitarea de usuario-Simple para el QL). SMSQ y SMSQ/E son cargados normalmente desde disco en lugar de ser instalado en ROM, aunque el Q40 puede almacenar su versión de SMSQ/E en una flash ROM, si fuera necesario.

Las versiones del BASIC se indican mediante cadenas de 2, 3 o 4 caracteres como AH, JM, JS, MG, JSL1 O HBA. Minerva usa "JSL1" para el SuperBASIC en todas sus versiones de la ROM, mientras que SMSQ/E siempre usa "HBA" como la versión de su SBASIC. Las versiones de la ROM del QL han sido conocidas generalmente por esos nombres de versión (por ejemplo QL versión JS) aunque estrictamente hablando ellas se refieren a las versiones del SuperBASIC. Lo números de versión del sistema operativo generalmente está formado por un número de versión de 4 caracteres como por ejemplo 1.10, donde el '.' se sustituye por las variantes nacionales (por ejemplo, la versión del QDOS 1E13 se corresponde a la versión del SuperBASIC MGE es la versión española de la ROM del QL).

La versión del BASIC puede ser comprobada con el comando PRINT VER$ la cual mostrará la cadena de 2, 3, o 4 caracteres que identifican a la versión. La comprobación de la versión del QDOS no es tan simple como la función o comando del BASIC. Algunos toolkits incluyen una función como por ejemplo QDOS$ que muestran la versión del sistema operativo formada por los cuatro caracteres. Alternativamente, rastreando una imagen de la ROM en la pantalla y buscando una cadena que comience por "1." o "2." -si no es una versión inglesa debemos reemplazar el "." por la letra que identifica al país-. Para aquellos que estén familiarizados con el código máquina pueden usar la llamada al trap MT.INF (trap #1, d0=0) que retorna un ID string QDOS como una palabra larga en el registro D2.

La primera versión de la ROM del QL era conocida como la versión FB, la cual estaba plagada de bugs y era incompleta, muchos la llaman versión "Full of Bugs!" (plagada de errores). Esta fue reemplazada rápidamente por la versión PB la cual fue muy mejorada, aunque realmente aún no era una versión acabada. La versión AH fue la primera versión que se podría considerar lo bastante estable para un uso permanente. Esta versión fue también reemplazada rápidamente por la versión JM, la primera versión suministrada en una ROM frente a las anteriores que fueron versionadas en EPROM.

A principios de 1985 fue liberada la versión JS que contenía mejoras significativas, como un manejador de errores, traducción de caracteres para la impresión e inspección de variables (WHEN var). La versión JS corrigió algunos errores de versiones anteriores, pero también introdujo unos cuantos errores oscuros propios de esta versión. La versión MG fue liberada un poco más tarde para el mercado internacional con variantes, como MGF para Francia, MGE para España, MGG para Alemania. Sinclair no publicó una versión MG para el mercado inglés, aunque se produjo una versión privada MGUK.

Se produjeron también algunas versiones privadas de la ROM del QL independientemente de Sinclair. Por ejemplo la rom MGUK de John Alexander y la edición JS 4MB de la ROM JS para el uso con emuladores las cuales podrían tener memorias más grandes que la que ofrecía la estándar del QL.

CST actualizó la ROM del QL original para el uso específico en los ordenadores Thor. A esta se las conoce como Argos e incluyen su propio sistema de ventanas y otras mejoras con respecto al QDOS.

Ultrasoft fabricó una versión de la ROM MG, llamada Ultra-MG, que contenía algunas correcciones de errores y añadía un mapa de teclado alemán.

La ROM Tyche de 64KB es un desarrollo de un QDOS para un sistema QL que nunca se llegó a editar. Es probable que ésta versión no pueda ser usada en un QL estándar.

Las ROM AH, JM, JS, MG y TB han sido liberadas para su uso libre en Europa (Sinclair permite la distribución para su uso sin ánimo de lucro), aunque en el caso de Norteamérica estos derechos están en manos de Paul Holmgren y Frank Davis y se debería pedir permiso a ellos para su uso en América del Norte. La ROM Minerva ROM está liberada para usarse con emuladores en todo el mundo.

BASIC   QDOS	Descripción 

FB	1.00	ROM FB de Sinclair (versión original "kludge")
PM	1.01	ROM PM de Sinclair
AH	1.02	ROM AH de Sinclair
JM	1.03	ROM JM ROM de Sinclair 
TB	1.03	ROM de Sinclair intermedia, entre JM y JS
JS	1.10	ROM JS Sinclair
JSU	1u10	ROM USA JS Sinclair
JS-4M	1.10	ROM JS, parcheada para 4MB RAM 
MG	1.13	ROM MG inglesa 
MF	1.14	ROM versión alemana
MGE	1E13	ROM MG versión española
MGG	1G13	Otra ROM versión alemana.
MGI	1I13	ROM MG version italiana
MGUK	1ê13	Actualización de John Alexander de la ROM MG con commandos añadidos
JSL1	1.61	Versión temprana de la ROM Minerva
JSL1	1.63	Versión siguiente de la ROM Minerva
JSL1	1.64	Versión siguiente de la ROM Minerva
JSL1	1.66	Versión siguiente de la ROM Minerva
JSL1	1.89	Versión siguiente de la ROM Minerva para uso con emuladores
JSL1	1.98	La version más reciente de Minerva, de distribución libre.
Thor	630 1.13 Thor v6.30 ROM 
Thor	634 1.13 Thor v6.34 ROM 
Thor	636 1.13 Thor v6.36 ROM 
thor	639 1.13 Thor v6.39 ROM 
Thor	641 ?	 Thor v6.41 ROM 
Tyche	2.05	Última version del QDOS no liberado para hardware QDOS. 
	Una ROM 64K que es interesante pero no es muy compatible con 
	las ROM 48K del QL original. Contiene el mensaje de copywrite '(C) 1985 Sirius Cybernetics'
   
Ultra-MG 1.14	La versión de Ultrasoft de la ROM MG alemana. Corrige algunos errores y
	contiene un mapa de teclado alemán.
EFP 1E13 Sigma FP Greek ROM, Versión EFP

Las versiones de la ROM anteriores a JS (por ejemplo AH, TB, JM) fueron las versiones primitivas de Sinclair. Ellas son perfectamente usables y mucha gente aún tiene EPROMs AH o JM en sistemas QL.

La versión JS introduce algunas nuevas características como la captura de errores con WHEN ERROR, variables WHEN para la monitorización de valores, y las características de traducción TRA. JSU era una versión para América del norte de la ROM del QL.

Con la ROM MG llegaron las versiones internacionales como MGF para Francia, MGI para Italia y cosas por el estilo. A lo largo de los años, se han sucedido algunos derivados como la versión 4MB de la ROM JS, y la ROM MGUK de John Alexander.

No se sabe con exactitud de dónde procede ni el significado de las dos letras en la numeración de las versiones. Una teoría es que provienen de las iniciales del personal (staff) de Sinclair (por ejemplo, JM pueden haber sido las iniciales del ingeniero John Mathieson). Hubo incluso rumores de que AH provenía de "Angela's Holiday", aunque después de todos estos años aún no se ha podido confirmar ninguno de estos rumores (ni tanto otros que han surgido).

Los BUGS de la ROM

A lo largo de los años se ha evidenciado la existencia de diversos errores en las distintas versiones de la ROM. Escritores como Simon Goodwin y Mark Knight los han documentado. La lista de Mark Knight está disponible en el sitio Web: http://www.dilwyn.me.uk/docs/basic/bugs.zip, y los artículos de Simon Goodwin pueden encontrarse en los números siguientes de la revistas QL World:

Muchos de los errores documentados no son críticos y tienen soluciones simples, mientras que otros son potencialmente serios. Sin embargo la mayoría de ellos se pueden evitar compilando los programas con Turbo o con QLiberator, los cuales hacen un buen trabajo en corregir la mayoría de bugs. La ROM Minerva también corrige la mayoría de ellos con respecto a las versiones ROM de Sinclair.

A pesar de que la lista (más o menos larga) de errores pueda afectar a su confianza en el uso del QL, la mayoría de ellos tienen un efecto mínimo y probablemente la situación no es peor que el resto de los ordenadores, y además en el caso del QL están abiertamente documentados.

Artículo original: http://www.dilwyn.me.uk/docs/basic/versions.zip


Sinclair QL Recursos en Castellano Alojado en / Hosted at:
Sinclair QL Recursos en Castellano
Sinclair QL Spanish Resources