archivo

Archivos Mensuales: noviembre 2009

El término “Brain Training” se ha popularizado en los últimos años, debido fundamentalmente a una gran campaña de marketing de la empresa Nintendo con su juego Brain Training del Dr. Kawashima. Como todos sabéis, se tratan de una serie de juegos de lógica y puzzles, donde se les han añadido exámenes o puntuaciones para determinar una especie de “edad cerebral” del jugador. Los juegos engloban ejercicios de cálculo, memoria y retención de datos, rapidez lectora, incluyendo los populares sudokus o los juegos de estrategia de toda la vida.

Esto, que se ha vendido como una gran novedad, en realidad ya existía desde los primeros microordenadores. Tal vez lo novedoso ha sido empaquetarlos en “suites” de varios programas, dotarlos de datos comparativos para determinar una especie de indicador sobre la “edad mental” del jugador y articular una gran campaña mediática para ponerlo a la venta en todos los países occidentales.

En el QL no podían faltar este tipo de juegos, y aunque no dispongamos de tablas de puntuaciones para correlacionarlas con lo que hemos llamado “edad mental”, si que tenemos en nuestra plataforma una gran variedad de ellos.

A los entusiastas del QL ¡no nos haría falta comprarnos una Nintendo DS! para “entrenar” nuestro cerebro, eso podría ser incluso una excusa para desempolvar nuestro viejo QL y empezar a practicar el “Brain Training”.

A continuación pongo una pequeña selección de los que podríamos llamar una suite de juegos para “Brain Training” en el Sinclair QL.

A. Memo
Memo, es un programa para ejercitar la memoria. Consiste en ir descubriendo y emparejando cargas, si son iguales permanecerán boca arriba, si no lo son entonces debernos memorizar su posición y buscar su pareja. El programa está escrito por W.Lenerz y es freeware, requiere PE. Es muy adictivo.

Memo

B. Mines (buscaminas)
El clásico juego “Buscaminas”, desarrolla la rapidez mental y deducción. También funciona bajo PE y es freeware. Su autor es Frank-Guido Dibowski.

Mines

C. Osusq (sudoku)
El clásico sudoku para QL, muy popular en los juegos tipo “Brain Training”. Es un propgrama SuperBASIC escrito por el que suscribe este post con la colaboración de Badaman y Radastan. Por motivos obvios le tengo especial cariño a este programa. Mediante él podemos desarrollar la rapidez de cálculo, deducción y concentración. El programa también es freeware (¡¡e incluso opensource 🙂 !! ).

Osusq

D. Quzzle (puzle)
Un puzzle de números, se trata de recolocar sobre el tablero los números en secuencia. Es un juego de habilidad espacial. Funciona bajo PE, es freeware y su autor es R.J Weeks.

Quzzle

E. QLTris (tetris)
Otro clásico, está vez en su versión para QDOS. Funciona bajo PE y fue escrito por Wolfgang Lenerz. Fortalece las habilidades espaciales y la coordinación óculo-manual.

QLTris

F. Psion Chess (ajedrez)
Éste es el clásico de entre los clásicos. Tal vez el juego más emblemático del Sinclair QL. Desarrollado, como todos sabéis, por la casa Psion. Se portó a diversas plataformas (PC, Atari, …) y fue muy popular durante los 80. El ajedrez es el juego de estrategia por excelencia.

Psion Chess

Anuncios

toolkit_imgSeguramente todos hemos escuchado alguna vez el término de “toolkit”, pero ¿qué significa este término realmente?

Supuestamente, se trata de un tipo de herramientas de programación que nos ayuda en determinadas tareas. En algunos ordenadores estos toolkits pueden ser herramientas software diseñadas para llevar a cabo tareas específicas, como una serie de rutinas listas para usar y que simplifican al programador la escritura de software complejo.

En el QL, la interpretación de este término estuvo influenciado desde el día en el que Sinclair y Tony Tebby liberaron las versiones del Toolkit 1 y Toolkit 2.

El Toolkit 1 fue un predecesor del Toolkit 2. Fue vendido en cartuchos Microdrive por la división software de Sinclair Research. Un poco más tarde, Tony Tebby liberó las primeras versiones del Toolkit 2 que nosotros conocemos y apreciamos hoy en día.

Las primeras ediciones del Toolkit 2 eran suministradas generalmente en EPROM’s de 16K que se conectaban el conector de la expansión ROM de la parte trasera del QL. Había también una versión en cartucho microdrive, en el cual tú podías seleccionar las partes del Toolkit que necesitabas, lo que era muy útil para QL’s sin expansión donde la memoria era muy limitada. Aparecieron también versiones recortadas que se suministraban con las interfaces de disco – los comandos eran los mismos que el Toolkit 2 completo, pero no todos los comandos estaban disponibles, sólo aquellos que correspondían a la interfaz de disco.

El Toolkit 2 nos da un conjunto de nuevos comandos en SuperBASIC y suministra muchas facilidades así como la mejora de otras características disponibles en el QL estándar. Entre ellas está el manejo de la red local, los directorios por defecto y el la utilización de comodines para la gestión de ficheros, así como otras muchas.

Todo esto era percibido por los usuarios con el término de “toolkit” – para la mayoría de nosotros era una EPROM o un paquete de software que nos daba comandos extra en SuperBASIC.

Con el paso del tiempo, prácticamente la mayoría de los sistemas se suministraban con el Toolkit 2 preinstalado. Entre los ejemplos más destacados tenemos las interfaces de Miracle System (Trump Card y Gold Card por ejemplo) las cuales tenían una implementación completa del Toolkit 2 en placa. Aquellos que usan SMSQ/E en sus sistemas de forma estándar, todas las facilidades del Toolkit 2 están incluidas en el SBASIC.

Tony Tebby permite actualmente una distribución limitada del Toolkit 2 para quienes lo necesiten, por ejemplo, en el uso de emuladores QL.

Lo que pretendo hacer con esta serie de artículos es examinar algunos toolkits disponibles que suministran extensiones al SuperBASIC o al SMSQ/E. Hay muchos de ellos por ahí que son gratuitos y se pueden obtener de las librerías de dominio público y de varios sitios Web.

Aunque yo nunca he visto el libro, me han dicho que la mayoría de las extensiones en forma de toolkits para el QL se enumeran en el manual de referencia SuperBASIC de Rich Mellor – véase el detalle en los anuncios de publicidad de RWAP, aunque te advirtió que cuesta 20,00 libras.

INSTALACIÓN DE TOOLKIT’s

La mayoría de los toolkits son suministrados en discos. Generalmente se suelen instalar en el área de procedimientos residentes con las sentencias RESPR, LBYTES, y CALL.

El comando RESPR reserva una cantidad de espacio en memoria (a especificar) en el área de procedimientos residentes. Este espacio es generalmente del mismo tamaño que el tamaño del fichero que contiene el toolkit en el disco. La mayoría de los toolkits vienen en un sólo fichero que contiene todas las extensiones. El nombre del fichero generalmente tiene una extensión o sufijo de 3 o 4 caracteres como uno de estos ejemplos (aunque algunos no tienen extensión o tienen otra extensión menos común):

_BIN, _CDE, _REXT, _RXT, _EXT

BIN es una abreviatura de binario, CDE es de código (code), REXT es de “Runtime Extensions” y EXT de extensión. Mientras que el requisito de memoria es al menos el mismo que la longitud del fichero, puedes averiguar el espacio a reservar con la función FLEN que te devuelve el tamaño del archivo. Supón que tienes un toolkit llamado FLP1_TOOLKIT_EXT, el comando PRINT FLEN(“FLP1_TOOLKIT_EXT”) te dirá cuanta memoria necesitas reservar.

El fichero que contiene el toolkit debe ser cargado en esa área de memora con el comando LBYTES, a continuación debemos usar el comando CALL para hacer que el ordenador ejecute una pequeña pieza de código en el toolkit que lo vincula al sistema y le dice al QL el nombre de los nuevos comandos y funciones contenidos en él. Aquí hay un ejemplo. Nosotros asumimos que el tamaño del fichero TOOLKIT_EXT es de 1234 bytes:

100 base = RESPR(1234)
110 LBYTES FLP1_TOOLKIT_EXT,base
120 CALL base

La mayoría de los toolkits son inicializados mediante una llamada a la dirección base del bloque de código que se utilizó cuando éste fue cargado en la memoria. Algunos de ellos tienen ciertas necesidades específicas y requerimientos bastante diferentes, los cuales suelen estar documentados en sus instrucciones. También hay toolkits que tienen requerimientos diferentes cuando se intentan enlazar dentro de un programa compilado en Basic, pero esto es un tema aparte.

Las tres líneas del ejemplo anterior son incluidas generalmente en un fichero de arranque de algún tipo. La mayoría de los toolkits vienen son sus propios programas de arranque, y mirando su código generalmente podemos averiguar cómo añadir ese código de inicialización a nuestros propios programas de arranque con sólo rastrear las líneas con los comandos RESPR/LBYTES/CALL. Muchos programas de gran tamaño suelen cargar también pantallas de presentación durante el proceso de arranque. Debes también tener cuidado porque muchos programas suelen incluir secuencias de inicio propias y algo enrevesadas, por eso a veces es difícil extraer el mínimo de información que tú necesitas.

Si tu sistema dispone del comando LRESPR, puedes reemplazar las tres líneas anteriores con una sola llamada, por ejemplo:

100 LRESPR FLP1_TOOLKIT_EXT

El comando LRESPR automáticamente reserva la memoria que coincide con la longitud de archivo, carga el fichero y hacen un CALL a para enlazar el toolkit en el Basic.

EL ORDEN EN UN PROGRAMA DE INICIO

No hay una regla fija para establecer un orden correcto en la secuencia de arranque en los programas de inicio, pero a medida que tienes más experiencia esto suele ser cada vez más fácil. En general, el código del QL no es muy quisquilloso en cuanto al orden en el que debe ser cargado las distintas extensiones y toolkits, pero hay algunas reglas simples que te pueden ayudar:

Si tu sistema tiene una copia del Toolkit 2, que exige un comando para ser inicializado, éste debería ser cargado al inicio del programa de arranque. Por ejemplo, 100 TK2_EXT es un ejemplo de un comando necesario, en algunas expansiones de disco que vienen con el Toolkit 2 integrado, para hacer visible el toolkit desde el SuperBASIC.

Si tu sistema tiene algunos aceleradores de pantalla como el Speedscreen o el Lightning, generalmente es mejor cargar estas extensiones primero en el arranque de tu sistema, antes que otras extensiones y toolkits.

Si tu sistema usa el entorno de ventanas (pointer environment o PE), que es proporcionado con los archivos llamados PTR_GEN, WMAN y HOT_REXT, éstos deben ser instalados generalmente antes que otros toolkits.

PE (Pointer Environment) integra una facilidad llamada HOTKEY, que está generalmente configurada por un comando como HOT_GO. Los toolkit se cargan generalmente antes de este comando. Asimismo, los toolkits deberían ser cargados antes que cualquier otro programa ejecutable. Esto es debido a que no se puede asignar memoria del área de procedimientos residentes (RESPR) mientras se esté ejecutando cualquier otra tarea, en estos casos recibirás un mensaje parecido a “Not Complete”.

Así que tu programa de inicio probablemente tendrá una secuencia de carga en el siguiente orden:

– TK2_EXT en caso de ser necesario para hacer disponible el Toolkit 2 .
– Instalar cualquier software de aceleración de pantalla.
– Instalar PE (pointer environment) si lo usas.
– Instalar calquier Toolkit .
– Definir las teclas rápidas, etc
– Enviar un comando HOT_GO para despertar las teclas de acceso rápido en caso de que las utilices.

Estas son sólo unas directrices sencillas si bien pueden variar de programa a programa.


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

mark1
El primer ordenador programable del mundo se ideó en la Universidad de Manchester

Acabada la segunda guerra mundial, la Universidad de Manchester nombro a dos nuevos profesores. Max Newman fue nombrado profesor de matemáticas después del trabajo de descifrar códigos que realizó en Bletchley Park con el Colossus, el primer ordenador electromecánico del mundo, y el ingeniero de radares, F. C, Williams, obtuvo el puesto de ingeniería eléctrica. Williams se llevó consigo a un joven ayudante, Tom Kilburn, que se había familiarizado con los problemas de dispositivos de impulsos con memoria electrónica mientras trabajaba con los radares durante la guerra. Posteriormente, Kilburn se convertiría en el primer profesor de la recién creada cátedra de estudios informáticos de esa Universidad.

Durante un viaje realizado en 1946 a Estados Unidos de visita a las instalaciones de radares, Williams había visto el prototipo del ordenador de válvulas, ENIAC y, de regreso a Gran Bretaña, consiguió que la Royal Society invirtiera 35000 libras esterlinas en un “laboratorio de máquinas de calcular” en la Universidad de Manchester. Éste no era el único centro docente empeñado en construir un ordenador de programas almacenados. La Universidad de Pennsylvania estaba construyendo el EDVAC, en la Universidad de Cambridge se estaba trabajando en el EDSAC y en el National Physical Laboratory se seguía trabajando en la elaboración del ACE. No obstante, en todos los proyectos se estaba utilizando un almacenamiento de memoria construido a partir de tubos en línea de demora de mercurio. El equipo de Manchester iba a hacer su máquina con un dispositivo de memoria, invención del propio Williams, que utilizaba un tubo de rayos catódicos. Para el otoño de 1947, Williams había conseguido retener 2048 bits durante varias horas.

Gracias al “tubo Williams”, en junio de 1948 el ordenador Manchester Mark I ejecutó con éxito un programa, convirtiéndose en el primer ordenador del mundo con programa almacenado. El ordenador Mark I podía ejecutar una instrucción en 1,2 milésimas de segundo. Un tubo de rayos catódicos permitía almacenar la información, la memoria tenía la ventaja de ser de acceso directo y se podía representar visualmente el contenido del almacenamiento principal o del registro de control.

Una vez demostrada la viabilidad del uso de un “tubo Williams” para el almacenamiento de memoria, se construyó una versión mejorada del Mark I, que se aplicó en problemas del diseño de óptica y en la generación de números primos. El consejero científico del Estado, sir Ben Lockspeiser, quedó tan impresionado con el rendimiento del ordenador, que encargó la construcción de una versión comercial del Mark I a una empresa local de Manchester. El Ferranti Mark I salió al mercado en febrero de 1951, anticipándose en cinco meses al UNIVAC; fue, pues, el primer ordenador disponible comercialmente.

Una importante innovación del Ferranti Mark I era su capacidad para modificar las instrucciones durante el proceso en virtud de otro almacenamiento denominado tubo “B”. En el momento requerido, éste podía agregar su contenido al registro de control y, por consiguiente, modificar el código de la instrucción original. Este principio aceleraba la ejecución de los programas. En sus primeros ordenadores la IBM utilizó algunas de las patentes del Manchester, y en una visita a la oficina central de la sociedad, en Nueva York, blasonada por doquier con el lema THINK (PIENSA) de la empresa, se le preguntó a Williams cómo fue que el equipo de Manchester había logrado construir un ordenador cuando todos los esfuerzos de la IBM habían fracasado. Williams respondió sin titubear: “¡Es que nosotros no nos paramos a pensarlo tanto!”

La llegado de Alan Turing a Manchester, en 1948, fue un gran estímulo para las actividades de programación. En 1950, Turing sacó a la luz el primer manual de programación de Manchester. Dos años después, al equipo de Manchester ya le rondaba la idea de construir un ordenador más compacto y económico. Sus planes se aceleraron con la invención del transistor, y en noviembre de 1953 entraba en funcionamiento en Manchester el primer ordenador de transistores del mundo.

A fines de la década de los cincuenta, Estados Unidos se estaba adelantando en cuanto a la tecnología de ordenadores, a resultas de lo cual el gobierno británico decidió invertir en un proyecto que ayudaría a que Gran Bretaña recuperara su liderazgo. En diciembre de 1962 se encargó el ordenador Atlas, que se construyó bajo la dirección de Tom Kilburn. Empleaba una palabra de 48 bits con formato de dirección sencillo, un almacenamiento principal de 16 Kbytes y una memoria en tambor de lectura solamente de ocho Kbytes. Se vendieron unidades al Atomic Energy Research Establishment, en Harwell, y a la British Petroleum.

(Fuente: Enciclopedia Mi Computer, fascículo 23. Editorial Delta, 1984.)

Ya habíamos comentado por aquí lo que dio de si la última Tenerife Lan Party 2009 (TLP-2009) y su “recién estrenada” zona retro dentro de la Party. Pues bien, los contactos establecidos por varios aficionados en la TLP han dado ya sus primeros frutos, concretamente en la Retro Party del pasado 7 de noviembre en la localidad de Güímar en Tenerife.

Allí nos dimos cita media docena de entusiastas de la retroinformática en el local cedido por la unión de radioaficionados de la mencionada localidad. ¡Sorprendente! el nivel de los asistentes en todos los sentidos, gente agradable de la que se puede aprender muchísimo. Por allí estaba Almighty God donde la escena C64 tiene un representante (y de calidad), Boriel y su super-compilador cruzado ZX Basic, Konamito representando a la escena MSX (todo sobre el MSX), Fermín una enciclopedia andante en cuanto a Consolas, BJ y Valerio con el Amiga y su “tonelada” de juegos.

Bajo mi punto de vista, el diálogo entre nosotros fue lo más positivo. Esta primera toma de contacto sirvió para poner sobre la mesa las inquietudes individuales de cada uno y hablamos de cosas como la organización de reuniones periódicas (tal vez 3 o 4 al año) con el fin de compartir experiencias, reparar hardware, profundizar en diversas plataformas, divulgar la afición a la retroinformática, …. En definitiva, organizarnos para pasar buenos ratos disfrutando de esta afición.

Podría escribir más, pero una imagen (o varias) vale más que mil palabras, así que les pongo algunas incluyendo algunos comentarios.

Para empezar, ya que estamos en QBlog, aqui está un QL ejecutando un emulador de Spectrum (con el juego Aticatac). Vimos cosillas que algunos de los asistentes nunca habían visto en la realidad (un QL expandido con GoldCard + RomDisQ, el sistema operativo QDOS, el SuperBASIC, el entorno de ventanas PE y ¡cartuchos microdrive! 🙂 … ).

rptQL

QL emulando a un Spectrum

Vemos ahora el Spectrum 48K con la DivIde de Boriel (¡el gomas no podía faltar!). El programa que se está ejecutando es un antiguo juego BASIC, 4 en raya, pero ¡compilado con el ZX-Basic de Boriel! La velocidad de ejecución es espectacular con respecto al interpretado. Ya está Boriel dándole vueltas al coco para hacer un compilador de BASIC multiplataforma (MSX, Amstrad, …).

rptSpec

Spectrum con DivIde

Almighty God nos enseñó su C64 ampliado hasta los topes. ¡Nunca había visto tan cantidad de posibles expansiones de este ordenador! (1541-Ultimate, expansión IDE con CF, expansión con adaptador de red, reproductor mp3, …) Espectaculares también las intros (sonido y gráficos sorprendentes). Almighty God nos enseñó algunos de sus proyectos en la escena del C64.

rptC64

C64 ampliado con controladora IDE (CF)

Konamito nos puso al día del “estado del arte” en lo referente al MSX. Impresionanate la calidad de los nuevos desarrollos en esta plataforma. Nos estuvo hablando de la escena en España, de su Web y nos mostró algunos de los juegos recientes.

P1010593

Emulando a MSX

Por último, BJ y Valerio con el incombustible Amiga y sus inconfundibles juegos. Por la tarde hubieron divertidas partidas que muchos nos perdimos.

rptAmiga

Jugando con el Amiga

En definitiva, un modesto inicio pero en el que tenemos muchas esperanzas en el futuro. Ya nos hemos emplazado para dentro de 2 meses.

Esta expresión tan nuestra viene a colación porque son muchos los ejemplos en los que los usuarios de QL dejan, en sus trabajos informáticos futuros, un rastro inconfundible; el de su vieja máquina.

En el caso del software Agena, un lenguaje de programación, es aún más evidente, pues en el changelog se menciona específicamente la influencia del Sinclair QL en la inclusión de nuevas características.

Ver Agena 0.28.0 – Changelog

Agena 0.28.0 – Changelog