archivo

Archivo de la etiqueta: ROM


SISTEMAS OPERATIVOS

En la primera entraga de esta serie dedicada a la ampliación o expansión de un sistema QL veíamos las diferentes posibilidades existentes para la ampliación de un QL en cuanto a las expansiones de memoria y las ampliaciones de unidades de disco. En esta segunda entrega nos centraremos en el sistema operativo y las distintas actualizaciones y nueva versiones desarrolladas a lo largo de la historia del QL.

Allá por el año 1984, todo era más simple. Tú solamente tenías el QDOS con algunas versiones en ROM ligeramente diferentes, y eso era todo. Bueno, seguramente yo debería añadir una relación de sistemas menos comunes como el GST68k O/S, un sistema diseñado para el QL, pero eventualmente abandonado por Sinclair en favor de QDOS y SuperBASIC, pero la verdadera opción era una versión del QDOS u otra.

QDOS originalmente fue suministrada en un pequeño cartucho EPROM, conocido como ‘kludge’ (‘kludge’ puede traducirse como conjunto de chips o software que de forma improvisada da una solución a un problema). Esta versión de QDOS tenía muchos problemas y fue sustituida rápidamente. Las primeras versiones más comunes y que aún hoy en día son de uso común fueron las versiones denominadas AH y JM. Abundan los rumores sobre el significado original de las letras utilizadas para nombrar estas ROM, desde los nombres de los taxistas a los nombres de los ingenieros de Sinclair, pero esto carece de importancia. Las letras de la versión son devueltas cuando se tecleamos el comando PRINT VER$ en el QL. Es importante señalar que las letras denotan la versión de SuperBASIC y no la de la ROM como tal -esta debería ser QDOS v1.01 o algo por el estilo- , aunque se generalizó esta nomenclatura para referirse tanto a la versión de SuperBASIC como a la del versión del QDOS como tal.

Las versiones AH y JM fueron sorprendentemente estables habida cuenta que eran versiones muy tempranas del sistema operativo. Carecían de manejo de errores y de ciertas facilidades en el manejo de los puertos que fueron introducidas en versiones posteriores como la JS (probablemente la versión de la ROM producida por Sinclair más ampliamente usada). El manejo de errores con la versión JS del SuperBASIC funcionaba, aunque con algunos problemas, así que la JS llegó a ser la versión estándar. Hubo también algunas versiones posteriores como la MG.

QDos de Sinclair, versión MGE

QDos de Sinclair, versión MGE

Después de que Sinclair publicara esas versiones, los usuarios continuaban siendo conscientes de algunos “bugs” en las ROM. Algunos programadores como John Alexander y Laurence Reeves trabajaron de forma independiente en otras versiones de la ROM. La legalidad de algunas de estas tentativas sobre las mejoras y la corrección de errores fue cuestionada – basados en los derechos de copyright de las ROM de Sinclair-. Si Sinclair hubiera decidido llevar esto ante los tribunales probablemente le hubieran dado la razón.

MGUK ROM

John Alexander produjo la ROM MGUK, un derivado de la ROM MG de Sinclair con correcciones de errores y algunas nuevas facilidades. Esta estuvo disponible durante algún tiempo a través de Sector Software.

MINERVA

Un pequeño equipo de QView, compuesto por Jonathan Oakley, Stuart MacKnight Reeves y Laurence, desarrollaró una ROM para el QL llamada Minerva. QView como equipo pronto abandonaría la escena del QL, pero en colaboración con TF Services, Laurence Reeves continuó trabajando en Minerva. En la actualidad Minerva se ha convertido en una versión de QDOS suficientemente diferente a QDOS original por sus propios méritos. Minerva corrige varios errores del QDOS y del SuperBASIC, y además añade todo tipo de facilidades tales como el soporte de una segunda pantalla, que el hardware del QL ofrece, pero que el QDOS de Sinclair no soporta plenamente. Minerva también tiene la facilidad de que puede auto-arrancar después de un fallo de alimentación, esta característica es de utilidad cuando se ejecuta software de BSS que debe estar constantemente disponible. MultiBASIC es otra característica que permite tener más de un programa SuperBASIC en memoria ejecutándose simultáneamente. El planificador del sistema también se mejoró, y el sistema gráfico se aceleró, se mejoró el tratamiento de errores, se añadieron facilidades de traza y se añadió el soporte para teclados no ingleses, un reset en caliente más rápido y apoyo añadido para dividir la tasa de baudios cuando se utiliza en conjunción con el segundo procesador reemplazado por Hermes por ejemplo. Varias versiones de Minerva se liberaron en poco tiempo.

Más tarde, se desarrolló la versión Mk 2 de Minerva. Se trataba de una actualización del hardware, así como una actualización del sistema operativo. Se añadió el bus de expansión Philips I2C y soporte de reloj de tiempo real con una batería de apoyo junto con 256 bytes de memoria no volátil, lo que permite al QL el auto-arranque con la información almacenada en esa memoria.

Ambas versiones de Minervas están todavía disponibles en TF Services por 40£ para clientes del Reino Unido, y un poco más caras (65£ y) para el resto de clientes.

Minerva

Minerva

Una controversia frecuente sobre el uso de la ROM original del QL en algunas partes del mundo donde los derechos aún estaban en poder de los otros, provocó que TF Services liberara una versión de Minerva (versión 1.89) para su uso con emuladores del QL. Esto proporciona un buen ejemplo de las mejoras que Minerva puede ofrecer, pero las más recientes versiones de ROM Minerva añaden incluso más mejoras que la v1.89.

CP/M

Un antiguo sistema operativo orientado a negocios (Control Program/Management) para ordenadores basados en el Z80 (y más tarde portado a otras arquitecturas) llegó a estar disponible para el QL en al menos 2 ediciones que yo sepa – una de Sandy en Reino Unido y la otra de Digital Precision Ltd-. Ninguna de las dos está hoy en día disponible, pero puedes conseguir algún ejemplar de segunda mano de algunos distribuidores. Ten en cuenta que, al igual que mucho del software de ese período, es posible que no funcione correctamente con sistemas QL modernos, -como hardware actual, sistemas operativos recientes o emuladores-. Si bien esto puede ser una diversión interesante si quieres experimentar en ejecutar software escrito para CP/M o simplemente quieres jugar con algo diferente, yo no creo que esta sea una alternativa real como sistema operativo para el uso de tu QL.

68K O/S

GST desarrolló este sistema operativo como una añadido en placa alrededor del las fechas en las que se lanzó el QL. Tuvo una corta duración, ya que a diferencia del QDOS no llevaba incorporada una versión de BASIC. Quest también desarrolló un sistema operativo al estilo del 68k OS para el QL (yo nunca he vista este sistema operativo), aunque creo que éste estaba basado más en una versión de CP/M para ordenadores con el microprocesador 68000 en lugar de un nuevo sistema operativo para el QL como tal.

DOS

Digital Precision (y otros) desarrollaron algunos emuladores de PC para el QL, que permiten ejecutar algunos programas DOS en el QL. DOS es el sistema operativo original para el PC. Estrictamente hablando, “Conqueror” que así se llamaba el sistema de Digital Precision usaba un sistema compatible con DOS llamado DR-DOS y era un emulador en lugar de un nuevo sistema operativo propiamente dicho para el QL.

ZX81/Spectrum

Una vez más, el software basado en emuladores le ha permitido al QL la ejecución de programas de sistemas como el ZX81 y el Spectrum. Algunos han sido escritos a lo largo de los últimos años por personas como el Dr. Carlo Delhez, William James y Ergon Development.

SMS2

Esta versión fue una evolución del QDOS a un nuevo sistema operativo cuyas siglas se corresponden a Single User Multitasking system (sistema multitarea monousuario), desarrollado por Tony Tebby. SMS2 llegó a estar disponible para los Atari ST como un cartucho conectable. A pesar de que es un buen sistema operativo, carecía de un intérprete BASIC. Tony Tebby fue uno de componentes principales del equipo de diseño original del QL, y en gran medida responsable del QDOS original.

SMSQ

Cuando Miracle Systems decidió producir una tarjeta QL llamada QXL que podría ser conectada a una ranura de expansión del PC (ellos no fueron los primeros – Sandy UK PCP tenía prevista una unos cuantos antes, pero a pesar de una gran cantidad de publicidad nunca llegó a mercado) iba a venir con un sistema operativo llamado SMSQ. Hay similitudes entre SMS2 y SMS para la QXL, pero SMSQ iba a tener una nueva versión de SuperBASIC llamado SABASIC, que incluía muchas mejoras con respecto al SuperBASIC y, por supuesto, una gran cantidad de correcciones de errores. Mientras el desarrollo sufría algunos retrasos, SMSQ logró establecerse como una nueva versión del sistema operativo compatible QL. No incluye el sistema de ventanas “Pointer Environment” dentro del propio sistema operativo -éste tenía que ser añadido desde disco (el ahora familiar ptr_gen, wman y hot_rext)-.

SMSQ/E

Después de un tiempo, un desarrollo de SMSQ fue producido para otras plataformas compatibles QL, incluidas los Atari ST, Aurora, Q40 y por supuesto el propio QL. La única diferencia más obvia entre SMSQ/E y sistemas operativos anteriores del QL es que éste venía ya con el Pointer Environment (PE) integrado. Ahora ya no tienes excusa para no usar el PE, ratón, etc. Por fin todo este entorno de interfaz gráfico de usuario se integró dentro del propio sistema operativo. Con el apoyo de Jochen Merz, SMSQ/E conquistó a los puritas del QL de forma lenta pero segura. Con los Atari ST, QXL, Q40, Aurora y QL todos los usuarios podían ya utilizar un nuevo sistema operativo común, y el único que se mantenía en desarrollo activo (aparte de Minerva), así se puso de manifiesto que éste fuese el sistema operativo de futuro para la plataforma QL. Un genio alemán en el desarrollo de software QL, Marcel Kilgus, portó SMSQ/E para ser ejecutado en el hardware del PC -el emulador que nosotros ahora conocemos como QPC- lo que demuestra que el sistema operativo del QL podría ser portado a otros ordenadores sin implicar añadidos hardware. Más recientemente, SMSQ/E ha incorporado el llamado GD2 (Graphic Driver 2) que soporta 8 y 16 bits de color en diversas plataformas.

SMSQ/E

SMSQ/E (con PE en acción)

Al igual que el anterior SMSQ, SMSQ/E se presenta como un sistema operativo basado en disco. Si bien esto significa que se necesita un poco más de tiempo para ponerlo en marcha que un sistema basado en ROM, y en algunas plataformas el sistema (SMSQ/E) tiene que ser iniciado por otro sistema operativo. Por otro lado, esto lo hace más fácil de sustituir y actualizar -se ha actualizado varias veces en su historia-.

STELLA

Esta es una propuesta de Tony Tebby para un futuro sistema operativo vinculado a SMSQ/E. En la actualidad, aún no se puede adquirir realmente Stella. Aunque se sabe que están en circulación y en búsqueda de financiación varias propuestas de nuevas máquinas que usen Stella. Un usuario francés del QL, Arnould Nazarian, quien es muy cercano a Tony Tebby, es un proponente muy activo de Stella y ha escrito muchos artículos sobre este sistema operativo en revistas QL y en listas de correo.

LINUX

Los usuarios de los ordenadores Q40 y Q60 tienen un sistema operativo alternativo, llamado Linux 68K. Ésta se suministra en un CD y convierte a un Q40/Q60 en una pequeña plataforma Linux muy adecuada.


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

Traducción: Afx
abril de 2009

Anuncios

¿Alguna vez soñaste con tener varios programas SuperBASIC ejecutándose a la vez como si fuesen programas compilados en multitarea? Pues con la ROM Minerva, que sustituye a tu ROM original de QL, es posible. Con ella se entrega un manual y un disco de utilidades que incluye los ficheros multib_asm y multib_obj, que permiten hacer esto.

Cuando ejecutamos (EXEC) multib_obj, se abre una nueva ventana en la que se unen los canales 0 y 1. ¡Cada instancia tiene sus propios canales 0, 1… por separado!

minerva_multibasic

Seis intérpretes SuperBASIC funcionando a la vez

Actualización 11-04-2009: Según se indica en el documento updates_doc que se incluye en el disco de utilidades Minerva, las últimas versiones de la ROM no necesitan cargar el fichero externo, pues MultiBASIC viene integrado. Es suficiente con ejecutar

EXEC PIPEP

para disponer de nuevas instancias SuperBASIC.

Los programas se cargan y corren de la misma forma, y funcionan todos los comandos del SuperBASIC, pues MultiBASIC lo que hace es lanzar nuevas instancias del intérprete SuperBASIC. Para cambiar entre los distintos intérpretes que lanzemos sólo tenemos que usar CTRL-C como siempre que trabajamos en multitarea.

Si ejecutamos el comando JOBS (TK2) vemos que nos lista una nueva tarea llamada SB.n con prioridad 8. Dentro de cada nueva instancia del intérprete SuperBASIC podemos lanzar nuevas instancias como se ve en la imagen. El límite está en la memoria disponible.

Si queremos disponer de canal 2 para listados deberemos abrirlo desde su instancia correspondiente. Podemos dejar el tamaño de los canales de este nuevo intérprete a las medidas a las que estamos acostumbrados mediante el siguiente programa (requiere TK2):

100 OPEN #0;con: OPEN #1;con: OPEN #2;con
110 WMON

Muchas veces, por la proliferación de ventanas que se crean en la pantalla, no sabremos en que instancia del SuperBASIC nos encontramos. Siempre podemos recurrir al comando JOBS o a la siguiente instrucción para saber cual es el ID del job que estamos utilizando:

PRINT VER$(-1)

Una instacia en MultiBASIC puede borrarse a si misma si encuentra un error. En el manual indican que esta es la forma adecuada de borrar una instacia. Proponen por ejemplo usar CLOSE #0 para salir.

Estas características de MultiBASIC posteriormente fueron implenentadas y mejoradas en el interprete de comandos del sistema operativo SMSQ llamado SBASIC, pero aunque lo que hace MultiBASIC es una cualidad del QDOS, si ejecutamos el programa multib_obj en un sistema con otra versión de ROM, este no funcionará. Asi que si vas a usar un emulador para probarlo no te olvides de cargar la ROM Minerva.

Enlaces para descarga:

downloadiconROM Minerva
Manual de la ROM Minerva
Disco de utilidades de la ROM Minerva