Jupiter ACE
Encyclopedia
The Jupiter Ace was a British home computer
Home computer
Home computers were a class of microcomputers entering the market in 1977, and becoming increasingly 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 single nontechnical user...

 of the early 1980s, produced by a company, set up for the purpose, named Jupiter Cantab
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 machine was, externally, remarkably similar to the ZX Spectrum,...

. The Ace differed from other microcomputers of the time in that it used FORTH instead of the more common BASIC
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....

.

Introduction

Jupiter Cantab
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 machine was, externally, remarkably similar to the ZX Spectrum,...

 was formed by Richard Altwasser
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 Sinclair Research in September 1980...

 and Steven Vickers
Steve Vickers (academia)
Steve Vickers is the author of the Sinclair ZX Spectrum home computer ROM firmware. He is currently a Senior Lecturer at the University of Birmingham, UK.- Education :...

.
Both had been on the design team for the Sinclair
Sinclair Research Ltd
Sinclair Research Ltd is a British consumer electronics company founded by Sir Clive Sinclair in Cambridge. Originally incorporated in 1973 as Ablesdeal Ltd., it remained dormant until 1976, and did not adopt the name Sinclair Research until 1981....

 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. The Jupiter Ace was named after the early British computer, the ACE
ACE (computer)
The Automatic Computing Engine was an early electronic stored-program computer design produced by Alan Turing at the invitation of John R. Womersley, superintendent of the Mathematics Division of the National Physical Laboratory . The use of the word Engine was in homage to Charles Babbage and his...

. The name was chosen to emphasize the "firsts" of using FORTH environment as more efficient for personal computers.

FORTH is a threaded code
Threaded code
In computer science, the term threaded code refers to a compiler implementation technique where the generated code has a form that essentially consists entirely of calls to subroutines...

 programming language that also acted as operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

. As such, "Forth was developed as the world's first and, at that time, only practical, fully Integrated (and explicitly Interactive) software Development Environment (IDE)"

The Jupiter Ace system was adapted to the disk-less tape-using home computer
Home computer
Home computers were a class of microcomputers entering the market in 1977, and becoming increasingly 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 single nontechnical user...

 hardware.
On average, and for similar programs, ACE's FORTH was 5 times faster and used half the memory (which was a costly luxury at the time) of an equivalent program written in interpreted BASIC. Forth programs tend to be more memory efficient than the bigger programs; as they become bigger, they reuse more previously-defined code.

For such reasons FORTH was chosen to deliver better performance and [structured programming] flexibility.

System characteristics

The Jupiter ACE is often compared with ZX81
Sinclair ZX81
The ZX81 was a home computer produced by Sinclair Research and manufactured in Scotland by Timex Corporation. It was launched in the United Kingdom in March 1981 as the successor to Sinclair's ZX80 and was designed to be a low-cost introduction to home computing for the general public...

 due to its similar size, low cost, and similar form factor, although internally it is an independent design. The ZX81 used 75% of its Z80
Zilog Z80
The Zilog Z80 is an 8-bit microprocessor designed by Zilog and sold from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes...

 CPU time
CPU time
CPU time is the amount of time for which a central processing unit was used for processing instructions of a computer program, as opposed to, for example, waiting for input/output operations. The CPU time is often measured in clock ticks or as a percentage of the CPU's capacity...

 to drive the video. In ACE the Z80 CPU was fully used for running programs. The ACE used dedicated video memory of 2 KB, leaving the 1 KB main memory free for user programming.

The Jupiter ACE was new to the market and the designers couldn't afford to use an uncommitted logic array
Gate array
A gate array or uncommitted logic array is an approach to the design and manufacture of application-specific integrated circuits...

 (ULA), which were common in other computers (such as the ZX 81) to reduce component count, because these weren't economical in small quantities. Instead they reduced the number of chips required via clever design.

Like the Spectrum, the Ace used black rubber keys
Chiclet keyboard
A chiclet keyboard or island-style keyboard is a computer keyboard built with an array of small, flat rectangular or lozenge-shaped rubber or plastic keys that look like erasers or "Chiclets", a brand of chewing gum manufactured in the shape of small squares with rounded corners...

. Audio capabilities were CPU controlled with programmable frequency and duration. Sound output was through a small built-in speaker. A television was needed as a display - which was in black and white only.

Programs and data storage was by means of a common cassette tape, which was typical of home computers of the time.

Specifications

  • Processor: Zilog Z80A clocked at 3.25 MHz.
  • Memory
    Static random access memory
    Static random-access memory is a type of semiconductor memory where the word static indicates that, unlike dynamic RAM , it does not need to be periodically refreshed, as SRAM uses bistable latching circuitry to store each bit...

    : 1 KB
    Kilobyte
    The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

    , expandable up to 49 KB (Video SRAM excluded).
  • Video
    Video
    Video is the technology of electronically capturing, recording, processing, storing, transmitting, and reconstructing a sequence of still images representing scenes in motion.- History :...

    : Independent sub-system using dedicated 2 banks of 1 KB making a total of 2 KB of extra SRAM
    Static random access memory
    Static random-access memory is a type of semiconductor memory where the word static indicates that, unlike dynamic RAM , it does not need to be periodically refreshed, as SRAM uses bistable latching circuitry to store each bit...

    .
  • Sound
    Sound
    Sound is a mechanical wave that is an oscillation of pressure transmitted through a solid, liquid, or gas, composed of frequencies within the range of hearing and of a level sufficiently strong to be heard, or the sensation stimulated in organs of hearing by such vibrations.-Propagation of...

    : Internal Speaker.
  • Keyboard
    Keyboard (computing)
    In computing, a keyboard is a typewriter-style keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches...

    : 40 keys.
  • Expansion: 2 connectors: One CPU related similar to the one in the ZX-81, the other connecting to the Video sub-system.


References to the ACE RAM
Ram
-Animals:*Ram, an uncastrated male sheep*Ram cichlid, a species of freshwater fish endemic to Colombia and Venezuela-Military:*Battering ram*Ramming, a military tactic in which one vehicle runs into another...

 usually include the separate 2 KB
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

 video memory, which is not available for user programs, thus leading to some confusion.

Hardware

Video:
One 1K bank allowed redefinition of most of its 128 characters ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

 based characters in 8×8 pixel
Pixel
In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....

 bitmap
Bitmap
In computer graphics, a bitmap or pixmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to...

 format. The other 1K bank stored the full screen display of 24 rows x 32 columns of characters in black and white. So while the Ace had only one text video mode, redefinition of the character shapes could provide graphics in a low resolution of 64x48, and a higher resolution mode of 256x192 graphics, limited by the 128 available (definable) 8x8 chars. Both graphics and text could be displayed at the same time.

The font of the character set is identical to that of the Spectrum, but the display is white on black whereas the Spectrum has colour hardware.
Although a colour graphics board was designed none was ever produced commercially.

Sound:
An internal speaker was directly controlled by the CPU in single task mode, with control of sound frequency and its duration in milliseconds.

External Storage:
Storage was through a cassette tape interface at 1500 baud
Baud
In telecommunications and electronics, baud is synonymous to symbols per second or pulses per second. It is the unit of symbol rate, also known as baud rate or modulation rate; the number of distinct symbol changes made to the transmission medium per second in a digitally modulated signal or a...

.

Add-ons:
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 effectively due to power losses. Dedicated add-ons were needed and built by external companies, after the initial 16 KB by Jupiter Cantab.
RAM
  1. Pack 16 KB by Jupiter Cantab.
  2. Pace 16 KB and 32 KB by Stonechip Electronics.
  3. Pack 48 KB by Boldfield (new Jupiter ACE owner after Jupiter Cantab).
Keyboard
  • Memotech Keyboard, by Memotech.
Sound
  • SoundBoard (1983) by Essex Micro Electronics,
Storage
  1. Jet-Disc Disc Drive System (1983) by MPE (control up to four 3", 5", or 8" drives).
  2. "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
  1. Gray Scale card - 4 shades of gray by S Leask (1986)

Firmware

The ACE had an 8 KB ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

 containing the Forth kernel
Kernel (computing)
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources...

 and operating system, and the predefined dictionary of Forth words in about 5KB. The remaining 3KB of ROM were used for tape control, floating point
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...

 numbers library and character definitions table. Some of the ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

 was written in Z80 machine code
Machine code
Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...

, but some was also coded in Forth.

The next 8 KB were split in 2 blocks of 4KB each. The video subsystem access allowing two different priorities by the user to the 2KB VRAM
VRAM
Video RAM, or VRAM, is a dual-ported variant of dynamic RAM , which was once commonly used to store the framebuffer in some graphics adapters....

, Regular or Overriding video. The 1 KB of user RAM was only partially decoded
Address decoder
In digital electronics, an address decoder is a decoder circuit that has two or more bits of an address bus as inputs and that has one or more device selection lines as outputs. When the address for a particular device appears on the address bus, the address decoder asserts the selection line for...

, so it echoed to fill the next 4 kB block.
So a 16 KB space was used for ROM, VIDEO, and USER, leaving free a 16 KB space for RAM extension plus 32KB space free for all possible usages.

Forth

The major visible difference from previous introductory computers, was Forth as its default programming language. Forth was considered well adapted to microcomputers with small memory and relatively low-performance processors. Forth allowed control structures to be nested to any level, limited only by available memory. Forth allowed implementation of machine code
Machine code
Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...

 routines, if needed for a particular task. Forth also allowed recursive programming
Recursion (computer science)
Recursion in computer science is a method where the solution to a problem depends on solutions to smaller instances of the same problem. The approach can be applied to many types of problems, and is one of the central ideas of computer science....

, if desired. On the downside, the usage of a data stack
Stack (data structure)
In computer science, a stack is a last in, first out abstract data type and linear data structure. A stack can have any abstract data type as an element, but is characterized by only three fundamental operations: push, pop and stack top. The push operation adds a new item to the top of the stack,...

 and the associated Reverse Polish notation
Reverse Polish notation
Reverse Polish notation is a mathematical notation wherein every operator follows all of its operands, in contrast to Polish notation, which puts the operator in the prefix position. It is also known as Postfix notation and is parenthesis-free as long as operator arities are fixed...

 were as unfamiliar as was structured programming
Structured programming
Structured programming is a programming paradigm aimed on improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures and for and while loops - in contrast to using simple tests and jumps such as the goto statement which could...

.

ACE's Forth was based mostly on Forth-79, with some relevant differences.
Runtime error checking could be turned off to raise speed by 25% to 50%. A few extra words were named similar to known BASIC
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....

 sound, video and tape commands, as behavior was the same. The implementation lacked less frequently used Forth words, but these were easily implemented if needed.

The ACE's dialect of FORTH introduced several innovations. It simplified usual Forth definer and compiler words creation, with the CREATE .. DOES>, creation pair with:
  1. DEFINER .... DOES> : Create new Defining words, usually used to define and build data data structures, ( Examples: Arrays, Records, ... ).
  2. 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 programming blocks used 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 more flexible 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 computer memory
Computer memory
In computing, memory refers to the physical devices used to store programs or data on a temporary or permanent basis for use in a computer or other digital electronic device. The term primary memory is used for the information in physical systems which are fast In computing, memory refers to the...

 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.

Commercial

Though Forth delivered several advantages over the interpreted BASIC used on all other contemporary home computers, the weak box and small initial memory kept the sales low despite technical interest.

Models

1982 - Original Jupiter ACE in a yogurt-pot type of case - Reported 8000 units built.

1983 - Jupiter ACE 4000 on stronger injection moulded case - Reported 800 units built.

Sales

Sales of the machine were never very large; as of the early 2000s, surviving machines are quite uncommon, fetching high prices as collector's items. One main reason for low sales seems to have been the need to buy an extra 16 KB
Kilobyte
The kilobyte is a multiple of the unit byte for digital information. Although the prefix kilo- means 1000, the term kilobyte and symbol KB have historically been used to refer to either 1024 bytes or 1000 bytes, dependent upon context, in the fields of computer science and information...

 RAM
Dynamic random access memory
Dynamic random-access memory is a type of random-access memory that stores each bit of data in a separate capacitor within an integrated circuit. The capacitor can be either charged or discharged; these two states are taken to represent the two values of a bit, conventionally called 0 and 1...

-extension which almost doubled the ACE's price. It happened that the designed 4 KB of base RAM was not built in favour of the less costly 1 KB delivered. The absence of colour kept the ACE squarely in a niche market of programming enthusiasts.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK