Jupiter Ace

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Jupiter Ace
Jupiter Ace
Type Home computer
Release date 1982; 34 years ago (1982)
Introductory price £89.95 (today $286.28)[1]
Discontinued 1984; 32 years ago (1984)
Operating system ACE Forth
CPU Z80 @ 3.25 MHz
Memory 1 kB (maximum 49 kB)

The Jupiter Ace was a British home computer of the early 1980s. It was produced by the company Jupiter Cantab which was set up for the purpose. The Ace differed from other microcomputers of the time[2] in that it used Forth instead of the more popular BASIC. After Jupiter Cantab ceased trading, the brand was acquired by Boldfield Computing Ltd in 1984, before eventually being sold to Andrews UK Limited in 2015[3] (the company owned by Paul Andrews, who also conceived the Sinclair Spectrum ZX Vega games console).

The Jupiter Ace was the first of its class to use a very fast structured language, free of spaghetti code, without the need to be loaded or even bought. The language was also the first (and only) adapted to use a cassette tape recorder[dubious ] (without the disk/tape drives of highly priced systems).

The down side of the language was its argument passing managed by the programmer. Additionally, not being a promoted language and the needing to later add a RAM Extension Pack, would be arguments against its offer of both power and professional programming delivered in a cheap computer.

Introduction[edit]

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 Jupiter Ace was named after the early British computer, the ACE. The name was chosen to emphasize the "firsts" of using FORTH environment. This, in contrast to previous introductory computers was its most distinctive characteristic, Forth being already considered well adapted to microcomputers (with small memory and relatively low-performance processors).[5]

This was a structured language allowing complex programs to be built, free from BASIC's Spaghetti code while being near as fast as compiled languages. Not only was about 10 times faster than BASIC,[6] it also allowed easy implementation of machine code routines, if needed for a particular critical task.

For such reasons, it was designed with FORTH, chosen to deliver better performance and Structured Programming flexibility as found in Pascal Language.[7] Using a common tape recorder instead of disk/tape drives, it decompiled the code built by its Forth to avoid source files.

The New Ace[edit]

A small Jupiter ACE system

The Jupiter ACE is often compared with ZX81 due to its similar size, low cost, and similar form factor,[8] although internally it is an independent design. The ZX81 used 75% of its Z80 CPU time to drive the video. Within the ACE the Z80 CPU was fully used for running programs, using a dedicated video memory of 2 kB, leaving existing programming memory undisturbed.

Jupiter Cantab was new to the market and the designers could not afford to use an uncommitted logic array (ULA), a design approach then gaining popularity in other computers (such as the ZX 81) to reduce component count, because these were not economical in small quantities. Instead they reduced the number of chips required via clever design.

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. A television was needed as a display - which was in black and white only.

Its stronger appeal was both delivering a structured language allowed complex programs to be built, free from BASIC's Spaghetti code, and being nearly as fast as the compiled languages loaded by more expensive computers. Forth programs tend to be more memory-efficient than the bigger programs; as they become bigger, they reuse more previously-defined code.[9] Its starting base memory was equivalent to 2kB up to 4kB in a more common system.

ACE's FORTH was "ten times faster than Basic"[10][11] and used less than half the memory (which was a costly luxury at the time) of an equivalent program written in interpreted BASIC.[10] Control structures could be nested to any level, limited only by available memory. This allowed complex programs to be implemented, even allowing recursive programming.

Programs and data storage was by means of a common cassette tape, which was typical of home computers of the time. Tape access would mean manual slow sequential access, instead of random access of a disk/tape drive (not a tape recorder). The solution was to include decompile capabilities, allowing programs to be in their shortest form (either on RAM or on tape) and a quick access.

Specifications[edit]

Characteristic Value
Processor Zilog Z80A clocked at 3.25 MHz.[12]
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 usually include the separate 2 kB video memory, which is not available for programming, thus leading to some confusion (though that 1K was indeed equivalent in usage to between 2K and 4K on a BASIC system).

ACE's Forth[edit]

ACE's Forth Vocabulary

ACE's Forth was based mostly on Forth-79, with some relevant differences.[13] Runtime error checking could be turned off to further raise speed by 25% to 50%.

A few extra words were named similar to known BASIC sound, video and tape commands, as behavior was the same. The implementation lacked less frequently used Forth words, these being easily implemented if needed.

The ACE's dialect of FORTH introduced several innovations. First As FORTH programming environment, it added syntax checking to control structures and definer constructions (a.k.a. "Safe Compiling") as well as decompiling capabilities.

Decompiling[edit]

Its FORTH was adapted to the disk-less tape-using home computer hardware being able to save/load user compiled vocabularies instead of the usual numbered programming blocks used by diskette systems.

Decompiling allowed not to waste 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, making Ace Forth much more than Forth alone on a disk-less entry computer. There was no need to buy, or load, Forth to get full usage of a cheap computer.

Define vs Compile[edit]

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.[15] ( 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.[16] ( 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[edit]

Avoiding sources was compensated by inserting comments on code, thus recovering these too 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.

Forth build up Compiled Applications. This suggested its usage as ROM extensions. Not designed for that purpose, ACE Forth allowed it. External ROMs were developed with Ace Forth to be used as control applications.[17][18]

System[edit]

Architecture[edit]

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 funcionalities: floating point numbers library and character definitions table, tape recorder access, decompiling and redefining newly re-edited 'words' (i.e. routines).[19] 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 access allowing two different priorities of Video access by the user to the 2 kB SRAM, Regular or Overriding CPU contention, also conditioned by TV Image timings. The 1 kB of user RAM was only partially decoded, so it echoed in the full 4 kB block address space it resides. The 1st 16 kB space was used for ROM, VIDEO, and USER, leaving free 2nd 16 kB space for RAM extension plus 32 kB space free for all possible usages.

Hardware[edit]

CPU

Designed to use a Zilog Z80, when the fairly new Motorola 6809 would be the perfect CPU but more expensive. The Z80 was affordable at the expense of speed and easier to develop due previous experience both of hardware and firmware.

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 could be achieved as expansion. Although a colour graphics board was designed[20] 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 (equivalent to near 2-4 kB on Basic). With the option of a 16 kB RAM-Pack extension (later extended to 32K extensions).

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 were compiled user application (fast loading) and Memory Raw Data (size dependent).

Add-ons[edit]

Able to receive ZX-81 add-ons due to similar RAM locations through a similar external expansion slot (Z80 bus), it was actually delivered in a different configuration. A simple rewiring adapter could be used, but not very safe due to power losses. After the initial power efficient 16 kB by Jupiter Cantab, other Rampacks were built by external companies as well as Peripheral Hardware and Interfaces.

RAM[21]
  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[22]
Sound[23]
  • SoundBoard (1983) by Essex Micro Electronics,
Storage[24]
  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,[25]
  • RS232 & Centronics PrinterCard (1984) by Essex Micro Electronics.[26]
Graphics Card
  1. Gray Scale card - 4 shades of gray by S Leask (1986)

Commercial[edit]

Forth delivered several advantages over the interpreted BASIC used on all other contemporary home computers, as being more comprehensible and fast, but it was obscure and difficult to learn by the general public[27] exposed to GOTOs (and hence unaware of structured programming). This, the lack of published software, the weak box, and the small initial memory kept the sales low despite technical interest.[28]

Models[edit]

Jupiter ACE 4000

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

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

Sales[edit]

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

While being structured and thus more comprehensible, Forth was considered difficult to learn (mainly due the use of a stack, for parameter passing). The Tile monochrome-only graphics compared poorly with the colored dot graphics of available machines, the absence of colour kept the ACE squarely in a niche market of programming enthusiasts.

Further, there was a reduced list of published software - either commercial programs or listings printed in hobby magazines - for the machine, growing slowly as the base model was RAM crippled.[32]

A 1982 review stated that "The success of the Jupiter Ace will depend on the machine-buying public's acceptance of another microcomputer language."[33] This acceptance never materialized.

A knowledge of BASIC acquired from familiarity with other home computers was of practically no help in learning another language and increasing doubts over whether Forth would be relevant for exam syllabuses, and decent support for Forth from teaching staff was considered unlikely due to lack of knowledge.[34]

Recent evaluation mention attempts to push the Ace in the education market failed, partly because children were more interested in learning the widely used BASIC than a language used by only one (uncommon) machine with a peculiar syntax(using RPN);[35]

References[edit]

  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". 
  5. ^ Byte Magazine."Editorial". 1980,August. Special Edition.
  6. ^ The Complete FORTH, by Alan Winfield, 1983, Sigma Technical Press, page xi.
  7. ^ Electronics & Computing. "Jupiter Ace Review". 1982, November. page 70.
  8. ^ "Unpopulated PCB". 
  9. ^ James, John S. Byte Magazine. 1980, Aug. "What is Forth?", page 102, section "Characteristics of FORTH Code".
  10. ^ a b "Spectrum team deal their Ace". Popular Computing Weekly. 26 August 1982. 
  11. ^ "Benchmarks (Entry #9)". 
  12. ^ 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 [...] 
  13. ^ Vickers, S: "Jupiter ACE Manual", page 176, 1982.
  14. ^ Winfield, Alan: "The Complete Forth", Chapter 9 "Extending FORTH", Sigma Technical Press, 1983.
  15. ^ Vickers, S: "Jupiter ACE Manual", page 120, 1982.
  16. ^ Vickers, S: "Jupiter ACE Manual", page 136, 1982.
  17. ^ "ACE User 4, page 8: ROM Expansion for the Ace" (PDF). 
  18. ^ "FORTH User Vol2#1, page 2, "EPROMs for the ACE"" (PDF). 
  19. ^ "ACE ROM Project (E-Book)". 
  20. ^ "Adding colour to the Ace".  article in ETI Magazine, April 1984
  21. ^ "RamPacks". 
  22. ^ "Memotech Keyboard". 
  23. ^ "EME AY-3-8910 Sound board Review". 
  24. ^ "Disc Drives". 
  25. ^ "ADS Centronics". 
  26. ^ "Printercard". 
  27. ^ "OLD-COMPUTERS.COM museum ~ Jupiter Cantab Jupiter Ace". Retrieved 2013-04-27. 
  28. ^ "Jupiter ACE Reviews". 
  29. ^ "What is A Jupiter ACE". 
  30. ^ "What is A Jupiter ACE 4000". 
  31. ^ "What is an Ace". 
  32. ^ "Jupiter Ace Software Index". 
  33. ^ "Jupiter Ace Resource Site - Your Computer Review, November 1982". Retrieved 2013-04-27. 
  34. ^ "Jupiter Ace Resource Site - Letter - Ace Goes Back To School in Popular Computing Weekly 11 November 1982". Retrieved 2013-04-27. 
  35. ^ "The Jupiter Ace is 30 - Page 5 • The Register". Retrieved 2013-04-27. 

Other Forth based microcomputers[edit]

The Hector HRX (fr) made by French manufacturer Hector, a tape-recorder based home computer from 1983 to 1985, was also relatively upmarket for the time.[1]

The Canon Cat, disk-drive based, was a task-dedicated desktop computer released by Canon Inc. in 1987 at a price of US$1495.

External links[edit]