The Jupiter Ace by
Jupiter Cantab
Jupiter Cantab Limited was a Cambridge based home computer company. Its main product was the 1983 Forth-based Jupiter Ace.
The company was founded in 1982 by two ex-Sinclair Research staffers, Richard Altwasser and Steven Vickers. Their machi ...
was a British home computer of the early 1980s. The Ace differed from other microcomputers of the time in that its programming environment used
Forth
Forth or FORTH may refer to:
Arts and entertainment
* ''forth'' magazine, an Internet magazine
* ''Forth'' (album), by The Verve, 2008
* ''Forth'', a 2011 album by Proto-Kaw
* Radio Forth, a group of independent local radio stations in Scotla ...
instead of the more popular
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
.
After Jupiter Cantab ceased trading, the brand was acquired by
Boldfield Computing Ltd in 1984, before eventually being sold to Paul Andrews's company Andrews UK Limited in 2015.
History
Jupiter Cantab
Jupiter Cantab Limited was a Cambridge based home computer company. Its main product was the 1983 Forth-based Jupiter Ace.
The company was founded in 1982 by two ex-Sinclair Research staffers, Richard Altwasser and Steven Vickers. Their machi ...
was formed by
Richard Altwasser
Richard Francis Altwasser is a British engineer and inventor, responsible for the hardware design of the ZX Spectrum.
Biography
Altwasser graduated at Trinity College, Cambridge, with a degree in engineering in June 1978. He was hired by Si ...
and
Steven Vickers.
Both had been on the design team for the
Sinclair ZX Spectrum
The ZX Spectrum () is an 8-bit home computer that was developed by Sinclair Research. It was released in the United Kingdom on 23 April 1982, and became Britain's best-selling microcomputer.
Referred to during development as the ''ZX81 Colour ...
:
Altwasser did some work on the development of the ZX-81 and in the design of the hardware of the Spectrum.
Vickers
Vickers was a British engineering company that existed from 1828 until 1999. It was formed in Sheffield as a steel foundry by Edward Vickers and his father-in-law, and soon became famous for casting church bells. The company went public in 18 ...
adapted and expanded the 4K ZX-80 ROM to the 8K ZX-81 ROM and wrote most of the ROM for the Spectrum.
The Jupiter Ace was named after an early British computer, the
Pilot ACE
The Pilot ACE (Automatic Computing Engine) was one of the first computers built in the United Kingdom. Built at the National Physical Laboratory (NPL) in the early 1950s, it was also one of the earliest general-purpose, stored-program computers ...
.
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.
Sales
Sales of the machine were never very large; the reported number of Ace's 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 program
A type-in program or type-in listing was computer source code printed in a home computer magazine or book. It was meant to be entered via the keyboard by the reader and then saved to cassette tape or floppy disk. The result was a usable game, ...
s 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, stone, metal, baked clay, or even glass. They are generally fixed in place in an array to cover roofs, floors, walls, edges, or o ...
-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 image, or the smallest point in an all points addressable display device.
In most digital display devices, pixels are the smal ...
-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-cos ...
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 that was developed by Sinclair Research. It was released in the United Kingdom on 23 April 1982, and became Britain's best-selling microcomputer.
Referred to during development as t ...
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.
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.
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 o ...
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
ms.
Storage was through a cassette tape interface at 1500
baud
In telecommunication 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 modulatio ...
. 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
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine learnin ...
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 that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
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 any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a very ...
, 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. 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 ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
-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 image, or the smallest point in an all points addressable display device.
In most digital display devices, pixels are the smal ...
bitmap
In computing, a bitmap is a mapping from some domain (for example, a range of integers) to bits. It is also called a bit array
A bit array (also known as bitmask, bit map, bit set, bit string, or bit vector) is an array data structure that c ...
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
PCB may refer to:
Science and technology
* Polychlorinated biphenyl, an organic chlorine compound, now recognized as an environmental toxin and classified as a persistent organic pollutant
* Printed circuit board, a board used in electronics
* ...
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 may refer to:
Animals
* A male sheep
* Ram cichlid, a freshwater tropical fish
People
* Ram (given name)
* Ram (surname)
* Ram (director) (Ramsubramaniam), an Indian Tamil film director
* RAM (musician) (born 1974), Dutch
* ...
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 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 any low-level programming language, consisting of machine language instructions, which are used to control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a very ...
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 (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
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
Forth or FORTH may refer to:
Arts and entertainment
* ''forth'' magazine, an Internet magazine
* ''Forth'' (album), by The Verve, 2008
* ''Forth'', a 2011 album by Proto-Kaw
* Radio Forth, a group of independent local radio stations in Scotla ...
was adapted to the disk-less tape-using home computer 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
Forth or FORTH may refer to:
Arts and entertainment
* ''forth'' magazine, an Internet magazine
* ''Forth'' (album), by The Verve, 2008
* ''Forth'', a 2011 album by Proto-Kaw
* Radio Forth, a group of independent local radio stations in Scotla ...
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 2 defining pairs, instead of one alone, allowed the Ace to decompile its programs, unlike usual Forth
Forth or FORTH may refer to:
Arts and entertainment
* ''forth'' magazine, an Internet magazine
* ''Forth'' (album), by The Verve, 2008
* ''Forth'', a 2011 album by Proto-Kaw
* Radio Forth, a group of independent local radio stations in Scotla ...
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
In computing, memory is a device or system that is used to store information for immediate use in a computer or related computer hardware and digital electronic devices. The term ''memory'' is often synonymous with the term ''primary storage ...
. 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 ZX-81 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.
:Graphics Card
:#Gray Scale card - 4 shades of gray by S Leask (1986)
Models
1982 - Original Jupiter Ace in a vacuum-drawn case - Reported 5000 units built.
1983 - Jupiter Ace 4000 on stronger injection moulded case - Reported 800 units built.
See also
Other Forth-based microcomputers:
* Hector HRX
* Canon Cat
Canon Cat is a task-dedicated desktop computer released by Canon Inc. in 1987 at the price of U.S. $1,495. On the surface, it was not unlike dedicated word processors popular in the late 1970s to early 1980s, but it was far more powerful, and in ...
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