Developer | Jupiter Cantab |
---|---|
Type | Home computer |
Release date | 22 September 1982 |
Introductory price | £89.95 (equivalent to £400in 2023) |
Discontinued | 1984 |
Units sold | around 5,000 units |
Operating system | ACE Forth |
CPU | Z80 @ 3.25 MHz |
Memory | 1 KB (maximum 49 KB) |
Removable storage | Cassette-tape interface (1500 baud) |
Display | 32 x 24 monochrome characters, 127 redefinable 8 x 8 pixel characters, semigraphics |
Sound | Beeper |
The Jupiter Ace by Jupiter Cantab was a British home computer released in 1982. The Ace differed from other microcomputers of the time in that its programming environment used Forth instead of the more popular BASIC. [1] [2] This difference, along with limited available software and poor character based graphic display, limited sales and the machine was not a success. [3] [4]
Jupiter Cantab was formed by Richard Altwasser and Steven Vickers. [5] Both had been on the design team for the ZX Spectrum: Altwasser worked on ZX81 development and hardware design of the Spectrum. Vickers adapted and expanded the 4K ZX80 ROM to the 8K ZX81 ROM and wrote most of the ROM for the Spectrum.
The Jupiter Ace was named after an early British computer, the Pilot ACE, [6] and went on sale on 22 September 1982 with a price of £89.95. [2]
Sales to the general public were slow. Initially the computer was only available by mail order, [2] and Jupiter Cantab reported that there were production difficulties, but these had been overcome by January 1983 and that units were arriving in shops. [7]
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. Eventually Jupiter Cantab ceased trading by the end of October 1983. [8]
The brand was then acquired by Boldfield Computing Ltd in 1984 that sold the remaining stock by mail order for £26. [8] The brand was again sold to Paul Andrews's company Andrews UK Limited in 2015. [9]
Sales of the machine were never very large; the reported number of Aces sold before Jupiter Cantab closed for business was around 5,000. [4] 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." [10]
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. [3]
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. [11] Pupils were more interested in learning the widely used BASIC than a language used by only one (uncommon) machine with a peculiar RPN syntax. [12]
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.
The Jupiter Ace is often compared with ZX81 due to its similar size, low cost, and similar form factor. [13] 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 although unlike the Spectrum, the keys had a conductive pad that was squashed directly onto tracks on the PCB rather than using a membrane. As a result, the keys would often stop working reliably until they were cleaned or the conductive material was refreshed.
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. A secondary (undocumented) edge connector on the back of the case made some video signals available, presumably for a forthcoming colour video card, but no official product that used this connector was ever released.
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 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 milliseconds.
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.
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). [14] Some of the ROM was written in Z80 machine code, 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-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, [15] 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 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. [16]
Characteristic | Value |
---|---|
Processor | Zilog Z80A clocked at 3.25 MHz. [17] |
Operating system | FORTH (as both the programming language and command-line interface). |
Memory | 2 KB 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-key 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.
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. [18] Forth programs are memory-efficient; as they become bigger, they reuse more previously-defined code. [19] 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" [20] [21] [22] 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. [20] It also allowed easy implementation of machine code routines if needed. [23]
Ace's Forth was based mostly on Forth-79, with some relevant differences, [6] : 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%. [6] : 171
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.
To allow decompile, it distinguished usual Forth definer and compiler words creation, replacing the CREATE .. DOES>
, [24] 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. [6] : 120 (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. [6] : 136 (Example: New Compiler Control Structures as Case, Infinite Loop, ...).These two 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.
The names can be equivocal out of a Forth context, as all Words are compiled when declared. [25] DEFINER
defines a new Class (as an array) that will build (compile) an array Object. [26] These are active on 'Interpreter'. Pairing this Interaction mode, COMPILER
defines a programming structure (usually a pair or a triplet) as IF-ELSE-THEN
. [27] 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.
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. [28] [29]
The machine was able to use some ZX81 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.
The original Jupiter Ace issue 1 was introduced in 1982, and came in a vacuum-drawn case. Reportedly 5000 units were produced. [37]
The Jupiter Ace 4000 was introduced in 1983, and came on stronger injection-moulded case. Reportedly 800 units were produced. [38] [8]
There are 51 known commercially released video games for Jupiter Ace [39]
Title | Publisher | Release year |
---|---|---|
Ace Invaders (Forth Dimension) | Forth Dimension | 1983 |
Ace Invaders (Hi-Tech Microsoft) | Hi-Tech Microsoft (UK) | 1983 |
Ace Invasion | Titan Programs Ltd (UK) | 1984 |
Ace Pack 2 (Defence, Sketch, Racer) | Dream Software | 1983 |
Ace Pack 3 (Picman, Breakout, Life) | Dream Software | 1983 |
ACE Snake | Stusoft | 1984 |
Acevaders | Micro Marketing (UK) | 1984 |
Alien Defender | Boldfield Computing Ltd | 1984 |
Amazing Maze | Boldfield Computing Ltd | 1984 |
Atic Raid | Boldfield Computing Ltd | 1984 |
Black Island Adventure | Boldfield Computing Ltd | 1984 |
Cavern Attack | Hi-Tech Microsoft (UK) | 1984 |
Centipede | Boldfield Computing Ltd | 1984 |
Champs De Mines / Casse Briques | ERE Informatique (France) | 1983 |
Chess | Boldfield Computing Ltd | 1984 |
Cygnus | Boldfield Computing Ltd | 1984 |
Dot Man (Sushiro) | Micro Marketing (UK) | 1984 |
Duckshoot / Minefield / Zapem | Micro Marketing (UK) | 1984 |
Elusive Recluse / Acesnake | Stusoft | 1984 |
Firebird | Voyager Software | 1983 |
Fish / Flutterer | Jupiter Cantab (UK) | 1983 |
Frogger (Boldfield Computing Ltd) | Boldfield Computing Ltd | 1983 |
Galactic Invasion | JRS Software Ltd (UK) | 1983 |
Games Tape One (Brick Catcher, Asteroids, Street Racer, TimeVaders) | Voyager Software | 1983 |
Games Tape Three (Bomber, Jackpot) | Voyager Software | 1983 |
Gobbledegook | Jupiter Cantab (UK) | 1983 |
Greedy Gobbler / Blowing Up The World | Jupiter Cantab (UK) | 1983 |
Green Cross Frog | Hi-Tech Microsoft (UK) | 1982 |
Jovian Game Tape 1 (Aceteroids, Demolition, Moneymatrix, Golfgrid, Duckinvaders) | Jovian Games | 1983 |
Jumpman | Callisto Software | 1984 |
Mastermind | Hamsoft | 1983 |
Memory Stars | Hi-Tech Microsoft (UK) | 1984 |
Meteor Racer | Forth Dimension | 1983 |
Micro Maze | Hi-Tech Microsoft (UK) | 1983 |
Millepede | Softspot | 1983 |
Missile Man / Space Fighter Pilot | Jupiter Cantab (UK) | 1983 |
Moo / Hangman | Jupiter Cantab (UK) | 1983 |
Othello | Jupiter Cantab (UK) | 1983 |
Overtaker / Brands Hatch | Jupiter Cantab (UK) | 1983 |
Owler | Callisto Software | 1983 |
Puzzle / Bombs | Boldfield Computing Ltd | 1984 |
Snake / Superbat | Waylandsoft | 1983 |
Space Battle | Hi-Tech Microsoft (UK) | 1984 |
SuperChess II | CP Software | 1983 |
Swamp Monsters | Micro Marketing (UK) | 1984 |
Tape 5: Frogger | Remsoft | 1983 |
Tape 12: Frogger / Scramble / Meteor / Breakout / Star Wars | Remsoft | 1983 |
Titan Defender / Dual Duel | Stusoft | 1984 |
Triple Pack 1: Balloon Pilot / Shuttlecock | Boldfield Computing Ltd | 1983 |
Worm | A Curtis | 1983 |
Zombies And Potholes | Jupiter Cantab (UK) | 1983 |
Other Forth-based microcomputers:
The Sinclair QL is a personal computer launched by Sinclair Research in 1984, as an upper-end counterpart to the ZX Spectrum.
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 ZX Spectrum is an 8-bit home computer developed and marketed by Sinclair Research. Considered one of the most influential computers ever made, it is also one of the best-selling British computers ever, with over five million units sold. It was released in the United Kingdom on 23 April 1982, and around the world in the following years, most notably in Europe, the United States, and Eastern Bloc countries.
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 licence 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.
The SAM Coupé is an 8-bit British home computer manufactured by Miles Gordon Technology (MGT), based in Swansea in the United Kingdom and released in December 1989.
Sinclair BASIC is a dialect of the programming language BASIC used in the 8-bit home computers from Sinclair Research, Timex Sinclair and Amstrad. The Sinclair BASIC interpreter was written by Nine Tiles Networks Ltd.
The Timex Sinclair 1000 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. As purchased, the T/S 1000 was fully assembled and ready to be plugged into home televisions, which served as a video monitor. The T/S 1000 was a slightly modified version of the Sinclair ZX81 with an NTSC RF modulator, for use with North American TVs, instead of PAL for European TVs. The T/S 1000 doubled the onboard RAM from 1 KB to 2 KB; further expandable by 16 KB through the cartridge port. The T/S 1000's casing had slightly more internal shielding but remained the same as Sinclair's, including the membrane keyboard. Just like the ZX81, the T/S 1000 had black-and-white graphics and no sound.
The Timex Sinclair 2068, released in November 1983, was Timex Sinclair's third and last home computer for the United States market. It was also marketed in Canada, Argentina, Portugal and Poland, as Timex Computer 2068.
The Enterprise is a Zilog Z80-based home computer announced in 1983, but due to a series of delays, was not commercially available until 1985. It was developed by British company Intelligent Software and marketed by Enterprise Computers.
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.
Sinclair Research Ltd is a British consumer electronics company founded by Clive Sinclair in Cambridge in the 1970s. In 1980, the company entered the home computer market with the ZX80 at £99.95, at that time the cheapest personal computer for sale in the United Kingdom. A year later, the ZX81 became available through retailers, introducing home computing to a generation, with more that 1.5 million sold. In 1982 the ZX Spectrum was released, becoming the UK's best selling computer, and competing aggressively against Commodore and Amstrad.
3D Monster Maze is a survival horror video game developed from an idea by J.K. Greye and programmed by Malcolm Evans and released in 1981 for the ZX81 with the 16 KB memory expansion. The game was initially released by J. K. Greye Software in December 1981 and re-released in 1982 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 is a BASIC interpreter for the Sinclair Research ZX Spectrum microcomputer, written by Dr Andrew Wright in 1983 and sold by his one-man software house BetaSoft. BetaSoft also produced a regular newsletter/magazine, BetaNews.
The Timex Computer 2048 or TC 2048 is a 1984 computer developed by Timex Portugal, at the time part of Timex Sinclair. It was based on the Timex Sinclair 2048 prototype, with a similar redesign case, composite video output, Kempston joystick interface, and additional video modes, while being highly compatible with the Sinclair ZX Spectrum computer.
The ZX Spectrum's software library was very diverse. While the majority of the software produced for the system was video games, others included programming language implementations, Sinclair BASIC extensions, databases, word processors, spread sheets, drawing and painting tools, and 3D modelling tools.
The ZX Spectrum character set is the variant of ASCII used in the 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 a brand of home computers sold in the 1980s by Tangerine Computer Systems. Tangerine was based in the United Kingdom and sold their computers primarily in Europe. All computers in the Oric line were based on the MOS Technology 6502A microprocessor.
The ZX80 character set is the character encoding used by the Sinclair Research ZX80 microcomputer with its original 4K BASIC ROM. 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 successor ZX81.
Micro Z80 a 3.25 MHz [...], el Jupiter Ace [...]