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).