Tynemouth Software sigue ampliando su catálogo de placas adaptadoras para transformar teclados de máquinas retro en teclados USB. Esta vez le ha tocado el turno al Sinclair QL.

Aquí el enlace al proyecto:
http://blog.tynemouthsoftware.co.uk/2015/12/day-3-sinclair-ql-usb-keyboard.html

Con esta pequeña placa podemos transformar nuestro teclado QL en un teclado USB, ideal para montar una Raspberry Pi o una MiST dentro de la caja de un QL.

Sinclair QL USB keyboard

Sinclair QL USB keyboard

Sinclair QL, teclado USB

Sinclair QL, teclado USB

Recientemente ha salido a la luz la implementación hardware del Sinclair QL en la FPGA MiST. El core actual es capaz de emular a un QL con ampliación RAM de 512 KB, que con los 128KB del sistema original tendríamos un QL emulado con 640 KB de RAM.

Como dispositivos de almacenamiento se soportan imágenes de Microdrive y volúmenes QL-SD a modo de sistema de almacenamiento masivo de lectura/escritura.

Se pueden ver los resultados en estos videos:

(Video elaborados por Urs König en EJAGFEST 2015)

(Pruebas preliminares del propio Till Harbaum)

Enlaces relacionados:
http://www.lotharek.pl/product.php?pid=96
http://qlforum.co.uk/viewtopic.php?f=2&t=1360

La gente de RetroActivo.es dedicaron el número 8 de su podcast al Sinclair QL.

En un audio de 1:30 horas, desgranan la historia y características de nuestro ordenador y aportan información interesante acerca de cuestiones técnicas poco conocidas, como el uso de la red local de QL y sus posibilidades.

Escuchar el programa

Se aprecia el trabajo de documentación de los participantes y el buen gusto para exponer los temas. Muy recomendable para seguir conociendo algo más del fantástico ordenador Sinclair QL.

Bonus: La historia del Motorola 68000.

portadanumero3Cuando uno está cierto tiempo fuera del mundillo, y regresa, se lleva gratas sorpresas. Es mi caso.

Recientemente he conocido la existencia de la Revista Retrowiki, realizada por colaboradores directos del foro del mismo nombre.

Ojenado sus páginas me encuentro con que, en el número 3 de las publicaciones, dedican un artículo al QL.

Su lectura me resultó agradable, y solicité permiso a Ron, el autor, para su publicación en el blog. Mi idea inicial era sacar el artículo al formato de texto de blog. Más tarde pensé que el trabajo de maquetación y el aporte de fotografías merecía preservarse, así que he optado por símplemente poner un enlace para su descarga.

El artículo cuenta la realidad del QL, sus cosas buenas y malas, las peculiaridades de Clive Sinclair, y del QL.

Sobre lo que está escrito, Ron además matiza, que cuando se nombra al QL como un ordenador MultiÁrea se está refiriendo a la capacidad del QDOS de usar ventanas.

La referencia a UNIX que se hace del QL se cita en función a la siguiente explicación de Ron:

“la implementación “propia” de partes de UNIX en QDOS atiende como ya sabéis a un diseño de Tony Tebby, cuando pasó lo que pasó con GST Computer Systems. Estas implementaciones y explicado muy por encima incluyen el manejo de procesos o jobs, asignación de memoria y un sistema de redirección de I/O extensible, el manejo de filtros o pipes, todo ello proporcionando un framework para los sistemas de archivos y controladores de dispositivos, lo cual está basado en UNIX aunque no lo es.”

Dicho esto, os dejo el enlace a la revista sin más dilación.

Retrowiki: Ir al foro
Sobre la revista: Retrowiki magazine
Descarda directa de la revista: Retrowiki magazine n. 3

Clon QubIDE de Jose_leandro

Clon QubIDE de Jose_leandro

Ya es una realidad, el clon QubIDE de jose_leadro está en manos de los entusiastas del Sinclair QL.

Esta tarjeta es la expansión ideal para cualquier propietario de un Sinclair QL que quiera dar uso a este retro-ordenador. Se acabaron las incomodidades y el infierno de los Microdrive, además, ya podemos prescindir de buscar esas tarjetas de ampliación RAM y controladoras de disquetes tan caras y difíciles de conseguir en la actualidad.

El “kit” completo de jose_leadro está compuesto por tres componentes:

1) La tarjeta clon QubIDE propiamente dicha, la cual incorpora una ampliación RAM de 512 KB. Para quien no lo sepa, la QubIDE es una pequeña tarjeta controladora de discos IDE que incorpora el driver necesario para el sistema operativo, fue diseñada por la empresa Qubbesoft a mediados de los 90.

2) Una Eprom con el sistema operativo Minerva más el Toolkit II. Aunque este componente es opcional ya que la QubIDE puede funcionar perfectamente en un QL estándar, sí que es muy recomendable. Minerva es una versión depurada y mejorada del QDOS (el sistema operativo original del QL). El Toolkit II son unas extensiones que aportan nuevos comandos y facilidades al sistema operativo que nos simplificará enormemente el trabajo con el QL (un editor SuperBasic de pantalla completa, comandos para manejo de directorios, etc…).

3) Por último, un programa Windows para poder realizar el traspaso de ficheros entre el PC y la tarjeta CF o SD. Esta utilidad ha sido desarrollada por Habi, y tiene la cualidad de entenderse perfectamente con el sistema de ficheros de las unidades QubIDE y las particularidades del sistema de ficheros del QDOS (por ejemplo, las cabeceras de los ejecutables).

Por supuesto, que además de lo anterior tendremos que tener una unidad de almacenamiento IDE (disco duro o equivalente). En este apartado, lo recomendable y lo más práctico, es adquirir una de esas típicas tarjetas IDE-Compact Flash o IDE-SD. En mi caso tengo una IDE-SD y funciona a la perfección. Otra alternativa muy compacta es el DiskOnModule, un módulo de memora flash encapsulado en el propio conector IDE.

Esta propuesta de almacenamiento masivo que nos trae jose_leadro es completa, en el sentido que no necesitamos ningún componente adicional en el QL para transferir la enorme biblioteca de software que existe en internet a una unidad IDE y ser usada en nuestros QL como si de un “gran” disco duro se tratar.

Sin duda, este clon QubIDE dará nueva vida a nuestros QLs.

Este es el enlace principal del proyecto donde se encuentra una descripción completa y distintos tutoriales:

http://hardware.speccy.org/temp/qubide.html

Algunas fotos de mi clon QubIDE:

Clon QubIDE + Eprom Minerva con Toolkit II

Clon QubIDE + Eprom Minerva con Toolkit II

Tarjeta SD-IDE y DiskOnModule

Tarjeta SD-IDE y DiskOnModule

Programa editor de imágenes de Habi

Programa editor de imágenes de Habi

QubIDE en acción (WIN1_)

QubIDE en acción (WIN1_)

Me ha llegado recientemente esto:

Mi QL-SD 1

Mi QL-SD 1

Se trata de la “QL-SD”, una interfaz para tarjetas SDHC que nos permite cargar y guardar programas y datos de una forma rápida y segura sin la necesidad de interfaces de disco ni unidades Microdrive.

La interfaz se ajusta internamente dentro del QL, lo que supone que tenemos que abrir el QL, quitar los dos chips ROM originales y montar sobre uno de los zócalos ROM una pequeña tarjeta que contiene el controlador de la tarjeta SD y una ROM con una versión mejorada del sistema operativo llamada Minera. Además se deberá montar una segunda plaquita en donde se inserta la propia tarjeta SDHC. El lugar ideal para montar esta segunda tarjeta es en el espacio que deja la segunda unidad Microdrive ( mdv2_ ) la cual debemos extraer, así podríamos insertar y extraer la tarjeta SD como si de un cartucho Microdrive se tratara. Esto último no es obligado, esta segunda tarjeta pude alojarse en cualquier otro lugar interno o externo del QL. El comportamiento final de la tarjeta es como si tuviéramos un disco duro conectado a nuestro QL.

En el paquete se suministra también una tarjeta SDHC precargada con software e “imágenes” de disco duro de distinto tamaño pre-configuradas y listas para usar. La imagen de disco duro que reconocerá el QL debe estar en el directorio raíz de la tarjeta. Con el software suministrado podemos crear esas “imágenes” en el PC y transferir ficheros a ellas con Q-emuLator.

Es altamente recomendable una expansión de memoria, yo diría que imprescindible. Entre las limitaciones más importantes están: a) su incompatibilidad, en el momento actual (*), con las tarjetas de expansión (Super) Gold Card (*); y b) la imposibilidad de conectar otros dispositivos al puerto ROM externo del QL.

Esta expansión se puede conseguir en http://www.sellmyretro.com donde periódicamente están saliendo a la venta tiradas limitadas.

Aspecto del kit montado y en acción:

Mi QL-SD 2

Mi QL-SD 2

Mi QL-SD 3

Mi QL-SD 3

Me ha parecido un desarrollo fantástico, la expansión que esperábamos muchos entusiastas del Sinclair QL.

Editado:
(*) No se descarta resolver esta incompatibilidad en el futuro.

A comienzos de Abril, el grupo alemán ZX-Team tuvo su reunión anual donde se dieron cita unos 50 entusiastas del mundo Sinclair.

En lo que se refiere al QL se pudieron ver cosas muy interesantes, como el nuevo desarrollo Q68 de Peter Graf, y la QL-SD en acción una vez más.

Urs König ha puesto en la red material gráfico muy interesante.

Aquí una muestra:

Q68 -1- (Imagen cortesía de Urs König)

Q68 -1- (Imagen cortesía de Urs König)

Q68 -2- (Imagen cortesía de Urs König)

Q68 -2- (Imagen cortesía de Urs König)

QL-SD en producción (Imagen cortesía de Urs König)

QL-SD en producción (Imagen cortesía de Urs König)

He probado “suerte” a ver si es cierto que efectivamente pueden ser recuperables viejos cartuchos Microdrive que tenía almacenados y catalogados como “inservibles”. Para ello he comprado en Sandy Electronics algunas almohadillas para intentar revivir algunos de mis cartuchos Microdrive.

El experimento ha salido relativamente bien. De tres intentos: rompí el primer cartucho Microdrive, pero puede recuperar los otros dos, ¡no está mal, recuperados dos de tres!

Lo que si tuve que hacer es reintentar el formateo del cartucho varias veces, el primer intento siempre me dio errores, tal vez debido al tiempo que llevaban esos cartuchos y la propia unidad Microdrive sin uso. Después de al menos dos intentos, el formateo del cartucho Microdrive funcionó y los cartuchos volvieron a la vida. He realizado varias pruebas de copiar, salvar y leer pequeños programas y todo ha funcionado correctamente.

Estos son los pasos que recomienda Sandy Electronics como guía, son pasos muy sencillos y no tienen ninguna complicación:

1. Levante con cuidado la cinta por encima de la almohadilla Microdrive unos 5-7 mm, no más. Utilice la tapa de plástico de un bolígrafo Bic o similar con un perfil redondeado para que no se dañe la cinta.

2- Utilice un cuchillo o una cuchilla afilada para eliminar los viejos restos de la almahadilla anterior. Asegúrese de que no quedan restos pero tampoco se preocupe si queda un poco de pegamento viejo, no es preocupante.

3. Usando las pinzas, levante suavemente la almohadilla suministrada por Sandy Electronics y colóquela en el muelle metálico debajo de la cinta, colóquela en lugar de la antigua en el centro del área metálica del muelle. La nueva almohadilla es ligeramente más grande que la anterior a propósito.

4. Utilice la de nuevo la tapa del bolígrafo Bic de como apoyo debajo de la cinta, y con suavidad pero con firmeza, presione la nueva almohadilla en su posición. Puede utilizar también las puntas de la pinza como apoyo para presionar la nueva almohadilla.

5. Y por último …. tener mucha suerte 🙂

Reparación de cartuchos Microdrive

Reparación de cartuchos Microdrive

Conversor HDMI a VGA

Conversor HDMI a VGA

Dando una vuelta más de tuerca a este conversor de Scart a HDMI, ahora he podido  conectar mi QL a un monitor VGA.

El mecanismo es “un poco ortopédico” 🙂 , pero funciona a modo plug & play sin tener que manipular cables ni componentes electrónicos. Básicamente consisten en emplear un camino de “ida y vuelta”, pasar la señal analógica a digital (con el conversor Scart a HDMI) y luego a la inversa de digital a analógica (conversión HDMI a VGA).

Ya comentamos el tema del conversor Scart a HDMI en otra entrada del blog. Ahora he adquirido en eBay este otro conversor para poder conectar la salida HDMI a VGA (el precio e bastante asequible, 7.5 dólares incluido gastos de envío).

La calidad de la imagen es bastante buena, pongo más abajo algunas fotos de mi pantalla plana VGA conectada al QL (las fotos son de mala calidad, en la realidad la imagen es más nítida). Sólo decir que en uno de mis monitores (Acer) el color blanco se convertía en magenta, pero en mi segundo monitor (LG) la imagen es muy aceptable.

Esto debería ir bien también en otros equipos retro.

Ejemplo salida VGA (QL - monitor LG)

Ejemplo salida VGA (QL – monitor LG)

Ejemplo 2 salida VGA (QL - monitor LG)

Ejemplo 2 salida VGA (QL – monitor LG)

Conversores encadenados

Conversores encadenados

El concepto de Variables de Entorno viene del mundo UNIX. Se utilizan también en MS-DOS pero de forma más limitada y no en la misma medida. Para el mundo QDOS, el archivo ENV_BIN proporciona una serie de extensiones que permiten el uso de Variables de Entorno en el Sinclair QL.

Si queremos disponer de estas facilidades debemos cargar previamente dicha extensión en nuestra sistema. Para ello basta con añadir en nuestro boot una línea similar a la siguiente (*):

100 LRESPR flp1_env_bin

(*) Notas:
– LRESPR requiere Toolkit 2
– La extensión ENV_BIN se puede obtener en la sección de Toolkits del sitio de Dilwyn Jones.

En esencia, una variable de entorno es una variable que puede ser “vista” por los programas ejecutables. En SuperBASIC podemos crear todo tipo de variables, pero si ejecutamos un programa desde SuperBASIC, estos programas no pueden “ver” dichas variables ni obtener datos de ellas.

El objetivo de las variables de entorno suele ser el cambiar la configuración de un programa. Estas variables funcionan como los “Bloques de Configuración” en QDOS, pero no requieren de la ejecución de un programa externo para hacer cualquier cambio en sus valores.

Echemos un vistazo a cómo podemos cambiar el comportamiento de los programas. Hay cinco maneras diferentes de hacer esto:

1] Intervención del usuario. Mediante esta estrategia, el usuario utiliza un menú o responde a las preguntas del programa.

2] Bloques de Configuración (Config Blocks). Esta característica es peculiar del QDOS y permite al usuario cambiar las opciones por defecto sin tener que saber cómo editar un archivo binario.

3] Fichero de Configuración. Este es un archivo separado que el programa lee para determinar cómo establecer los valores predeterminados para su ejecución.

4] Argumentos por la Línea de Comandos. En lugar de que el programa pregunte la de información al usuario, el usuario escribe dichos valores cuando ejecuta el programa desde la consola utilizando parámetros adicionales.

5] Variables de Entorno. El usuario establece una variable que luego es leída por el programa para cambiar su configuración predeterminada.

Cada una de las opciones tiene su propio lugar, sus ventajas y sus defectos. Algunas son más permanentes, como los Bloques de Configuración y los Archivos de Configuración, mientras que las otras opciones son más volátiles, como la “Intervención del Usuario” y de los “Argumentos por la Línea de Comandos”. Las “Variables de Entorno” se encuentran entre las opciones que se pueden establecer en el BOOT (arranque del sistema), o en un programa cargador, pero se pueden cambiar con solo teclear en un nuevo comando. El fichero ENV_BIN viene con 4 extensiones. Éstas son:

SETENV     - Define una variable de entorno.
ENV_LIST   - Lista todas las variables de entorno definidas.
ENV_DEL    - Elimina una variable de entorno.
GETENV$    - Obtiene el valor de una variable de entorno.

Los dos comandos más relevantes son SETENV y GETENV$. SETENV se usa de esta forma:

SETENV "VARIABLE=valor"

SETENV toma un argumento de cadena del tipo “XXXXX=YYYYY”, donde XXXXX y YYYYY son dos cadenas separadas por un signo igual. Cualquier espacio antes del signo igual es tratada como una parte de XXXXX y un espacio después del signo igual es tratada como una parte de YYYYY. El nombre de la variable es sensible a mayúsculas y minúsculas, así “VARIABLE” es diferente de “variable”. Por convenio, las mayúsculas se utiliza como nombre de las variables de entono. El comando SETENV se puede ejecutar en el programa de inicio del sistema -BOOT- (el cual podría ser alterado por un programa instalador), o bien directamente por el usuario. El comando para que un ejecutable obtenga el contenido de una variable de entorno es GETENV$. El comando se usa así:

a$ = GETENV$("VARIABLE")

En este caso, a$ se le asignará el valor de “valor” establecido en nuestro ejemplo por la instrucción SETENV anterior. Si la variable de entorno “VARIABLE” no está definida (no existe), entonces la función GETENV$ devolvería una cadena vacía (“”).

Hemos dicho que los ejecutables usan GETENV$ y no los programas SuperBASIC. Como las variables se utilizan ya de forma ordinaria en el entorno SuperBASIC, no ganaríamos mucho en el uso de variables de entorno (a no ser que pretendamos obtener algún valor preestablecido de forma personalizada en nuestro sistema). Por esto hemos destacado que el uso mayor de estos comandos es en los programas SuperBASIC compilados, que son ejecutables.

Vemos que el propósito de utilizar Variables de Entorno es la adición de flexibilidad para los programas que utilizan bloques de configuración. Ambos, Bloques de Configuración (Config Blocks) y Variables de Entorno se han diseñado realmente para cambiar la configuración predeterminada de los programas. La “Intervención del Usuario” y los “Argumentos por la Línea de Comandos” están diseñados para indicar al programa algunos datos adicionales. El uso de Variables de Entorno permite al usuario la posibilidad de hacer un cambio temporal en las opciones por defecto de un programa, sin tener que pasar por la molestia de usar “config”. Las variables de entorno se utilizan para cambiar una configuración para una sola sesión y ya está.

No es difícil el uso de los “Bloques de Configuración” y las “Variables de Entorno” en conjunción de tal forma que sean complementarias. El programa obtendría primeramente su configuración por defecto del Bloque de Configuración (Config Block). A continuación, se comprueba si hay variables de entorno establecidas. Si hay, entonces los valores de configuración de las Variables de Entorno reemplazan los valores de configuración definidos en los Bloque de Configuración.

 

Fuente:

Artículo original: http://dilwynjones.topcities.com/qhj/qhj/qhj28.txt

Timothy Swenson
Artículo aparecido en QL Hacker’s Journal

Traducción:
Afx
Septiembre de 2009