De “multi-thread” con el Plus 3

Para quien no lo sepa, el mundo de los sistemas operativos para el ZX Spectrum siguió vivo mucho tiempo después del cese de su producción comercial. De hecho sigue hasta hoy día. No hace demasiados años se inició por ejemplo el proyecto YEAH – UNIX for ZX Spectrum. Pero nos centraremos como siempre en la oferta existente para +3.

specosEl primer SO que me encuentro es FUZIX, derivado de un proyecto anterior, UZI (UNIX para plataformas Z80). El kernel está siendo portado a +3, pero por el momento no hay una versión para nuestra máquina, propiamente hablando.

El segundo caso está bastante más completo: es el SpecOS y además es 100% nativo +3. Según podemos leer, se trata de “Un sistema operativo de estilo multi-hilo para el Spectrum +3. Basado en un modelo de kernel/espacio de usuario (userland), se desacopla la implementación del núcleo del mecanismo de llamada al sistema en tiempo de ejecución, y prevé algunas funciones de estilo POSIX. Una capa de abstracción de descriptores de archivos proporciona una fácil redirección de archivos. Los procesos de espacio de usuario son reubicables, y no tienen ningún conocimiento de la disposición del núcleo o de la memoria, proporcionando la flexibilidad de cambiar el modelo de paginación de memoria sin necesidad de recompilar todos los programas de espacio de usuario.

Vamos, más claro el agua.

RAM-JET

ramjet tratadaRecuerdo que cuando era pequeño y veía en la sección tele-tienda de la Micromanía un periférico para ZX Spectrum llamado RAMJET +3, siempre pensaba que debía ser una ampliación de RAM para el ordenador. Luego me enteré que era una cosa llamada “transfer”, que servía “para copiar cintas”, o algo así. Y allí se quedó el asunto, y nunca más volví a saber de él en lo que le quedaba de vida a mi ZX Spectrum +2B.

ramjet1Nunca tuve uno, por supuesto, pero he curioseado recientemente sobre él y visto en perspectiva es realmente una ampliación hardware interesante, que perfectamente compite con el Multiface 3 de la empresa Romantic Robot como interface contemporáneo ideal para el +3, aunque ambos casos son incompatibles con las ROMs +3e, por lo que se hace necesario el montaje de la ROM Dual.

Básicamente, el interface incorpora dos funciones: una parte software, el llamado “copión” (en el menú, “Copiador RAMJET”) y una parte hardware, el NMI. La primera solo trabaja con cinta, sirve para copiar software al estilo “transfer”. La segunda, que es para mí la más interesante, se activa al pulsar el botón de NMI y permite crear snapshots de memoria (o backup) y guardarlos en disco, además de modificar la memoria (“POKEADOR”).

ramjet2Frente a los snapshots creados por el Multiface 3, en este caso no es necesario que el dispositivo esté conectado para poder cargarlos y que funcionen, lo que es una ventaja importante de cara a compartir lo que creemos. La opción de salvar la pantalla solo está disponible para cinta, lo que es muy lamentable.

He encontrado por internet el manual de instrucciones del aparato, diseñado y fabricado en España en 1990 por la empresa MICROSAT (antes conocida como MICRO HARD), quien ya era conocida por su anterior trabajo con los Transtape, y que contó con varias versiones (aparte de para +3, fue lanzada también una versión para 128K/+2 gris).

ramjet3El diseño exterior varía de una versión a otra, y existen ediciones en horizontal, en vertical, en color negro, en color blanco, con un interruptor para desactivar el interface y sin él, y con distintos diseños tipográficos para el logotipo de la pegatina que tiene en un lateral.

En general, comparados, es mejor el Multiface 3 en opciones técnicas: la edición y visualización de la memoria, por ejemplo, es mucho más sofisticada que el simple pokeador del RAMJET. La copia de la pantalla se puede hacer al disco en el M3, pero solo a cinta en el RAMJET. De
hecho, si no fuera por el requerimiento de disponer del periférico siempre conectado (cosa
que nos podemos saltar con programas como el “M3 Unlock”), sería mucho mejor el M3 sin lugar a $_57dudas, sin que por ello debamos infravalorar las posibilidades del producto de MICROSAT, que como ya hemos visto ofrece características interesantes. Frente a la ROM del M3, que es de 8K, la del RAMJET es de 16K, habría sido genial si se hubieran aprovechado con software más currado.

En la web existen algunas páginas de interés sobre este dispositivo, la principal la que podemos encontrar en la sección de “Los trastos de José Leandro” en El Trastero del Spectrum, con mucho material y un proyecto para clonar el interface y fabricarse uno en casa.

Más datos podemos encontrar en la ficha de la web El hardware del Spectrum, aunque hay también mucha información útil dispersa en foros. Por cierto que hay una aplicación en el WOS llamada RAM-JET +3, aunque su funcionamiento no está documentado y podría no tener relación con el interface.

Compatibles +3

Electronica CIP-04Nunca te acuestas sin saber algo nuevo: el Spectrum +3 tuvo clónicos en Rumanía.

El primero de los ordenadores, creado por la empresa Electronica CIE, lleva por nombre CIP-04 y fue lanzado al mercado en 1992. Con anterioridad había comercializado otros clones del ZX Spectrum 48K (el CIP-03 y anteriores).

Si bien parte de la circuitería ha sido “reconstruida”, cuenta con el habitual chip de sonido AY 3-8912. El disco de 3″ ha sido sustituido por uno de 3’5″, pero sigue siendo formateado a los 173K de toda la vida, el +3DOS ha sido copiado tal cual. 896ebf1a779e2db0dbdf7b66c7604a8c-6705682-1000_1000El chip controlador es un CM609P, un clon ruso del 8272. Cuenta también con dos conectores de joystick Sinclair.

Han retocado ligeramente la presentación del menú principal del sistema que aparece al arrancar el ordenador, borrando las alusiones a Amstrad. También parecen haber alterado la secuencia de colores típica del logo de Sinclair.

cip-04Aunque en la parte superior derecha del teclado se puede leer “256 kbytes” el intérprete BASIC es el +3BASIC de siempre y no puede trabajar con ellos. Imagino que serán accesibles desde CP/M, pero ni idea. Dos chips M27C256B (64K) contienen el software ROM del +3. La memoria RAM consta de ocho circuitos K565RU7G. Tiene también 5 chips más, circuitos MN74L287, de 256*4 bits cada uno.

Este hermano desconocido del +3 aguantó hasta 1994, cuando fue retirado del mercado. Sorpresas te da la vida.

TIM-S PlusY no es el único clon del Amstrad Sinclair ZX Spectrum +3 lanzado en Rumanía por esos años: el TIM-S Plus, lanzado en 1990, parece haber tenido también esas características, según se puede colegir de su manual de instrucciones, aunque conseguir información de estas máquinas es bastante difícil, al menos en internet. Según ese mismo manual, el TIM-S Plus tiene 192K de RAM, trabaja con disqueteras de 5’25” e incluye tres configuraciones: modo +3, modo +2 con Interface I y modo CP/M (con una versión derivada del CP/M 2.2).

Esta segunda máquina fue producida por el Institutul pentru Tehnică de Calcul și Informatică (ITCI) y la Fabrica de Memorii electronice și Componente pentru Tehnică de Calcul și Informatică (FMECTC).

No me sonaba nada parecido desde los ZX Spectrum +2A/+3 comercializados en Egipto, estos sí con licencia de las marcas propietarias.

IMG_8313

El Spectrum también habla árabe.

Dado que son contemporáneos del +3 europeo, los +2A egipcios no presentan grandes diferencias, salvo la de poder cambiar entre las ROMs originales (las +3, dado que son las mismas para +3/+2A/+2B) y otro juego de chips (EPROM) que contienen el intérprete de Sinclair BASIC traducido al árabe (y se escribe en él de derecha a izquierda, claro).

Siguiendo con las ZX GUI

Siguiendo con el tema de las GUI para el ZX, voy a mirar ahora algunas otras propuestas menos conocidas: por una parte, dos GUIs digamos amateur, programadas mayormente en BASIC, por otra parte una GUI que no pasó nunca del nivel demo, pero que tenía notable interés, y por último un proyecto muy profesional, pero de momento solo proyecto.

El primero de los programas es el “SPECtrum deskTOP” (Spectop), publicado en la revista electrónica Outlet en 1992. Presenta la notable particularidad de ser para +3, y además adopta una estética basada en nuestro ya conocido entorno MAX.

spectop1  spectop2

Pese a su buena presentación, es lento en algunas tareas. El segundo programa, también vinculado al magazine electrónico Outlet, es el IBIS (Icon Based Item Selector), lanzado en 1996 y firmado por Impact Software.

ibis1  ibis2

Como se puede ver, no es propiamente un GUI, sino solo un programa tipo “Explorador de ficheros”, pensado para el interface DISCIPLE/+D. Al igual que en el caso anterior, su lentitud es un punto negativo. Ambos son manejados con el habitual OPQA del teclado.

El tercero es el DOORS, programa producido para el combinado Spectrum + Betadisk por la demoscene rusa de manera más o menos sostenida desde 1995, y del que han seguido saliendo numerosas demos hasta 2004:

v_print3  doors9899
helper
wb2_  navi_

Como se ve, el aspecto visual es interesante, además de soportar ratón Kempston. Lamentablemente, no está terminado, ni parece que jamás lo vaya a estar.

Por último, un descubrimiento: “Buddy”, un proyecto de GUI desarrollado por un destacado programador actual, Andrew Owen:

Buddy_1  Buddy_2

Cuatro programas, cada uno de los tres primeros para un sistema de disco diferente: +3DOS, +D y TR-DOS, y del cuarto, nada se sabe.

(CORRECCIÓN/ACTUALIZACIÓN: El de Andrew Owen es solo un diseño, un concept visual, no un proyecto ni nada)

Más de MAX

max

Versión Sinclair ZX Spectrum

Con anterioridad ya hablé un poco del “MAX Desktop”, interface gráfica de usuario tipo escritorio para ZX Spectrum 48K + ZX Microdrive + AMX Mouse. Vamos a ver ahora que este software fue mucho más que un título perdido en la gran biblioteca de programas de la época, fue una propuesta de estándar interplataforma en toda regla.

El MAX del Spectrum forma parte de una familia mucho más amplia que incluye el “MAX Desktop” para Amstrad CPC, el “AMX Desk Top” para Amstrad PCW y el “AMX Desk” para Acorn BBC, todos ellos funcionando con el ratón AMX de la empresa Advanced Memory Systems, desarrolladora también del GUI. Las máquinas de Sinclair y Amstrad, como ya sabemos, con CPU Zilog Z80 y las de Acorn con CPU MOS Technology 6502. Se anunciaba también una versión para Commodore 64, que finalmente nunca apareció.

Maxdesk_gui_2

Versión Amstrad CPC

Como se puede ver en las fotos, se trata siempre del mismo escritorio con algunas pequeñas diferencias referidas al medio de almacenamiento (microdrives 1, 2, 3 y 4 en Spectrum, discos A: y B: en Amstrad CPC, discos A:, B: y M: en Amstrad PCW y discos 0, 1, 2 y 3 en el Acorn BBC) y en las herramientas que están a la derecha del escritorio. Algunas herramientas y utilidades son específicas de la versión para algunas máquinas concretas, como la aplicación “Memo” y la agenda telefónica presentes en las versiones BBC y PCW, mientras que otras, como la papelera del rincón inferior derecho del escritorio o el dibujito de un ratón en la parte superior izquierda, en la barra superior de menús, se muestran perennes entre las diferentes versiones. Cambian también la fuente de texto empleada en los menús y ventanas, y la resolución de pantalla (obviamente), en función de las capacidades de cada ordenador, manteniendo siempre una estética sobria y en blanco y negro. La primera versión fue la realizada para Acorn BBC (versión 1.0, 1985), programada por David Elliot. El MAX del Spectrum (versión 1.0) fue programado por Andrew Bell y de la versión para Amstrad CPC (también versión 1.0) se encargó Karl Hampson, mientras que de la versión para PCW no tengo datos, aunque las tres se lanzaron en 1987.

0002_

Versión Amstrad PCW

Así pues. lo que tenemos delante es un GUI multiplataforma de 8 bits, cosa que no abunda precisamente en la época en la que fue lanzado. El interface gráfico de la compañía británica Advanced Memory Systems es en este sentido, algo notable, pese a las limitaciones que se le puedan señalar, comparándolo con otros programas de este tipo que aparecieron con posterioridad. Y pese a su calidad, hay que decir que pasó sin pena ni gloria para los usuarios, que no se interesaron especialmente por él ni por el ratón AMX que empleaba, y que cayó en el olvido tras competir fugazmente en las plataformas de 8 bits con sistemas similares, plataformas en las que, no lo olvidemos, realmente no llegó a ser el ratón un periférico popular y de uso extendido, pese a las distintas propuestas.

deskbbc

Versión Acorn BBC

Todas las versiones se encuentran circulando por internet, dispersas, aquí y allá, pero no me he encontrado todavía una página que recopile todo el material disponible sobre este GUI en sus diferentes versiones, lo que es una pena.

La versión Spectrum la podemos encontrar como siempre en el WOS. De la versión CPC podemos ver algo en el artículo correspondiente de la CPC Wiki. La versión Amstrad PCW es casi inaccesible, aunque podemos ver un interesante vídeo en Youtube, y es objeto de comentarios ocasionalmente por usuarios en foros. Finalmente, lo mismo puede decirse de la versión Acorn BBC, también circula por ahí en foros, de manera marginal pero descargable, sin un particular protagonismo.

Lo que no fue y lo que sí

Este post va de conversiones anunciadas para el ZX Spectrum, y de los dos tipos que podemos encontrar:

  • Lo que no fue:

sonicConversiones anunciadas pero nunca terminadas y distribuidas. Un excelente ejemplo de esta categoría lo encontramos en el proyecto de portar el juego “Sonic” de SEGA al Spectrum. De la mano principalmente del programador Anestis Koutssoudis y del Greek Spectrum Club, el proyecto estuvo en marcha durante varios años, pero finalmente no llegó a ser una realidad, más allá de un par de demos no jugables. Entre las demos, destacan Sonic 3D Blast IntroSonic the Hedgehog 3 Intro, ambas de 1998. El proyecto fue abandonado y no hay noticias de que nadie haya retomado la idea.

  • Lo que sí

Pero no todo son malas noticias, porque también podemos encontrar ejemplos de conversiones más que interesantes, como en el caso de “Prince of Persia” o “Ice Climber”.

iceclimberEstos dos títulos fueron adaptados para Spectrum por programadores rusos, ofreciéndonos un estupendo resultado. Del primero de ellos primero apareció una demo en 1995, a la que le siguió por fin el juego completo en 1996, año éste en el que también fue lanzado el segundo título. El “Prince of Persia” ha sido parcheado para correr también en los modelos +3/+2A, mientras que del “Ice Climber” de momento solo existe la versión para Spectrum + TR-DOS.

EL CD (con mayúsculas)

ss_01La verdad es que no puedo recordar con precisión en qué momento empezó a verse en revistas informáticas españolas noticias de ese nuevo e increíble medio de almacenamiento que se avecinaba acompañando a los ordenadores de 16 y 32 bits: el CD. Lo que sí recuerdo es que a los redactores se les caía la baba una y otra vez anunciándonos sus inabarcables 600 megas, además de cansarse de poner la de cientos de programas que cabían y diversas comparaciones peregrinas con los medios hasta entonces populares. Creo que las distribuciones fueron enciclopedias, para remachar quizá más lo de “y para hacer esta misma enciclopedia en disquetes necesitaríamos sopotocientos disquetes, pero gracias al CD, loado sea su nombre, blablablá”.

CD1Y me sorprendió ver que, de manera contemporánea al menos una casa de software se animó a intentar adaptar y llevar esta novedad al ZX Spectrum: la británica Code Masters, con un CD para nuestra máquina incluyendo 30 juegazos (por cierto, que la primera imagen que acompaña a esta entrada procede de aquí, no os vayáis a pensar que llegó a caer en mis manos semejante exclusividad). En esta otra página podemos encontrar también interesante información sobre este pionero CD.

Lo cierto es que la iniciativa no pasó desapercibida y podemos leer un artículo de dos páginas dedicado a este CD en la revista MicroHobby número 197, de marzo de 1990 (véanse la página 20 y la página 21), el mismo número en el que dedicaban una entrevista a los creadores del SAM Coupé, máquina que anunciaban como “un super compatible Spectrum”, lo que no deja de ser un tanto equívoco, dada la más bien silvestre compatibilidad del ZX Spectrum con su “hijo”.

Lo que quedó de “Pandora”

Amstrad_NC200_Running_s1Durante años circuló el rumor: un Spectrum portátil, un proyecto llamado Pandora. La venta de Sinclair a Amstrad en 1986 no terminó con la historia, y cuando en 1988 Clive Sinclair lanzó al mercado el Z88, un portátil basado en el micro Z80, algunos quisieron ver en él a una posible encarnación de ese ordenador. Con 128 K en su configuración inicial y una pantalla LCD de 640 x 64 pixels, la máquina además ha conseguido hacerse un pequeño hueco con nombre propio en el mundo de la Retroinformática.

Pese a que normalmente solo se considera al Z88 en relación con ese antiguo proyecto, aquí incluiré la creación de los continuadores de Sinclair, léase Amstrad. Unos años más tarde de la aparición de Z88, en 1992, Amstrad, que acababa de cesar la producción de sus ordenadores Spectrum (+2/+3/+2A), concretó un proyecto similar con la serie de los Amstrad NC (Notepad Computer 100, Notepad Computer 150 y Notebook Computer 200), también basados en el Z80. El modelo NC 200, de 1993, dotado de 128K en su versión básica, llevaba una pantalla de 480 x 128 pixels. Esta máquina además fue vendida como Tandy DreamWriter 200.

Entre las cosas comunes: ambos (Z88 y Amstrad NC) contaban con un intérprete de BBC BASIC, y ciertamente, ninguno de los dos puede decirse que fuera un particular éxito.

Historias

Hay veces que descubres cosas tarde. Otras, no las descubrirás nunca. El caso de los ordenadores ZX Spectrum +2B me va a servir para rellenar esta entrada. Es increíble lo de esta máquina. Porque por fuera estaba etiquetada como “+2”, luego cuando lo encendías, el menú te decía que eso era un “+2A”, y no solo eso, sino que el manual también te decía muy claramente que lo que tenías entre manos era un +2A, y así pasabas años y años pero un día lo desmontabas y mirabas la placa, ¡y resulta que tienes un +2B! Y eso es lo que me ha pasado a mí, que hace no mucho descubrí que mi primer ordenador, que de toda la vida yo pensaba que era un +2A,  va y era un +2B, parecía ser un snark, pero resultó ser un boojum. Sorpresas te da la vida.

Nueva imagen de mapa de bitsEso junto al maravilloso movimiento de caderas que podemos ver entre “el +3 reconoce los formatos del PCW”, “el PCW puede formatear discos de 3½ a 720KB” y “al +3 se le puede conectar una segunda disquetera de 3½”, desde luego, en aquellos tiempos la informática era un deporte de riego. Desconozco en qué momento se popularizaron las disqueteras de 3½ entre los usuarios del Amstrad PCW. En 1991 aparecieron los PCW 9256+ y PCW 9512+, que incluían estas disqueteras de serie. También por el mismo año se vende ya hardware comercial para trabajar con los discos de 3½ en los PCW anteriores y en los Amstrad CPC, y es probable que con anterioridad ya existiesen algunas adaptaciones similares. Uno de los programas populares para CP/M en lo que respecta a los formatos del disquete fue el DISCKIT, lanzado en 1985 y actualizado regularmente, que fue incluido en la mayoría de los PCW.

Síntesis de “D.A.S.”

Tiempo atrás publiqué un post: “De Aventuras con el Spectrum”, aquí resumo lo mismo, en tablas. “listado BASIC” se refiere a que fue publicado como código fuente BASIC en un libro o revista, pero que lo tenía que teclear el usuario por su cuenta. “publicado en cinta” se refiere a programas que aparte de ser publicados en la revista o libro, también fueron distribuidos ya tecleados en cinta, por lo que el usuario solo tenía que cargarlos para jugarlos. “comercial” se refiere a que era un título lanzado al mercado por alguna casa de software, y por lo tanto se distribuía como cinta. Para los casos de “publicado en cinta” y de “comercial”, se indica qué tipo de programa se distribuía en la cinta:

1984

“Crimen Perfecto” (MicroHobby, programada en BASIC, publicada en cinta)
: “Dragón” (Anaya, listado BASIC)
: “El bosque tenebroso” (revista MicroHobby, programada en BASIC, publicada en cinta)
: “La mansión de la aventura” (Anaya, listado BASIC)
: “Yenght” (Dinamic Software, programada en BASIC compilado, comercial)

1985

: “La princesa” (FromeSoft/Software Center, programada en QUILL, comercial)
: “Misión 1: Proyecto Vulcano” (Mission Software Ldt., programada en CM, comercial)
: “Alicia en el país de la maravillas” (revista MicroHobby, programada en BASIC, publicada en cinta)
: “Aventura interminable” (RUN, programada en BASIC, publicada en cinta)
: “Castillo maldito” (revista MicroHobby, programada en BASIC, publicada en cinta)
: “El misterio de la Montaña de Plata” (Anaya, listado BASIC)
: “El Ojo del Guerrero de la Estrella” (REDE, listado BASIC)
: “Gremlins” (Adventure International, programada en CM, comercial)
: “Hechizo” (revista MicroHobby, programada en BASIC, publicada en cinta)
: “La Casa Encantada” (Plesa-SM, listado BASIC)
: “La Isla de los Secretos” (Anaya, listado BASIC)
: “La tumba de Ellak” (revista Spectrum Computing, programada en BASIC y CM, publicada en cinta)
: “La venganza del castillo encantado” (Editorial Gustavo Gili, programada en BASIC, publicada en cinta)

1986

: “Anillos del Poder” (revista Microhobby, programada en BASIC, publicada en cinta)
: “Arquímedes XXI” (Dinamic Software, programada en BASIC y CM, comercial)
: “Cobra’s Arc” (Dinamic Software, programada en CM, comercial)
: “El Laberinto Mágico” (Anaya, listado BASIC)
: “La Joya Misteriosa” (revista Input Sinclair, listado BASIC)
: “Los Ludoides” (revista K7 Magazine, programada en CM, publicada en cinta)
: “Aventura en el castillo” (revista VideoSpectrum, programada en BASIC, publicada en cinta)
: “Top Secret” (revista ZX, listado BASIC)

indi1987

: “Don Quijote” (Dinamic Software, programada en GAC, comercial)
: “Indy” (revista MicroHobby, listado BASIC)
: “Mega-Corp” (Dinamic Software, programada en GAC, comercial)
: “Stifflip & Co.” (Binary Vision, programada en CM, comercial)