Jupiter Ace

Last updated
Jupiter Ace
Jupiter ACE (restored).JPG
Type Home computer
Release date1982;38 years ago (1982)
Introductory price £89.95 [1] (equivalent to £319.78in 2019)
Discontinued1984;36 years ago (1984)
Operating system ACE Forth
CPU Z80 @ 3.25 MHz
Memory1 KB (maximum 49 KB)

The Jupiter Ace by Jupiter Cantab 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 instead of the more popular BASIC. [2]

Contents

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 [3]

Introduction

Jupiter Cantab was formed by Richard Altwasser and Steven Vickers. [4] 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.

The new Ace

The Jupiter Ace was named after the early British computer, the ACE. [5]

A small Jupiter ACE system Jupiter-ACE small system (modified).jpg
A small Jupiter ACE system

The Jupiter ACE is often compared with ZX81 due to its similar size, low cost, and similar form factor. [6] Internally its design is more similar to the ZX Spectrum 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.

Its most distinctive characteristic was the choice of Forth, a structured language allowing programs to be written that would run almost as fast as the compiled languages loaded by more expensive computers. Forth was considered well adapted to microcomputers with their small memory and relatively low-performance processors. [7] Forth programs are memory-efficient; as they become bigger, they reuse more previously-defined code. [8] 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 "ten times faster than Basic" [9] [10] [11] 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. [9] It also allowed easy implementation of machine code routines if needed. [12]

Specifications

CharacteristicValue
Processor Zilog Z80A clocked at 3.25 MHz. [13]
Operating System FORTH (as both Programming language and Command-line interface).
Memory 2KB for Video + 1 KB base expandable up to 49 KB (Video excluded).
Video Independent sub-system with 2 dedicated SRAM banks : Screen (1 KB) + Char Tiles (1 KB).
Sound Internal Speaker, CPU driven (non dedicated).
Expansion 2 connectors: Main (CPU related) + Video(Screen + AV signal).
Keyboard and Charset 40 keys Qwerty Keyboard (Symbols access with extra key).

All chars in Charset (based on ASCII-1967) being redefinable.

Character set Based on ASCII-1967 with extensions as for the ZX Spectrum character set including ↑, £ and ©.

References to the ACE RAM 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.

ACE's Forth

ACE's Forth Vocabulary Jupiter Ace vlist png.png
ACE's Forth Vocabulary

ACE's Forth was based mostly on Forth-79, with some relevant differences, [5] :176 in particular it added syntax checking to control structures and definer constructions and a few extra words were added based on common BASIC 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%. [5] :171

Decompiling

Its Forth 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.

Define vs Compile

To allow decompile, it distinguished usual Forth definer and compiler words creation, replacing the CREATE .. DOES>, [14] creation pair with:

  1. DEFINER .... DOES> : Create new Defining words, usually used to define and build data structures. Similar to CREATE..DOES usage in standard FORTH. [5] :120 ( Example: Adding Data Structures as Arrays, Records, ... ).
  2. COMPILER .. RUNS> : Create new Compiling words, less frequently used to extend the language with compiler words where CREATE..DOES> is FORTH implementation dependent. [5] :136 ( 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 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. 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.

Development

Avoiding sources was compensated by storing comments entered in the code with the complied 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. [15] [16]

System

Architecture

The ACE had an 8 KB ROM 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 numbers library and character definitions table, tape recorder access, decompiling and redefining newly re-edited 'words' (i.e. routines). [17] Some of the ROM was written in Z80 machine code, but some was also coded in Forth.

The next 8 KB were split in 2 blocks of 4 KB each. The video subsystem consumed 2 KB RAM and allowed the user to choose two different priorities, Regular or Overriding CPU contention. In the latter case TV Image timings were overidden, allowing more processor time for user programs at the expense of the display, which went blank.

The 1 KB of user RAM was only partially decoded, so it echoed in the full 4 KB block address space it resides. That is to say, the user program/data appeared to exist in four different memory locations.

The 1st 16 KB of the memory map was used for ROM, Video and User available RAM, leaving the 2nd 16KB of the memory map free for RAM extension and 32 KB undefined.

Hardware

CPU

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.

Video

One 1K bank allowed redefinition of most of its 128 ASCII based characters in 8×8 pixel bitmap 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, [18] none was ever produced commercially.

Both graphics and text could be displayed at the same time: (1) redefinition of the character tiles provided standard 256×192 graphics limited to the 128 available (definable) 8×8 chars, concurrent with plotting of 64×48 graphics.

Memory

1 KB RAM with the option of a 16 KB RAM-Pack, and later a 32k 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. [19]

Sound

Internal speaker directly controlled by the CPU in single task mode, with control of sound frequency and duration in ms.

External Storage

Storage was through a cassette tape interface at 1500 baud. Files could be used for either storage of forth programs (compiled code) or raw dumps of memory.

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 [20]
  1. 16 KB by Jupiter Cantab.
  2. 16 KB and 32 KB by Stonechip Electronics.
  3. 16 KB by Sinclair, with adaptor board from Jupiter Cantab for electrical compatibility.
  4. 48 KB by Boldfield (new Jupiter ACE owner after Jupiter Cantab).
Keyboard [21]
Sound [22]
  • SoundBoard (1983) by Essex Micro Electronics,
Storage [23]
  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, [24]
  • RS232 & Centronics PrinterCard (1984) by Essex Micro Electronics. [25]
Graphics Card
  1. Gray Scale card - 4 shades of gray by S Leask (1986)

Commercial

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. [26] 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.

Models

Jupiter ACE 4000 Jupiter Ace 4000.jpg
Jupiter ACE 4000

1982 - Original Jupiter ACE in a vacuum-drawn case - Reported 5000 units built. [27]

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

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. [29] 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." [30]

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. [31]

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. [32] Pupils were more interested in learning the widely used BASIC than a language used by only one (uncommon) machine with a peculiar RPN syntax. [33]

Finally, the tile-based graphics compared poorly to the pixel-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.

See also

Other Forth-based microcomputers:

Related Research Articles

The Sinclair QL, is a personal computer launched by Sinclair Research in 1984, as an upper-end counterpart to the Sinclair ZX Spectrum. The QL was aimed at the serious home user and professional and executive users markets from small to large businesses and higher educational establishments, but failed to achieve commercial success.

ZX80 home computer

The Sinclair ZX80 is a home computer launched on 29 January 1980 by Science of Cambridge Ltd.. It is notable for being one of the first computers available in the United Kingdom for less than a hundred pounds. It was available in kit form for £79.95, where purchasers had to assemble and solder it together, and as a ready-built version at £99.95. The ZX80 was very popular straight away, and for some time there was a waiting list of several months for either version of the machine.

ZX Spectrum Series of personal home computers

The ZX Spectrum is an 8-bit personal home computer released in the United Kingdom in 1982 by Sinclair Research.

ZX81 home computer produced by Sinclair Research

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-cost introduction to home computing for the general public. It was hugely successful; more than 1.5 million units were sold. In the United States it was initially sold as the ZX-81 under license by Timex. Timex later produced its own versions of the ZX81: the Timex Sinclair 1000 and Timex Sinclair 1500. Unauthorized ZX81 clones were produced in several countries.

Jupiter Cantab Limited was a Cambridge based home computer company. Its main product was the 1983 Forth based Jupiter Ace.

Sinclair BASIC is a dialect of the programming language BASIC used in the 8-bit home computers from Sinclair Research and Timex Sinclair. The Sinclair BASIC interpreter was made by Nine Tiles Networks Ltd.

Timex Sinclair 1000 home computer

The Timex Sinclair 1000 (TS1000) was the first computer produced by Timex Sinclair, a joint venture between Timex Corporation and Sinclair Research. It was launched in July 1982, with a US sales price of US$99.95, making it the cheapest home computer at the time; it was advertised as "the first computer under $100". The computer was aimed at regular home users. Unlike earlier computers aimed at home users, the TS1000 was not a kit which had to be soldered and assembled. As purchased, the TS1000 was fully assembled and ready to be plugged into the users' home TV. The TS1000 was a slightly-modified version of the Sinclair ZX81 with an NTSC RF modulator, designed for use with North American TVs, instead of the UK PAL RF modulator which was used for units sold in Portugal. The TS1000 doubled the onboard RAM from 1 KB to 2 KB. The TS1000's casing had slightly more internal shielding but remained the same as Sinclair's, including the membrane keyboard. It had black-and-white graphics and no sound. It was followed by an improved version, the Timex Sinclair 1500 which had substantially more RAM and a lower price (US$80). However, the TS1500 did not achieve market success, given that the marketplace was by this time dominated by Commodore, RadioShack, Atari and Apple.

Timex Sinclair 2068 home computer

The Timex Sinclair 2068 (TS2068), released in November 1983, was Timex Sinclair's fourth and last home computer for the United States market. It was also marketed in Canada, Argentina, Portugal and Poland, as the Timex Computer 2068.

Enterprise (computer) home computer

The Enterprise is a Zilog Z80-based home computer announced in 1983, but through a series of delays, not commercially available until 1985. The specification as released was powerful and one of the higher end in its class. This was due to the use of ASICs for graphics and sound which took workload away from the CPU, an extensive implementation of ANSII BASIC and a bank switching system to allow for larger amounts of RAM than the Z80 natively supported. It also featured a distinctive and colourful case design, and promise of multiple expansion options. Ultimately it was not commercially successful, after multiple renames, delays and a changing market place. Its manufacturer calling in the receivers in 1986 with significant debt. It was developed by British company Intelligent Software and marketed by Enterprise Computers. Its two variants are the Enterprise 64, with 64 kilobytes of Random Access Memory (RAM), and the Enterprise 128, with 128 KB of RAM.

Galaksija (computer)

The Galaksija was a build-it-yourself computer designed by Voja Antonić. It was featured in the special edition Računari u vašoj kući of a popular eponymous science magazine, published late December 1983 in Belgrade, Yugoslavia. Kits were available but not required as it could be built entirely out of standard off-the-shelf parts. It was later also available in complete form.

<i>3D Monster Maze</i> video game

3D Monster Maze is a computer game developed from an idea by J.K. Greye and programmed by Malcolm Evans in 1981 for the Sinclair ZX81 platform with the 16 KB memory expansion. The game was initially released by J. K. Greye Software in early 1982 and re-released later the same year by Evans' own startup, New Generation Software. Rendered using low-resolution character block "graphics", it was one of the first 3D games for a home computer, and one of the first games incorporating typical elements of the genre that would later be termed survival horror.

Beta BASIC

Beta BASIC is a BASIC interpreter for the Sinclair Research ZX Spectrum microcomputer, written by Dr Andy Wright in 1983 and sold by his one-man software house BetaSoft. BetaSoft also produced a regular newsletter/magazine, BetaNews.

Steve Vickers (computer scientist) mathematician, computer scientist

Steve Vickers is a British mathematician and computer scientist. In the early 1980s, he wrote ROM firmware and manuals for three home computers, the Sinclair ZX81 and ZX Spectrum and the Jupiter Ace. The latter was produced by Jupiter Cantab, a short-lived company Vickers formed together with Richard Altwasser, after the two had left Sinclair Research. Since the late 1980s, Vickers has been an academic in the field of geometric logic, writing over 30 papers in scholarly journals on mathematical aspects of computer science. His book Topology via Logic has been influential over a range of fields. In October 2018, he retired as senior lecturer at the University of Birmingham. As announced on his university homepage, he continues to supervise PhD students at the university and focus on his research.

ZX Spectrum character set

The ZX Spectrum character set is the variant of ASCII used in the British Sinclair ZX Spectrum family computers. It is based on ASCII-1967 but the characters ^, ` and DEL are replaced with ↑, £ and ©. It also differs in its use of the C0 control codes other than the common BS and CR, and it makes use of the 128 high-bit characters beyond the ASCII range. The ZX Spectrum's main set of printable characters and system font are also used by the Jupiter Ace computer.

Richard Francis Altwasser is a British engineer and inventor, responsible for the hardware design of the ZX Spectrum.

Oric was the name used by Tangerine Computer Systems for a series of home computers, including the original Oric-1, its successor the Oric Atmos and the later Oric Telestrat models.

RAM pack

RAM pack, RAMpack, RAM expansion cartridge, RAM expansion unit (REU), memory expansion pak and memory module are some of the most common names given to various self-contained units or cartridges that expand a computer, games console or other device's own internal RAM in a user-friendly manner.

The IBM Personal Computer Basic, commonly shortened to IBM BASIC, is a programming language first released by IBM with the IBM Personal Computer, Model 5150 in 1981. IBM released four different versions of the Microsoft BASIC interpreter, licensed from Microsoft for the PC and PCjr. They are known as Cassette BASIC, Disk BASIC, Advanced BASIC (BASICA), and Cartridge BASIC. Versions of Disk BASIC and Advanced BASIC were included with IBM PC DOS up to PC DOS 4. In addition to the features of an ANSI standard BASIC, the IBM versions offered support for the graphics and sound hardware of the IBM PC line. Source code could be typed in with a full-screen editor, and very limited facilities were provided for rudimentary program debugging. IBM also released a version of the Microsoft BASIC compiler for the PC, concurrently with the release of PC DOS 1.10 in 1982.

ZX81 character set

The ZX81 character set is the character encoding used by the Sinclair Research ZX81 family of microcomputers including the Timex Sinclair 1000 and Timex Sinclair 1500. The encoding uses one byte per character for 256 code points. It has no relationship with previously established ones like ASCII or EBCDIC, but it is related though not identical to the character set of the predecessor ZX80.

References

  1. "ZX81 killer in a post-Spectrum age?". 2012-08-01. Retrieved 2013-06-26.
  2. "Sales brochure". Page 1
  3. "Provence Trail - The Jupiter Ace" . Retrieved 2016-07-29.
  4. "An interview with Richard Altwasser and Steven Vickers". Archived from the original on 2011-05-16. Retrieved 2008-09-18.
  5. 1 2 3 4 5 Vickers, Steven (1982). Jupiter Ace FORTH Programming.
  6. "Unpopulated PCB".
  7. Byte Magazine."Editorial". 1980,August. Special Edition.
  8. James, John S. Byte Magazine. 1980, Aug. "What is Forth?", page 102, section "Characteristics of FORTH Code".
  9. 1 2 "Spectrum team deal their Ace". Popular Computing Weekly. 26 August 1982. Archived from the original on 3 March 2016. Retrieved 15 November 2012.
  10. "Benchmarks (Entry #9)".
  11. The Complete FORTH, by Alan Winfield, 1983, Sigma Technical Press, page xi.
  12. Electronics & Computing. "Jupiter Ace Review". 1982, November. page 70.
  13. Tecnologías Libres para Síntesis de Imagen Digital Tridimensional. p. 40. ISBN   978-84-689-9280-8. Micro Z80 a 3.25 MHz [...], el Jupiter Ace [...]
  14. Winfield, Alan: "The Complete Forth", Chapter 9 "Extending FORTH", Sigma Technical Press, 1983.
  15. "ACE User 4, page 8: ROM Expansion for the Ace" (PDF).
  16. "FORTH User Vol2#1, page 2, "EPROMs for the ACE"" (PDF).
  17. "ACE ROM Project (E-Book)".
  18. "Adding colour to the Ace". article in ETI Magazine, April 1984
  19. "/pub/Vintage/Sinclair/80/Jupiter Ace/Peripherals/Motherboard (Boldfield)". The Sinclair ZX Computers Archive. Retrieved 8 December 2019.
  20. "RamPacks".
  21. "Memotech Keyboard".
  22. "EME AY-3-8910 Sound board Review".
  23. "Disc Drives".
  24. "ADS Centronics".
  25. "Printercard".
  26. "Your Computer Magazine (1983 - 01)". The Internet Archive. January 1983. p. 28. Retrieved 8 December 2019.
  27. "What is A Jupiter ACE". Archived from the original on 2012-06-17. Retrieved 2008-09-24.
  28. "What is A Jupiter ACE 4000".
  29. "What is an Ace". Archived from the original on 2012-06-17. Retrieved 2008-09-24.
  30. "Jupiter Ace Resource Site - Your Computer Review, November 1982" . Retrieved 2013-04-27.
  31. "Jupiter Ace Software Index". Archived from the original on 2007-05-23. Retrieved 2014-10-05.
  32. "Jupiter Ace Resource Site - Letter - Ace Goes Back To School in Popular Computing Weekly 11 November 1982" . Retrieved 2013-04-27.
  33. "The Jupiter Ace is 30 - Page 5 • The Register" . Retrieved 2013-04-27.
  34. "Micronique HECTOR HRX". OLD-COMPUTERS.COM Museum. Archived from the original on November 21, 2010. Retrieved January 5, 2015.