El Jupiter Ace fue un ordenador doméstico británico fabricado por Jupiter Cantab y lanzado en 1982. Al igual que muchos otros ordenadores domésticos de la época, utilizaba el microprocesador Zilog Z80 . Conocido por su distintiva carcasa blanca y su parecido visual con el ZX Spectrum , el Ace se diferenciaba de otros microordenadores de la época en que su entorno de programación utilizaba Forth en lugar del más popular BASIC . [ 1 ] [ 2 ] Esta diferencia, junto con una pequeña selección de juegos y software disponibles comercialmente, una generación de sonido rudimentaria a través de un altavoz interno y una pantalla gráfica basada en caracteres relativamente deficiente, limitaron las ventas; la máquina no tuvo éxito en el mercado. [ 3 ] [ 4 ]
Historia

Jupiter Cantab fue fundada por Richard Altwasser y Steven Vickers . [ 5 ] Ambos habían formado parte del equipo de diseño del ZX Spectrum : Altwasser trabajó en el desarrollo del ZX81 y en el diseño de hardware del Spectrum. Vickers adaptó y amplió la ROM de 4K del ZX80 a la ROM de 8K del ZX81 y escribió la mayor parte de la ROM para el Spectrum.
El Jupiter Ace recibió su nombre de una antigua computadora británica de 1950: la Pilot ACE . [ 6 ] El Jupiter Ace salió a la venta el 22 de septiembre de 1982 con un precio de £ 89,95. [ 2 ]
Las ventas al público general fueron lentas. Inicialmente, la computadora solo estaba disponible por correo, [ 2 ] y Jupiter Cantab informó que hubo dificultades de producción, pero que estas se superaron en enero de 1983 y que las unidades estaban llegando a las tiendas. [ 7 ]
El uso de Forth en lugar de BASIC, la opción más habitual, la disponibilidad y el éxito del ZX Spectrum, así como el limitado software publicado, la mala calidad de la carcasa y la escasa memoria inicial, todo ello dificultó su aceptación en el mercado. Finalmente, Jupiter Cantab cesó sus operaciones a finales de octubre de 1983. [ 8 ]
La marca fue adquirida en 1984 por Boldfield Computing Ltd, que vendió el stock restante por correo a 26 libras esterlinas. [ 8 ] La marca fue vendida nuevamente a la empresa de Paul Andrews, Andrews UK Limited, en 2015. [ 9 ]
Ventas
Las ventas de la máquina nunca fueron muy grandes; se informó que la cantidad de Aces vendidas antes de que Jupiter Cantab cerrara sus puertas fue de alrededor de 5000. [ 4 ] A principios de la década de 2000, las máquinas que aún existen son poco comunes y a menudo alcanzan precios altos como artículos de colección.
Forth, si bien era estructurado y potente, se consideraba difícil de aprender, y el conocimiento de BASIC adquirido por la familiaridad con otros ordenadores domésticos no resultaba de gran ayuda práctica para su aprendizaje. Una reseña de 1982 afirmaba que «el éxito del Jupiter Ace dependerá de la aceptación por parte del público comprador de otro lenguaje de microordenadores». [ 10 ]
Además, existía una gama muy limitada de software publicado para la máquina , ya fueran programas comerciales o programas para escribir impresos en revistas de aficionados , y estos estaban restringidos por la pequeña cantidad de RAM del modelo base. [ 3 ]
Los intentos de promocionar el Ace en el mercado educativo también fracasaron; las dudas sobre si Forth sería relevante para los programas de exámenes y la falta de apoyo del profesorado a Forth fueron cuestiones clave. [ 11 ] Los alumnos estaban más interesados en aprender el ampliamente utilizado BASIC que un lenguaje utilizado solo por una máquina (poco común) con una sintaxis RPN peculiar . [ 12 ]
Finalmente, los gráficos basados en mosaicos resultaban inferiores a los gráficos basados en píxeles de otras máquinas , que además eran a color en lugar de monocromáticos como los de la Ace. Esto limitó las ventas principalmente a un nicho de mercado de entusiastas de la programación técnica.
Diseño
El Jupiter Ace se compara a menudo con el ZX81 debido a su tamaño similar, bajo costo y factor de forma similar . [ 13 ] Internamente, su diseño es más similar al del ZX Spectrum, aunque el Ace también tenía una memoria de video dedicada de 2 KB, evitando en parte la ralentización cuando los programas accedían al mismo banco (mismos chips) que la memoria de video. Al igual que el Spectrum, el Ace usaba teclas de goma conductora negra , aunque a diferencia del Spectrum, las teclas tenían una almohadilla conductora que se presionaba directamente sobre las pistas en la PCB en lugar de usar una membrana. Como resultado, las teclas a menudo dejaban de funcionar de manera confiable hasta que se limpiaban o se renovaba el material conductor.
Las funciones de audio estaban controladas por la CPU, con frecuencia y duración programables. La salida de sonido se realizaba a través de un pequeño altavoz integrado.
Como era habitual en la época, utilizaba una grabadora de cinta común en lugar de unidades de disco/cinta. Asimismo, requería un televisor como pantalla , pero este solo mostraba imágenes en blanco y negro, a diferencia de los modelos de la competencia, como el Spectrum, que ofrecían color. Un conector secundario (no documentado) en la parte posterior de la carcasa proporcionaba algunas señales de vídeo, presumiblemente para una futura tarjeta gráfica a color, pero nunca se lanzó ningún producto oficial que utilizara este conector.
El Jupiter Ace se basó en el Zilog Z80, con el que los diseñadores ya tenían experiencia trabajando en el Sinclair ZX81 y el ZX Spectrum.
Tanto los gráficos como el texto podían mostrarse al mismo tiempo: (1) la redefinición de los mosaicos de caracteres proporcionó gráficos estándar de 256×192 limitados a los 128 caracteres disponibles (definibles) de 8×8, simultáneamente con el trazado de gráficos de 64×48.
Altavoz interno controlado directamente por la CPU en modo de tarea única, con control de la frecuencia y duración del sonido en milisegundos .
El almacenamiento se realizaba mediante una interfaz de cinta de casete a 1500 baudios . Los archivos podían utilizarse para almacenar programas Forth (código compilado) o volcados de memoria sin procesar.
Memoria
El Ace tenía una ROM de 8 KB que contenía el núcleo Forth y el sistema operativo, y el diccionario predefinido de palabras Forth en aproximadamente 5 KB. Los 3 KB restantes de la ROM admitían varias funcionalidades: biblioteca de números de punto flotante y tabla de definiciones de caracteres, acceso a la grabadora de cinta, descompilación y redefinición de "palabras" (es decir, rutinas) recién editadas. [ 14 ] Parte de la ROM estaba escrita en código máquina Z80 , pero otra parte también estaba codificada en Forth.
Los siguientes 8 KB se construyeron en RAM que solo se decodificó parcialmente , con 2 KB de RAM de vídeo duplicados dos veces y 1 KB de RAM de usuario duplicado 4 veces (con la misma memoria apareciendo en varias direcciones de memoria diferentes).
El uso de la dirección inferior de la RAM de vídeo priorizaba la CPU, lo que provocaba la aparición momentánea de píxeles aleatorios en la pantalla cuando el subsistema de vídeo y la CPU accedían a la RAM de vídeo en el mismo ciclo de reloj . El uso de la dirección superior detenía brevemente la CPU debido a la interferencia, afectando la sincronización del programa y haciendo que este modo no fuera adecuado para operaciones de entrada/salida. Dado que la RAM de vídeo estaba parcialmente separada de los buses principales de direcciones y datos, en la mayoría de los casos el subsistema de vídeo y la CPU podían operar en paralelo .
Los primeros 16 KB del mapa de memoria se utilizaron para la ROM, el vídeo y la RAM disponible para el usuario, dejando los siguientes 16 KB libres para la ampliación de la RAM y los 32 KB superiores sin definir.
Un banco de 1K permitía la redefinición de la mayoría de sus 128 caracteres basados en ASCII en formato de mapa de bits de 8×8 píxeles . El otro banco de 1K almacenaba la visualización de pantalla completa de 24 filas × 32 columnas de caracteres en blanco y negro. Se preveía la incorporación del color como expansión, pero aunque se diseñó una tarjeta gráfica a color, [ 15 ] nunca se produjo comercialmente.
1 KB de RAM con la opción de un paquete de RAM de 16 KB, y posteriormente uno de 32 KB. Boldfield Computing también comercializó una placa de circuito impreso (PCB) que convertía el conector de borde para que fuera eléctricamente compatible con un Sinclair ZX81, lo que permitía el uso del paquete de RAM de 16 KB del ZX81. [ 16 ]
Presupuesto
En ocasiones , las referencias a la memoria RAM Ace incluyen la memoria de vídeo independiente de 2 KB , que no estaba disponible para la programación, lo que genera cierta confusión. Del mismo modo, a veces se argumenta que, debido a la eficiencia de Forth, la memoria RAM estándar de 1 KB era, en la práctica, comparable a al menos 2 KB en un sistema BASIC.
Programación

Su característica más distintiva fue la elección de Forth, un lenguaje estructurado . La compilación multihilo permitía que los programas escritos se ejecutaran casi tan rápido como muchos lenguajes compilados de forma nativa cargados por ordenadores más caros. Forth se consideraba bien adaptado a los microordenadores con su poca memoria y procesadores de rendimiento relativamente bajo. [ 18 ] Los programas Forth son eficientes en el uso de la memoria; a medida que aumentan de tamaño, reutilizan más código definido previamente. [ 19 ] Las estructuras de control podían anidarse a cualquier nivel, limitadas únicamente por la memoria disponible. Esto permitía implementar programas complejos, incluso programación recursiva . Se afirmaba que el Forth del Ace era "diez veces más rápido que Basic" [ 20 ] [ 21 ] [ 22 ] y utilizaba menos de la mitad de la memoria (un porcentaje de coste significativo para los ordenadores de gama baja de la época) de un programa equivalente escrito en BASIC interpretado. [ 20 ] También permitía una fácil implementación de rutinas de código máquina si era necesario. [ 23 ]
El Forth de Ace se basaba principalmente en Forth-79, con algunas diferencias relevantes, [ 6 ] : 176 en particular, añadía comprobación de sintaxis a las estructuras de control y a las construcciones de definidores, y se añadían algunas palabras adicionales basadas en comandos comunes de sonido, vídeo y cinta de BASIC . La implementación carecía de algunas palabras de Forth menos utilizadas, que podían implementarse fácilmente si fuera necesario. La comprobación de errores en tiempo de ejecución podía desactivarse para aumentar la velocidad entre un 25 % y un 50 %. [ 6 ] : 171
Descompilación
Su lenguaje Forth se adaptó al hardware de las computadoras domésticas que utilizaban cintas magnéticas y sin discos, al poder guardar/cargar "vocabularios compilados" por el usuario, en lugar de los bloques de programación numerados habituales utilizados por los sistemas de disquete.
La descompilación evitó el desperdicio de RAM al simular un sistema de bloques ausente, utilizado tanto con unidades de disco como de cinta (estas últimas no deben confundirse con grabadoras de cinta). Como reemplazo, incluyó un archivo de datos adicional para datos binarios sin procesar. Estas soluciones eran exclusivas del Jupiter Ace.
DEFINIDOR vs COMPILADOR
Para permitir la descompilación, distinguió la creación habitual de palabras de definición y compilador de ForthCREATE .. DOES> , reemplazando el par de creación , [ 24 ] con:
DEFINER .... DOES>: Crea nuevas palabras definitorias, que se utilizan normalmente para definir y construir estructuras de datos. Similar aCREATE..DOESsu uso en FORTH estándar. [ 6 ] : 120 (Ejemplo: añadir estructuras de datos como matrices o registros).COMPILER .. RUNS>: Crear nuevas palabras de compilación, menos utilizadas para extender el lenguaje con palabras de compilador dondeCREATE..DOES>depende de la implementación de FORTH. [ 6 ] : 136 (Ejemplo: nuevas estructuras de control de compilador como Case o Infinite Loop.)
Estos dos pares de características, en lugar de uno solo, permitieron al Ace descompilar sus programas, a diferencia de los sistemas Forth habituales. Esta capacidad de descompilación fue la solución a la ausencia del sistema de disco más flexible utilizado por Forth. Al no almacenar el código fuente de un programa Forth, sino compilarlo después de editarlo, evitaba por completo la emulación de una unidad de disco/cinta en la RAM, ahorrando memoria del ordenador . También ahorraba tiempo en la lectura y escritura de programas desde cintas de casete. Esta solución, compatible con cintas y que ahorraba RAM, era exclusiva del Jupiter Ace Forth.
Los nombres pueden ser equívocos fuera de un contexto Forth, ya que todas las palabras se compilan cuando se declaran. [ 25 ]DEFINER define una nueva clase (como una matriz) que construirá (compilará) un objeto de matriz. [ 26 ] Estos están activos en 'Intérprete'. Emparejando este modo de interacción, COMPILERdefine una estructura de programación (generalmente un par o un triplete) como IF-ELSE-THEN. [ 27 ] Estas 'Programaciones Estructuradas' están activas en el modo 'Compilar' (que es simplemente construir una nueva palabra Forth). En resumen, "Modo de interpretación" significa etapa de ejecución, mientras que "Modo de compilación" se refiere a una etapa de edición.
Desarrollo
Para evitar el uso de las fuentes originales, se almacenaron los comentarios introducidos en el código junto con el resultado compilado, ya que la compilación tradicional descartaba dichos comentarios. Estos se recuperaban posteriormente durante la descompilación. Como resultado del principio de que "el código es la fuente", las palabras modificadas (editadas) exigían la actualización de todo el código utilizando la versión recién editada. Esto se realizaba mediante un REDEFINEcomando no estándar.
Aunque no fue diseñado explícitamente para tal propósito, el Forth compilado podía utilizarse para extensiones de ROM al sistema integrado. Se desarrollaron ROM externas con Ace Forth para ser utilizadas como aplicaciones de control. [ 28 ] [ 29 ]
Complementos
La máquina pudo utilizar algunos complementos del ZX81 debido a la similitud en la ubicación de la memoria RAM y a la ranura de expansión externa. Jupiter Cantab fabricó un módulo de RAM de 16 KB, y otras compañías también fabricaron módulos de RAM similares, así como otros periféricos e interfaces.
- Paquetes de RAM [ 30 ]
- 16 KB por Jupiter Cantab.
- 16 KB y 32 KB de Stonechip Electronics.
- 16 KB de Sinclair, con placa adaptadora de Jupiter Cantab para compatibilidad eléctrica.
- 48 KB por Boldfield (nuevo propietario de Jupiter Ace después de Jupiter Cantab).
- Teclado [ 31 ]
- Teclado Memotech, de Memotech .
- Sonido [ 32 ]
- SoundBoard (1983) de Essex Micro Electronics,
- Almacenamiento [ 33 ]
- Sistema de accionamiento de discos Jet-Disc (1983) de MPE (controla hasta cuatro unidades de 3", 5" u 8").
- Interfaz de disco "Deep Thought" con un AceDOS 4K en una EPROM (1986) por J Shepherd y S Leask.
- Adaptadores de impresora
- Tarjeta gráfica
- Tarjeta de escala de grises: 4 tonos de gris por S Leask (1986)
Modelos
Jupiter Ace número 1
El número 1 original de Jupiter Ace se presentó en 1982 y venía en una caja hecha con moldes al vacío. Según se informa, se produjeron 5000 unidades. [ 37 ]
Jupiter Ace número 1
Jupiter Ace número 1
Júpiter Ace 4000
El Jupiter Ace 4000 se presentó en 1983 y venía con una carcasa moldeada por inyección más resistente. Según se informa, se produjeron 800 unidades. [ 38 ] [ 8 ]
Júpiter Ace 4000
Júpiter Ace 4000
videojuego
Hay 51 videojuegos conocidos lanzados comercialmente para Jupiter Ace [ 39 ].
Véase también
Otros microordenadores basados en Forth:
Referencias
- ↑ "Folleto de ventas de Jupiter Cantab" . Sitio de recursos de Jupiter Ace .Página 1
- 1 2 3 Smith, Tony (2012-08-01). "El as de Júpiter: 40 años después, dos estrellas de Spectrum siguen adelante" . The Register . Recuperado el 26 de junio de 2013 .
- 1 2 "Índice de software Jupiter Ace" . Sitio de recursos de Jupiter Ace . Archivado del original el 23 de mayo de 2007. Recuperado el 5 de octubre de 2014 .
- 1 2 "¿Qué es un As?" . Sitio de recursos de Jupiter Ace . Archivado del original el 17-06-2012 . Recuperado el 24-09-2008 .
- ↑ "Planes secretos de una nueva compañía: dos de las figuras clave en el desarrollo del ZX Spectrum, Richard Altwasser y Steven Vickers, han roto sus vínculos con Sinclair Research y fundado su propia compañía" . Sinclair User . N.° 4. Julio de 1982. Archivado del original el 16 de mayo de 2011. Consultado el 10 de febrero de 2020 .
{{cite news}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) - 1 2 3 4 5 Vickers, Steven (1982). Programación FORTH de Jupiter Ace .
- ↑ "Noticias: los comerciantes de High Street tendrán todas las de ganar" . Your Computer . Enero de 1983. pág. 29.
- 1 2 3 Smith, Tony (21 de septiembre de 2012). "El Jupiter Ace: 40 años después" . The Register .
- ↑ "Sendero de Provenza" . The Jupiter Ace . 21 de mayo de 2022. Archivado del original el 21 de mayo de 2022. Consultado el 8 de marzo de 2024 .
{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace ) - ↑ Bennett, Bill (noviembre de 1982). "Reseña de Jupiter Ace" . Your Computer .
- ↑ Laine, Joe (11 de noviembre de 1982). "Ace regresa a la escuela" . Popular Computing Weekly .
- ↑ Smith, Tony (21 de septiembre de 2012). "El Jupiter Ace: 40 años después" . The Register .
- ↑ "Edición dos sin componentes PCB" . Archivo Jupiter Ace .
- ↑ "Proyecto ACE ROM (Libro electrónico)" .
- ↑ Wike, John (abril de 1984). "Añadiendo color al Ace" . ETI . pág. 41.
- ↑ "/pub/Vintage/Sinclair/80/Jupiter Ace/Peripherals/Motherboard (Boldfield)" . Archivo de computadoras Sinclair ZX . Consultado el 8 de diciembre de 2019 .
- ↑ Tecnologías Libres para Síntesis de Imagen Digital Tridimensional . Ser. 2006. pág. 40 . ISBN 978-84-689-9280-8.
Micro Z80 a 3,25 MHz [...], el Jupiter Ace [...]
- ↑ Williams, Gregg (agosto de 1980). "Editorial - Hilos de un tapiz FORTH" (PDF) . Byte . pág. 6.
- ↑ James, John S. (agosto de 1980). "¿Qué es Forth? - Características del código FORTH" (PDF) . Byte . pág. 102.
- 1 2 "El equipo de Spectrum juega su as" . Popular Computing Weekly . 26 de agosto de 1982. Archivado del original el 3 de marzo de 2016. Recuperado el 15 de noviembre de 2012 .
- ↑ "Puntos de referencia (Entrada n.º 9)" .
- ↑ The Complete FORTH , por Alan Winfield , 1983, Sigma Technical Press, página xi.
- ↑ Electronics & Computing , "Jupiter Ace Review", noviembre de 1982, página 70.
- ↑ Winfield, Alan : "The Complete Forth", Capítulo 9 "Extending FORTH", Sigma Technical Press, 1983.
- ↑ Proyecto ACE ROM v3, 2021. Libro II "Listado original", ROM Source
- ↑ Proyecto ACE ROM v3, 2021. Capítulo 3 "Consejos de programación", Sección 3.2 "Definidor/Compilador"
- ↑ Proyecto ACE ROM v3, 2021. Capítulo 4 "Más rápido, más rápido", Sección 4.4 "Construyendo el nuestro", "El caso de Case"
- ↑ "ACE User 4, página 8: Expansión de ROM para el Ace" (PDF) .
- ↑ "FORTH User Vol2#1, página 2, "EPROMs para el ACE"" (PDF) .
- ↑ "Paquetes de RAM de hardware Jupiter ACE" . www.jupiter-ace.co.uk .
- ↑ "Teclado Memotech de hardware Jupiter ACE" . www.jupiter-ace.co.uk .
- ^ "Sitio de recursos de Jupiter Ace - Revisión de la placa de sonido EME AY-3-8910" . www.jupiter-ace.co.uk .
- ↑ "El sistema de accionamiento de discos Jet-Disc II" . www.jupiter-ace.co.uk .
- ↑ "Análisis de la interfaz Centronics ADS del hardware Jupiter Ace" . www.jupiter-ace.co.uk .
- ↑ "Tarjeta de impresora de hardware Jupiter Ace" . www.jupiter-ace.co.uk .
- ↑ "Cinta 11: Controlador de impresora ZX" . www.jupiter-ace.co.uk . Consultado el 25/11/2023 .
- ↑ "¿Qué es un Jupiter ACE?" . Archivado del original el 17 de junio de 2012. Consultado el 24 de septiembre de 2008 .
- ↑ "¿Qué es un Jupiter ACE 4000? "
- ↑ «A a la Z» . www.jupiter-ace.co.uk .
- ↑ "Micronique HECTOR HRX" . Museo OLD-COMPUTERS.COM. Archivado del original el 21 de noviembre de 2010. Consultado el 5 de enero de 2015 .
Enlaces externos
- Sitio web de recursos sobre el Jupiter Ace : El proyecto de restauración y conservación del Jupiter Ace.
- ACE-ROM-PROJECT : Libro electrónico de documentación ROM más reciente (PDF) con ROM ACE restaurada (ZIP).
- theregister.co.uk: El Jupiter Ace tiene 30 años , esquema (2012)
- Introducciones relacionadas con la informática en 1982
- Ordenadores domésticos basados en el procesador Z80
- Ordenadores diseñados en el Reino Unido.
- Ordenadores domésticos
- Familia de lenguajes de programación Forth