archivo

Archivos Mensuales: febrero 2010

Hace tiempo, envié a Rich Mellor de Rwap Software un boceto de un template codificado en CSS. El diseño no estaba terminado, y ahora Rich se ha puesto manos a la obra para concluirlo y usarlo en su QL Wiki.

Aunque el diseño está aún un poco verde, y aunque suene a inmodestia, creo que este es mejor que el que había antes. Aquí tenéis una captura obtenida a través de la caché de Google:

El nuevo diseño (el primero, arriba) tiene un aspecto más limpio y profesional y está inspirado en el entorno PE (Pointer Environment). Aquellos que no conozcan las novedades en el QL y accedan al wiki, recibirán el impacto de un entorno de ventanas que desconocían pero que es verdaderamente atractivo y práctico, y podrán apreciar, subliminalmente, que el QL hoy ya no es sólo una línea de comandos multitarea.

Sinclair QL Computer Wiki

¿A ti que te ha parecido el cambio de look?

Anuncios

QUANTA ha hecho un llamamiento a todos los usuarios QL de cara a completar su encuesta 2010 vía un formulario Web.

El enlace está en:
http://quanta.nikad.net//index.php?sid=88977&lang=en

Sólo se tarda un par de minutos en completar toda la encuesta (no se requieren datos personales). Se hacen preguntas en torno a qué hardware tenemos, que tipo de software QL usamos, qué desarrollos nuevos nos gustaría ver en el mundo QL, etc.

La intención de QUANTA con esta iniciativa es “dibujar” mejor el perfil del usuario o aficionado al Sinclair QL de la actualidad, y así dar un mejor apoyo a la comunidad QL en su conjunto. Seguro que serán interesantes los resultados cuando los publiquen.

Pues, eso, QBlog acaba de cumplir su primer cumpleaños. El 14 de febrero de 2009 Badaman publicaba el primer post “¡Hola, Mundo!” donde daba la bienvenida y animaba a los entusiastas del Sinclair QL a registrarse y publicar sus propios contenidos.

¡Un añito!, ya somos como un bebé que ha empezado a gatear :-). La verdad es que no nos podemos quejar, se han publicado 126 post y 256 comentarios; y (al menos para mí) el contenido es interesante y entretenido. No está nada mal para un colectivo tan reducido como el de los aficionados al QL. Aunque la temática está abierta a cualquier tema relacionado con la informática y en especial con la retroinformática, ya sabéis que el contenido principal gira en torno al Sinclair QL y su sistema QDOS. En este sentido cualquier aportación será bienvenida, tanto en forma de publicación de entradas en el Blog, como con la participación en los comentarios. Y si no, con la simple visita y lectura de algunos post ya estáis colaborando con nosotros.

Gracias a todos los que nos leéis y felicidades a todos los colaboradores. Ánimo, nos quedan muchas cosas por descubrir y comentar.

Ya hablamos en una entrega anterior del significado del término Toolkit en el mundo QL y QDOS. En dicho post mencionamos cómo cargarlos y cómo hacer uso de ellos. En esta segunda parte nos centraremos en mencionar brevemente algunos de los Toolkits disponibles para sistemas QDOS.

A continuación detallamos los más importantes y haremos una breve descripción de cada uno de ellos.

1.- TURBO TOOLKIT

Probablemente los dos Toolkits más conocidos son Turbo Toolkit y el DIY Toolkit. El Turbo Toolkit es por supuesto parte del compilador Turbo, pero puede ser usado sin Turbo si lo deseas. Desde que Digital Precision paró el desarrollo de Turbo, George Gwilt continuó trabajando en el compilador y gente como David Gilham ha puesto también un montón de mejoras para adaptarlo a las necesidades de los sistemas QL modernos.

Muchas de las extensiones de Turbo Toolkit son específicas del compilador Turbo, por ejemplo las extensiones que acceden a las estructuras de datos básicas de las directivas del compilador; mientras que otras son más generales, como funciones que te dicen el punto de comienzo de variables en memoria, comandos para buscar en memoria determinados datos y mover bloques de memoria a través de ella.

2.- DIY TOOLKIT

DIY Toolkit son un conjunto de pequeños Toolkits, muchos de ellos en forma un una extensión cada uno. Originalmente fue una serie de artículos en la revista QL World. Simon Goodwin reunión sus artículos y ficheros en una colección de Toolkits y los etiquetó a cada uno con una letra, hasta que utilizó ¡todas las letras del alfabeto!

Las extensiones disponibles son muy diversas e imposibles de resumir brevemente. Puedes por ejemplo, tener un comando Input mejorado, implementado como una función llamada EDLINE$. También extensiones para hacer una búsqueda rápida en memoria, o funciones para extender los puertos de red del QL. Otros ejemplos son los manejadores de “traps” para facilitar las llamadas al sistema operativo. En total hay alrededor de 24 volúmenes que abarcan tres discos flexibles con extensiones para casi cualquier cosa que se pueda hacer vía extensiones. Estos volúmenes vienen también con una amplia documentación y el código fuente de muchas de las extensiones, de tal manera que podemos estudiarlo y aprender cómo el autor abordó la programación.

El DIY es “Cardware”, puedes hacer uso libre de estas extensiones pero el autor pide que le envíes una postal si usas el DIY Toolkit.

Este conjunto de discos con las extensiones son extremadamente útiles, pero si no tienes los artículos originales de la revista puede ser bastante pesado ir por los distintos ficheros doc de los discos para familiarizarse con ellos. Para el programador, es genial, puedes elegir las extensiones que necesites e incluirlas en tu programa.

3.- DJ TOOLKIT

DJ toolkit es un pequeña extensión sorprendentemente útil escrita por Norman Dunbar. Las siglas “DJ” aparentemente vienen de “Dilwyn Jones”, quien elaboró las especificaciones y las usó para algunos de sus programas. Parece ser un tipo de extensión que un programador crea para su uso, pero que puede ser muy útil para escribir cualquier programa en SuperBasic para nuestro propio uso. Incluye comandos para mover bloques de memoria, hacer búsquedas en la memoria, llenar zonas de memoria con un valor específico, funciones para tratar ficheros, funciones para el manejo de cabeceras de fichero, manipulación de variables del sistema, extensiones para manipular fuentes, detección de QPTR, etc. Cuanto más uso este Toolkit más me gusta. No reemplaza al Toolkit 2 y no trata de hacerlo, pero es extremadamente útil. También viene con algunos listados de demostración para ilustrar cómo usar estas extensiones.

4.- EXISTS

Esta es una extensión muy simple escrita por Phil Borman. Tiene un único propósito, la comprobación si existe en tu ordenador una determinada extensión. Retorna un 1 si la tiene y un 0 si no la tiene. A simple vista, parece que no es una extensión muy significativa hasta que realmente la necesitas, por ejemplo para comprobar determinadas extensiones en sistemas moderno.

Por ejemplo, si deseas comprobar que un sistema dispone drivers de color, una forma de hacerlo es ver si está presente la extensión “DISP_COLOR” de la siguiente manera:

IF EXISTS('DISP_COLOUR') = 1 THEN
  REMark el driver de color GD2 está presente
ELSE
  INK #0,7 : PAPER #0,0 : CLS #0 : REMark mode 4 colours
END IF

5.- PDTK

Un pequeño Toolkit de Mark Swift. Suministra un conjunto de extensiones en la línea de las que encontramos en el Toolkit 2. Originalmente fueron escritas para ser incluidas con el emulador de Amiga, pero pueden ser usadas en la mayoría de los sistemas. Ocupa solamente unos 4 kilobytes y el autor ofrece el código fuente en ensamblador para aquellos que quieran estudiarlo. Las instrucciones son breves pero muy completas aunque con pocos ejemplos. Este Toolkit es especialmente útil con los emuladores que no incluyen el Toolkit 2.

6.- HYPERBOLIC FUNCTIONS

Este es un pequeño Toolkit con un conjunto de funciones matemáticas. Se suministran las siguientes funciones SINH, COSH, TANH, COTH, ARSINH, ARCOSH, ARTANH and ARCOTH. No se ofrecen instrucciones sino los ficheros de código fuente en alamán. Podría ser útil para aquellos que quieran utilizar estas funciones matemáticas.

7.- PEX

El objetivo básico de este pequeño Toolkit es permitir que los programas puedan escribir en ventanas de segundo plano. Parece que necesita una ROM Minerva en el QL, o versiones antiguas de SMSQ/E.

8.- TINY TOOLKIT

Es un Toolkit de pequeño tamaño pero muy extenso. Contiene alrededor de 70 extensiones en a penas 9K. Tiene instrucciones en inglés y alemán. Fue escrito por Matthias Leidig hace muchos años y actualizado por Rich Mellor recientemente. Contiene un conjunto muy diverso de extensiones, algunas extremadamente útiles, otras no tanto o de uso menos frecuente.

9.- QVIEW TOOLKIT

Este es un Toolkit escrito por desarrolladores de QView, quienes originalmente desarrollaron la ROM Minerva. El Toolkit, aparentemente fue desarrollado para su uso en un sistema BBS (bulletin board system) de cara a evitar la dependencia de otros kits de herramientas comerciales de la época. Tiene solamente 1K de tamaño pero sus extensiones son muy útiles. Una característica muy positiva es que todas sus extensiones comienzan con TT, con lo cual es poco frecuente que entre en conflicto con otras extensiones. Incluyen funciones de manejo de memoria, funciones para abrir y borrar ficheros, buscar string en memoria, extensiones para facilitar las llamadas al QDOS y cosas así. Un pequeño Toolkit muy bueno, aunque la mayoría de las extensiones están disponibles en otros Toolkit más modernos.

10.- DISPLAY CODE

Este Toolkit apareció en QL Today hace algunos años. Está dirigido a aquellos desarrolladores que quieran hacer uso de sistemas QL modernos, pero de manera que sus desarrollos sigan funcionando en sistemas antiguos siempre que fuera posible. Incluye extensiones para comprobar el tamaño de la pantalla, modo de resolución, si está presente PE, número de versión de QDOS, si los drivers GD2 de color están presentes o no, si gestor de ventanas Window Manager 2 está presente o no, y cosas así. La mayor parte de esto se puede hacer desde SMSQ/E, pero utilizarlo así provocará que nuestro programa sólo funciones en sistemas SMSQ/E. Con un poco de cuidado, puedes usar este pequeño Toolkit en QDOS o SMSQ/E y asegurar que tus programas funcionen bien en los dos sistemas operativos.

CONCLUSION
A medida que usas estas herramientas, encontrarás que hay un cierto grado de solapamiento en la mayoría de ellas, con lo cual deberás elegir el mejor que se adapte a tus necesidades. Por otro lado, el Toolkit 2 original es el más ampliamente aceptado y el que todo el mundo debería tener. La mayoría de los sistemas QL modernos lo incorporan de una manera u otra, en caso contario puedes obtener una copia del los sitios Web que hemos comentado (por ejemplo, en el sitio web Dilwyn Jones).

Prácticamente todos estos Toolkits se pueden obtener de las bibliotecas de software de dominio público, o las Webs más conocidas sobre QDOS como son las de Thierry Godefroy y Dilwyn Jones. Este último sitio Web tiene una página dedicada a los Tookits, si deseas descargar algunos de los que he mencionado, así como muchos que no he mencionado, puedes localizarlos en:

http://www.dilwyn.me.uk/tk/index.html


Autor: David Denham
Traducción y adaptación: afx


Aunque jamás se pudieron terminar, las máquinas de este matemático inglés fueron las precursoras del ordenador moderno

“¡Por amor de Dios, desearía que estos cálculos se hubiesen efectuado a vapor!”, exclamó Carles Babbage mientras se afanaba con las tablas del Calendario Náutico. El siglo XIX había desarrollado la energía de vapor, pero la navegación marítima precisa continuaba siendo un problema. La posición de un navío se determinaba observando la luna y utilizando luego tablas matemáticas que con frecuencia eran inexactas.

Fue en 1812 cuando Babbage pensó por primera vez en construir una máquina, que él denominó ingenio diferencial, que pudiera efectuar los laboriosos cálculos que requerían las tablas náuticas. Hacia 1823 había completado un pequeño modelo y le solicitó al gobierno una subvención para construir una máquina que funcionara. El ministro de Hacienda le entregó 1500 libras y Babbage se propuso crear una máquina que eliminara los errores mediante la impresión automática de los resultados de sus propios cálculos.

Babbage se entregó en cuerpo y alma a cumplir el objetivo fijado. El proyecto consumió enormes cantidades de dinero, pues sus expectativas se hallaban drásticamente limitadas por la insuficiencia de los conocimientos de ingeniería de aquel entonces. Obtuvo el dinero necesario gracias a la ayuda del primer ministro, su amigo el duque de Wellington. A pesar de la confianza de Babbage en que “lo que hiciera la máquina, lo haría con precisión”, el gobierno decidió, finalmente, retirar su subvención al proyecto, luego de haber invertido 17000 libras en él. El ingeniero que colaboraba con Babbage, Joseph Clement, también dimitió al poco tiempo, a raíz de una controversia, y se llevó consigo todas las herramientas que se habían diseñado específicamente para el ingenio.

Babbage se abocó rápidamente a un proyecto más ambicioso, el ingenio analítico, con el que esperaba alcanzar todos los objetivos para los cuales había construido el ingenio diferencial y muchos otros más aparte de ellos. En muchos sentidos su diseño se parecía al del ordenador moderno. Contenía un almacén de memoria y un “molino” aritmético (equivalente a una CPU), proporcionaba una salida impresa e incluso era posible programarla, mediante el empleo de bifurcaciones condicionales.
Al principio las instrucciones se controlaban mediante clavos largos, como en un organillo; posteriormente se adaptó el sistema de tarjeta perforada que Joseph Jacquard había introducido en la industria textil. Babbage también experimentó con distintas bases numéricas pero, como todas sus máquinas eran mecánicas, la utilización del sistema binario no suponía ventaja alguna.

La compañera de Babbage, la condesa Ada Lovelace, matemática genial, se unió al proyecto. Ambos se hallaban abrumados por las dificultades, entre las cuales las económicas no eran las menores. Ella perdió gran parte de su patrimonio apostando en las carreras de caballos, aplicando a este juego un sistema “infalible”, según ella. Después del fallecimiento de la condesa, acaecido cuando sólo contaba 36 años, Babbage continuó en solitario su labor.

Hombre de portentosa energía, también inventó el oftalmoscopio médico para examinar el fondo del ojo, hizo una coreografía de ballet, ideó un sistema para la iluminación del escenario e inventó una técnica para la señalización marítima.

En los últimos años de su vida se volvió irascible. Rechazó el título de barón que se le ofreció en reconocimiento de su trabajo, debido a que no coincidía con sus aspiraciones.

Con su trabajo Babbage anticipó la estructura del ordenador electrónico moderno, pero fracasó en convertir en realidad su visión global. Su ingenio analítico jamás llegó a terminarse, coartada su realización en razón de las limitaciones técnicas de la ingeniería del siglo XIX.

Cronología:

– 1792. Nace en Totnes, condado de Devon (Gra Bretaña), el 26 de diciembre.
– 1810. Ingresa en el Trinity Collage, Cambridge, para estudiar matemáticas.
– 1814. Se casa con Georgina Whitemore.
– 1822. Publica el trabajo titulado “Observation on the Applications of Machinery to the computation of Mathematical Tables (Observaciones sobre las aplicaciones de maquinaria al cálculo de tablas matemáticas). Recibe la primera medalla de oro de la Astronomical Society, que él contibuyó a fundar.
– 1827. Cambridge lo designa Lucasian Professor, cátedra que anteriormente ejerciera Newton, con un sueldo de 80 libras al año, aunque no resida allí ni imparta clase alguna..
– 1833. Candidato al parlamento por Finsbury.
– 1834. Se suspende el trabajo sobre el ingenio diferencial después de la dimisión del ingeniero Joseph Clement.
– 1862. El ingenio diferencial, parcialmente completo se exhibe en South Kensington (Londres).
– 1871. Muere el 18 de octubre.

(Fuente: Enciclopedia Mi Computer. Editorial Delta, 1984.)

Hablaba hace unos días con Salvador Merino acerca de como recuperar unos archivos de su partición para QL en su vieja QXL y a raíz de esto ha tenido que montar, con piezas casi de desecho, una máquina que será la que contenga ya definitivamente su tarjeta emuladora de QL para bus ISA.

QXL2 versión mejorada de la QXL. Foto Zerover.

El ordenador era la carcasa de un viejo 80486 hasta que se averió (la batería recargable se sulfató e hizo un destrozo de pistas, etc…) y ahora contiene un procesador AMD a 90 Mhz, 16 Megas de RAM y disco duro de 1Gb.

En su aspecto externo, dos cosas destacan: una disquetera Miracle System  de 5 1/4 y una pegatina cuadrada con el anagrama «QXL IN CHARGE» que le envió Miracle Systems en su día a Salvador.

Cuenta además, curiosamente, con un lector Iomega Zip para copias de seguridad y un lector de CDs de los que se conectaban a la tarjeta de sonido, la cual hacía la veces de controladora.

El software de la QXL fue una aventura entonces, porque comercializaron el producto sin tener una versión del sistema operativo SMSQ terminada. Se repitió la historia del lanzamiento del QL aunque con consecuencias menos irreversibles. La primera versión del sistema no tenía SBASIC, y solamente tenía el driver de floppy, y ni siquiera era capaz de formatear un floppy, solamente leía y borraba muy lentamente. Entraremos en detalle más adelante.

Como sistema operativo anfitrión se han probado FreeDOS y MS-DOS 6.22 para hacer pruebas, ya que también se ha instalado una tarjeta de red Realtek RTL8139 que va a permitir conectar el ordenador con la red doméstica y poder de esta forma tener acceso a el resto de ordenadores para intercambiar ficheros e Internet con programas como Arachne, que es un navegador con mail.

La configuración de la red bajo DOS merecería por si mismo un artículo a parte.

Foto de PC/QL con la pegatina «QXL IN CHARGE» y disquetera Miracle Ssystems.

La versión del SMSQ de la QXL instalada es bastante vieja. La más nueva creo que es del año 1995.

La historia de la QXL está contada en tiempo real en las revistas CUQ y QLIPER. Y si la comercialización del QL fue prematura, la comercialización de la QXL le gana con creces, porque fue un cachondeo (palabras literales de Salvador). Haciendo un poco de memoria podemos resaltar de aquel periodo lo siguiente:

El primer disco (primera versión de SMSQ):
– Contenía un sistema operativo SMSQ sin SuperBASIC  que solamente aceptaba una linea de comandos, o leer un fichero sin números de linea, ni saltos, y sin bucles. La única opción era compilar el programa SuperBasic.
– Solamente leía/escribia discos muy lentamente (no formateaba discos), y ni tenia drivers para Qlan, serie, paralelo, etc…

Siguientes discos (nuevas versiones de SMSQ):
– Podia formatear un disco, pero antes tenia que estar formateado en formato MS-DOS, porque en realidad era una modificación del formateo. Por primera vez incorpora driver serie y paralelo.
-Permitía formatear fichero QXL.WIN, y formatear discos QL directamente.
– Soportaba SBASIC (SuperBASIC mejorado) y Qlan (la red de QL).
– Solución problemas de compatibilidad 68040 con 68000, pues en primeras versiones SMSQ todo el código era  MOTOROLA 68000, pero se empieza a usar código Motorola 68040.
– Drivers teclado Inglés, Francés y Alemán (y los españoles, hubieron de esperar a ver publicada la información en IQLR o QLTODAY para poder escribir nuestro propio driver de teclado español).

En resumen, Miracle Systems hizo el hardware, pero el software por parte de Tony Tebby fue una pesadilla por entregas, o el colmo de la improvisación.

Pero lo fantástico de esta placa es que podemos instalar una versión actualizada del sistema operativo SMSQ e incluso la nueva SMSQ/E en una imagen de disco QXL.WIN y lanzarla desde en una partición DOS y de esta forma rentabilizar el hardware por muchos años. Estas placas son sin duda los QLs más potentes hasta la aparición de las Q40 y Q60.

ACTUALIZACIÓN 2010-02-08: Por un desliz, indico en el párrafo anterior que el S.O. SMSQ o el S.O. SMSQ/E se cargan desde una imagen de disco QXL.WIN cuando en  realidad se cargan desde el MS-DOS utilizando el programa (en primeras versiones, eran 2 ficheros (QXL.EXE y SMSQ.BIN), y luego era un único fichero (SMSQ.EXE)) que activa la QXL, y pasa el sistema SMSQ desde el disco con MS-DOS a la RAM de la tarjeta QXL, como me hace indica Salvador Merino.