The Jupiter Ace was a British home computer of the early 1980s, produced by a company, set up for the purpose, named Jupiter Cantab. The Ace differed from other microcomputers of the time in that it used Forth (rendered as "FORTH" in the Ace's advertising and documentation) instead of the usual BASIC.
FORTH systems combine high performance and code compactness with the programming benefits of high-level programming languages. Jupiter ACE's designers intended to deliver FORTH many advantages to the public, education and industry.
It was named after the early British computer, the ACE
. The name choice of the name hide several references:
- An introductory home computer that avoided BASIC programming - It was a first.
- Having an high level programing language and high performance - It was an ace.
FORTH was adapted to disk-less tape-using home computer hardware and the creation of compiler words was simplified.
- The Jupiter ACE was this FORTH dialect inside a simple and efficient hardware.
- On average, and for similar programs, ACE's Forth was 5 times faster and needing half the RAM (when RAM was an expensive luxury).
ACE's FORTH made it a very fast micro-computer and also one that promoted well structured code.
It grabbed the attention of the community.
The company, Jupiter Cantab
, was formed by Richard Altwasser
and Steven Vickers
Both had been on the design team for the Sinclair ZX Spectrum:
- Altwasser did some work on the development of the ZX-81 and in the design of the hardware of the Spectrum.
- Vickers adapted and expanded the 4K ZX-80 ROM to the 8K ZX-81 ROM and wrote most of the ROM for the Spectrum.
A promising association, with high hopes but limited in money and time. So the ACE born conditioned by those limits.
The Jupiter ACE enclosure reminded a ZX81 but in a white case. Like the Spectrum, it used black rubber keys. Likewise it displayed output on a television. Programs and data storage was by means of a common cassette tape, as was standard at that time. Like the ZX Spectrum, the machine's audio capabilities were restricted to beeps of programmable frequency and duration, output through a small built-in speaker.
But similarities with the ZX81 are limited to the outside box, or a base RAM of just 1KB:
- The ZX81 used 75% of it's Z80 [[CPU Time] to drive the Video while the ACE had its Dedicated Video Circuit.
- The use of discrete transistor-transistor logic rather than the ULA Sinclair machines (used just after the ZX-80).
The Jupiter-ACE, like the ZX-80 that preceded the ZX-81, was a starting computer and couldn't yet afford using an ULA (only highly economical in high quantities).
- CPU : The machine was based on a Zilog Z80 processor (or a clone by NEC) clocked at 3.25 MHz.
- RAM : Produced with a RAM base for programming of just 1 KB, expandable up to a maximum of 49 KB.
- Video ; Independent sub-system using dedicated 2 banks of 1 KB making a total of 2 KB of extra VRAM.
- Sound : Internal Speaker.
- Keyboard : was the same type used in the Spectrum, but avoiding single-keyword entry (due to the extensible nature of the residing Forth language).
- Expansion : 2 connectors: One (standard, CPU related) similar to the one in the ZX-81. The other (extra) connecting to the Video sub-system.
The ACE RAM is usually referenced including the 2 KB Video banks of VRAM, leading to some confusion.
- *One 1K bank allowed redefinition of most of its 128 characters ASCII based characters in 8×8 pixel bitmap format.
- *The other 1K bank stored the full screen display of 24 rows x 32 columns of characters in black and white.
So while it had only one video mode, text only, it was possible to display graphics. The font of the character set was identical to that of the Spectrum, but the display was white on black, unlike the Spectrum. Although a color graphics board was designed none was ever commercialized.
- *An Internal Speaker directly controlled by the CPU in single task mode.
- *Cassete tape interface with a 1500 baud throughput. (ZX-81= 300 baud, Spectrum= 1350 baud )
Originally developed to receive ZX-81 add-ons, with a compatible expansion slot, it was actually delivered in a different configuration. A simple rewiring adapter could be used, but not very effective. Dedicated add-ons were needed and built by external companies after the initial 16KB by Jupiter Cantab.
- #Pack 16KB by Jupiter Cantab.
- #Pace 16KB and 32KB by Stonechip Electronics.
- #Pack 48KB by Boldfield (new Jupiter ACE owner after Jupiter Cantab).
- *Memotech Keyboard, by Memotech.
- *SoundBoard (1983) by Essex Micro Electronics,
- #Jet-Disc Disc Drive System (1983) by MPE.(control up to four 3", 5", or 8" drives).
- #Drive Disk Controler (1985) by MPE.(compatible with most makes of 5¼" floppy disc units and some types of 3" drive).
- Printer Adapters
- *ADS Centronics Interface Machine (1983), by Advanced Digital Systems,
- *RS232 & Centronics PrinterCard (1984) by Essex Micro Electronics.
The major visible difference, from previous 'introductory computer' like the ZX81, was the machine avoided the BASIC language problems (low speed, non-structured code) by using Forth as its default programming language. On the downside, the usage of a data stack and the associated Reverse Polish notation were unfamiliar.
- *Forth, being a structured language and efficient one (both on speed and RAM usage), was considered more adapted to be used by micro-computers (meaning an affordable but slow CPU and a small size RAM). The new microcomputer was meant to be fast and useful.
- *Forth allowed easier implementation of Machine code routines, if needed for a particular task.
The ACE had an 8 KB ROM containing the O/S, Forth Kernel and the predefined dictionary of Forth words. Some of the ROM was written in Z80 machine code, but some was also coded in Forth, giving it a very elegant self-referential operating system.
ACE's Forth was based mostly on Forth-79, with some relevant differences:
- A few extra Words were named similar to known BASIC sound, video and tape commands, as behavior was the same.
- Lacked less used Forth Words, easy implemented if needed.
- It introduced several innovations, as follows:
As a Programming Language:
- It simplified usual Forth definer and compiler words creation, with the CREATE .. DOES> , creation pair with:
- DEFINER .... DOES> : Create new Defining words, usually used to define and build data data structures, (Examples: Arrays, Records, ... ).
- COMPILER .. RUNS> : Create new Compiling words, less frequently used to extend the language with new control structures. (Examples: Case, Infinite-Loop, ... ).
As an Operating System:
- It was adapted to Tape usage, saving/loading user vocabularies instead of the usual numbered programing blocks in diskette systems.
- The ACE's Forth could decompile its programs, unlike usual Forth systems:
This decompiling ability had several advantages as a solution to the absence of the usual disk system used by Forth;
- It did not store the text of a Forth program, instead it compiled the code after editing and stored it in ready-to-run format.
- While this saved RAM 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.
delivered several great advantages over the interpreted BASIC
that was used on other machines, the weak box and too small initial RAM
kept the sales low in spite of technical interest.
Excellent reviews in every magazines already had grabbed attention and interest.
1982 - Original Jupiter ACE on an yogurt-pot type of case - Reported 8000 units built.
1983 - Jupiter ACE 4000 on stronger injection moulded case - Reported 800 units built.
Sales of the machine were never very large; as of the early 2000s, surviving machines are quite uncommon, fetching quite high prices as collector's items. One main reason seems to have been the need to buy an extra 16KB RAM
-extension which almost doubled
the ACE's price. It happened that the designed 4 KB
of base RAM
was not built in favor of the 1 [[kilobyte|KB] delivered.
Industry and Education did not respond, apparently for those reasons, half solved with the late ACE4000.
As for the public, the meager sound and graphics capabilities kept the ACE squarely in a niche market of programming entusiasts.
It must be understood that with ACE's Forth 1 KB was equivalent to 2 KB (on average) in Sinclair computers. It was a real limit nonetheless. Notice that an initial 4 KB (in design) would be the equivalent of about 8 KB in BASIC. If that had been the case, though slightly more expensive, it would have been much more useful and attractive starting right from the base model.
It's full discrete logic construction makes this home computer
an excellent choice to clone
for digital electronics, programming learning and small languages study. Any of these isolated or integrated with the others.
An added advantage for educators is that Forth is an High level language but still very close to the hardware.
It's design blueprints are available for study and construction, as is it's ROM file and code.
Today, for all the above, the ACE keeps being an excellent education tool (as it was originally intended).
- An interview with Richard Altwasser and Steven Vickers
- A review from Electronics & Computing, November, 1982.