The Jupiter Ace by
Jupiter Cantab was a British home computer released in 1982. The Ace differed from other
microcomputers of the time in that its programming environment used
Forth instead of the more popular
BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
.
This difference, along with limited available software and poor character based graphic display, limited sales and the machine was not a success.
History
Jupiter Cantab was formed by
Richard Altwasser and
Steven Vickers. Both had been on the design team for the
ZX Spectrum
The ZX Spectrum () is an 8-bit computing, 8-bit home computer developed and marketed by Sinclair Research. One of the most influential computers ever made and one of the all-time bestselling British computers, over five million units were sold. ...
: Altwasser worked on ZX81 development and hardware design of the Spectrum. Vickers adapted and expanded the 4K
ZX80
The Sinclair ZX80 is a home computer launched on 29 January 1980 by Science of Cambridge Ltd. (later to be better known as Sinclair Research). It is notable for being one of the first computers available in the United Kingdom for less than a hu ...
ROM to the 8K
ZX81
The ZX81 is a home computer that was produced by Sinclair Research and manufactured in Dundee, Scotland, by Timex Corporation. It was launched in the United Kingdom in March 1981 as the successor to Sinclair's ZX80 and designed to be a low-c ...
ROM
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
and wrote most of the ROM for the Spectrum.
The Jupiter Ace was named after an early British computer from 1950: the
Pilot ACE.
The Jupiter Ace went on sale on 22 September 1982 with a price of
£89.95.
Sales to the general public were slow. Initially the computer was only available by mail order,
and Jupiter Cantab reported that there were production difficulties, but these had been overcome by January 1983 and that units were arriving in shops.
The use of Forth rather than the more usual choice of BASIC, and the availability and success of the ZX Spectrum, as well as limited published software, the poor case and small initial memory all weighed against wider market acceptance. Eventually Jupiter Cantab ceased trading by the end of October 1983.
The brand was then acquired by Boldfield Computing Ltd in 1984 that sold the remaining stock by mail order for £26.
The brand was again sold to Paul Andrews's company Andrews UK Limited in 2015.
Sales
Sales of the machine were never very large; the reported number of Aces sold before Jupiter Cantab closed for business was around 5,000.
As of the early 2000s, surviving machines are uncommon, often fetching high prices as collector's items.
Forth, while being structured and powerful, was considered difficult to learn, and a knowledge of BASIC acquired from familiarity with other home computers was of no practical help in learning it. A 1982 review stated that "The success of the Jupiter Ace will depend on the machine-buying public's acceptance of another microcomputer language."
Further, there was only a very limited range of published software either commercial programs or
type-in programs printed in hobby magazines for the machine, and these were restricted by the base model's small amount of RAM.
Attempts to promote the Ace in the educational market also failed; doubts over whether Forth would be relevant for exam syllabuses, and the lack of support for Forth from teaching staff were key issues. Pupils were more interested in learning the widely used BASIC than a language used by only one (uncommon) machine with a peculiar
RPN syntax.
Finally, the
tile
Tiles are usually thin, square or rectangular coverings manufactured from hard-wearing material such as ceramic, Rock (geology), stone, metal, baked clay, or even glass. They are generally fixed in place in an array to cover roofs, floors, wal ...
-based graphics compared poorly to the
pixel
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a Raster graphics, raster image, or the smallest addressable element in a dot matrix display device. In most digital display devices, p ...
-based graphics of other machines which were also colour rather than the Ace's monochrome. This restricted sales largely to a niche market of technical programming enthusiasts.
Design
The Jupiter Ace is often compared with
ZX81
The ZX81 is a home computer that was produced by Sinclair Research and manufactured in Dundee, Scotland, by Timex Corporation. It was launched in the United Kingdom in March 1981 as the successor to Sinclair's ZX80 and designed to be a low-c ...
due to its similar size, low cost, and similar
form factor. Internally its design is more similar to the
ZX Spectrum
The ZX Spectrum () is an 8-bit computing, 8-bit home computer developed and marketed by Sinclair Research. One of the most influential computers ever made and one of the all-time bestselling British computers, over five million units were sold. ...
although the Ace also had a dedicated video memory of 2 KB, partly avoiding the slow down when programs accessed the same bank (same chips) as the video memory. Like the Spectrum, the Ace used black conductive
rubber keys although unlike the Spectrum, the keys had a conductive pad that was squashed directly onto tracks on the PCB rather than using a membrane. As a result, the keys would often stop working reliably until they were cleaned or the conductive material was refreshed.
Audio capabilities were CPU-controlled with programmable frequency and duration. Sound output was through a small built-in speaker.
As was common at the time, it used a common tape recorder instead of disk/tape drives. Similarly, a television was needed as a display but this was in black and white only, rather than the colour supported by competing models such as the Spectrum. A secondary (undocumented) edge connector on the back of the case made some video signals available, presumably for a forthcoming colour video card, but no official product that used this connector was ever released.
The Jupiter Ace was based on the Zilog Z80, which the designers had previous experience of from working on the Sinclair ZX81 and ZX Spectrum.
Both graphics and text could be displayed at the same time: (1) redefinition of the character
tiles
Tiles are usually thin, square or rectangular coverings manufactured from hard-wearing material such as ceramic, stone, metal, baked clay, or even glass. They are generally fixed in place in an array to cover roofs, floors, walls, edges, or ot ...
provided standard 256×192 graphics limited to the 128 available (definable) 8×8 chars, concurrent with plotting of 64×48 graphics.
Internal speaker directly controlled by the
CPU in single task mode, with control of sound frequency and duration in
millisecond
A millisecond (from '' milli-'' and second; symbol: ms) is a unit of time in the International System of Units equal to one thousandth (0.001 or 10−3 or 1/1000) of a second or 1000 microseconds.
A millisecond is to one second, as one second i ...
s.
Storage was through a cassette-tape interface at 1500
baud
In telecommunications and electronics, baud (; symbol: Bd) is a common unit of measurement of symbol rate, which is one of the components that determine the speed of communication over a data channel.
It is the unit for symbol rate or modulat ...
. Files could be used for either storage of Forth programs (compiled code) or raw
dumps of memory.
Memory
The Ace had an 8 KB
ROM
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
containing the Forth
kernel and operating system, and the predefined dictionary of Forth words in about 5 KB. The remaining 3 KB of ROM supported several functionalities:
floating-point
In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a Sign (mathematics), signed sequence of a fixed number of digits in some Radix, base) multiplied by an integer power of that ba ...
numbers library and character definitions table, tape recorder access, decompiling and redefining newly re-edited 'words' (i.e. routines). Some of the
ROM
Rom, or ROM may refer to:
Biomechanics and medicine
* Risk of mortality, a medical classification to estimate the likelihood of death for a patient
* Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac
* ...
was written in Z80
machine code
In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
, but some was also coded in Forth.
The next 8 KB was built in RAM that was only partially
decoded, with 2 KB of
video RAM echoed twice, and 1 KB of user RAM echoed 4 times (with the same memory appearing at several different memory addresses).
Using the lower-address mirror of the video RAM would select CPU priority, resulting in some momentary random pixels on the screen when video subsystem and the CPU accessed the video RAM in the same
clock cycle
In electronics and especially synchronous digital circuits, a clock signal (historically also known as ''logic beat'') is an electronic logic signal (voltage or current) which oscillates between a high and a low state at a constant frequency and ...
. Using the higher-address would briefly pause the CPU on the interference, affecting the program timing and making this mode unsuitable for I/O operations. Since video RAM was partially separated from the main address and data busses, for the most part the video subsystem and the CPU could operate
in parallel.
The first 16 KB of the memory map was used for ROM, Video and User-available RAM, leaving the second 16 KB of the memory map free for RAM extension and the topmost 32 KB undefined.
One 1K bank allowed redefinition of most of its 128
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
-based characters in 8×8
pixel
In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a Raster graphics, raster image, or the smallest addressable element in a dot matrix display device. In most digital display devices, p ...
bitmap
In computing, a bitmap (also called raster) graphic is an image formed from rows of different colored pixels. A GIF is an example of a graphics image file that uses a bitmap.
As a noun, the term "bitmap" is very often used to refer to a partic ...
format. The other 1K bank stored the full screen display of 24 rows × 32 columns of characters in black and white. Colour was intended to be achieved as expansion, but although a colour-graphics board was designed, none was ever produced commercially.
1 KB RAM with the option of a 16 KB RAM-Pack, and later a 32 KB one. A
PCB was also marketed by Boldfield Computing that converted the edge connector to electrical compatibility with a Sinclair ZX81, allowing use of the ZX81 16K RAM pack.
Specifications
References to the Ace
RAM
Ram, ram, or RAM most commonly refers to:
* A male sheep
* Random-access memory, computer memory
* Ram Trucks, US, since 2009
** List of vehicles named Dodge Ram, trucks and vans
** Ram Pickup, produced by Ram Trucks
Ram, ram, or RAM may also ref ...
sometimes include the separate 2
KB video memory, which was not available for programming, thus leading to some confusion. Similarly, it is sometimes argued that because of Forth's efficiency, the 1 KB standard RAM was in effect comparable to at least 2 KB on a BASIC system.
Programming

Its most distinctive characteristic was the choice of Forth, a
structured
Structuring, also known as smurfing in banking jargon, is the practice of executing financial transactions such as making bank deposits in a specific pattern, calculated to avoid triggering financial institutions to file reports required by law ...
language.
Threaded compilation allowed programs written to run nearly as fast as many native-
compiled languages loaded by more expensive computers. Forth was considered well-adapted to microcomputers with their small memory and relatively low-performance processors. Forth programs are memory-efficient; as they become bigger, they reuse more previously-defined code. Control structures could be nested to any level, limited only by available memory. This allowed complex programs to be implemented, even allowing
recursive programming. The Ace's Forth was stated to be "ten times faster than Basic"
and used less than half the memory (a significant cost percentage of low end computers of the time) of an equivalent program written in interpreted BASIC.
[ It also allowed easy implementation of ]machine code
In computer programming, machine code is computer code consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). For conventional binary computers, machine code is the binaryOn nonb ...
routines if needed.
Ace's Forth was based mostly on Forth-79, with some relevant differences, in particular it added syntax checking to control structures and definer constructions and a few extra words were added based on common BASIC
Basic or BASIC may refer to:
Science and technology
* BASIC, a computer programming language
* Basic (chemistry), having the properties of a base
* Basic access authentication, in HTTP
Entertainment
* Basic (film), ''Basic'' (film), a 2003 film
...
sound, video and tape commands. The implementation lacked some less frequently used Forth words, these being easily implemented if needed. Runtime error checking could be turned off to raise speed by 25% to 50%.
Decompiling
Its Forth was adapted to the disk-less tape-using home computer
Home computers were a class of microcomputers that entered the market in 1977 and became common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a s ...
hardware by being able to save/load user "compiled vocabularies", instead of the usual numbered programming blocks used by diskette systems.
Decompiling avoided wasting RAM in simulating an absent Block System, used with both disk and tape drivers (these last not to be confused with tape recorders). As replacement, it included an extra data file, for raw binary data. These solutions were unique to the Jupiter Ace.
DEFINER vs COMPILER
To allow decompile, it distinguished usual Forth definer and compiler words creation, replacing the CREATE .. DOES>
, creation pair with:
# DEFINER .... DOES>
: Create new Defining words, usually used to define and build data structures. Similar to CREATE..DOES
usage in standard FORTH. (Example: Adding Data Structures as Arrays, Records, ...).
# COMPILER .. RUNS>
: Create new Compiling words, less frequently used to extend the language with compiler words where CREATE..DOES>
is FORTH implementation dependent. (Example: New Compiler Control Structures as Case, Infinite Loop, ...).
These two defining pairs, instead of one alone, allowed the Ace to decompile its programs, unlike usual Forth systems. This decompiling ability was a solution to the absence of the more flexible disk system used by Forth. Not storing the source of a Forth program, but compiling the code after editing, it avoided completely the emulation of a disk/tape drive on RAM saving computer memory
Computer memory stores information, such as data and programs, for immediate use in the computer. The term ''memory'' is often synonymous with the terms ''RAM,'' ''main memory,'' or ''primary storage.'' Archaic synonyms for main memory include ...
. It also saved time in reading and writing programs from cassette tape. This tape-friendly and RAM-saving solution was unique to the Jupiter Ace Forth.
The names can be equivocal out of a Forth context, as all Words are compiled when declared.
DEFINER
defines a new Class (as an array) that will build (compile) an array Object. These are active on 'Interpreter'. Pairing this Interaction mode, COMPILER
defines a programming structure (usually a pair or a triplet) as IF-ELSE-THEN
. These 'Structured Programming' are active on 'Compile' mode (which is simply building a new Forth Word). In short, "Interpreting mode" means Run stage, while "Compiling mode" refers to an Editing stage.
Development
Avoiding sources was compensated by storing comments entered in the code with the compiled output, traditional compilation would discard such comments. The comments were then recovered on decompiling. As a result of "code is the source", modified words (edited) would demand actualization of all code using the one newly edited. This was done with the non standard REDEFINE
command.
Although not explicitly designed for such a purpose, the compiled Forth could be utilised for ROM extensions to the built in system. External ROMs were developed with Ace Forth to be used as control applications.
Add-ons
The machine was able to use some ZX81 add-ons due to similar RAM locations, and external expansion slot. Jupiter Cantab made a 16 KB RAM pack, and external companies made similar RAM packs as well as other peripherals and interfaces.
:RAM packs
:#16 KB by Jupiter Cantab.
:#16 KB and 32 KB by Stonechip Electronics.
:#16 KB by Sinclair, with adaptor board from Jupiter Cantab for electrical compatibility.
:#48 KB by Boldfield (new Jupiter Ace owner after Jupiter Cantab).
:Keyboard
:*Memotech Keyboard, by Memotech.
:Sound
:*SoundBoard (1983) by Essex Micro Electronics,
:Storage
:#Jet-Disc Disc Drive System (1983) by MPE (control up to four 3", 5", or 8" drives).
:#"Deep Thought" Disc interface with a 4K AceDOS in an EPROM (1986) by J Shepherd & S Leask.
:Printer Adapters
:*ADS Centronics Interface Machine (1983), by Advanced Digital Systems,
:*RS232 & Centronics PrinterCard (1984) by Essex Micro Electronics.
:*It was possible to connect the Sinclair ZX Printer via an adaptor board and software.
:Graphics Card
:#Gray Scale card – 4 shades of gray by S Leask (1986)
Models
Jupiter Ace issue 1
The original Jupiter Ace issue 1 was introduced in 1982, and came in a vacuum-drawn case. Reportedly 5000 units were produced.
File:Jupiter-ace-issue-1.jpg, Jupiter Ace issue 1
File:Jupiter Ace - Retrosystems 2010.jpg, Jupiter Ace issue 1
Jupiter Ace 4000
The Jupiter Ace 4000 was introduced in 1983, and came on stronger injection-moulded case. Reportedly 800 units were produced.
File:Jupiter Ace 4000.jpg, Jupiter Ace 4000
File:Jupiter Ace 4000 (Museum Swindon).jpg, Jupiter Ace 4000
Video game
There are 51 known commercially released video games for Jupiter Ace
See also
Other Forth-based microcomputers:
* Hector HRX
* Canon Cat
References
External links
{{commons category, Jupiter Ace
Jupiter Ace Resource Site
The Jupiter Ace restoration and preservation project.
ACE-ROM-PROJECT
Latest ROM Docs E-Book(PDF)
with restored ACE ROM (ZIP).
schematic (2012)
Computer-related introductions in 1982
Z80-based home computers
Computers designed in the United Kingdom
Home computers
Forth programming language family