www.jupiter-ace.co.uk

News & Reviews Index > Jupiter Ace Review from Computing Today May 1983


Computing ToDay May 83 - Review: Jupiter Ace page 53
Review: Jupiter Ace
FORTH COMES HOME

Owen Bishop
FORTH
COMES HOME
We take a close look at the Jupiter Ace and at
the FORTH that it uses.

had the same breeding as the ZX Spectrum. Steven Vickers and Richard Altwasser were prominent in designing the Spectrum and then left to set up their own company to design and produce the Ace. The case measures 21.5 cm wide by 19 cm deep. In the keyboard area it is 1 cm high, stepping up to 3 cm high at the rear. It weighs only 425g, its relatively light weight probably being the result of the thinness of the walls of the case. Though its walls are thin, the stepped form of the upper half of the case and the ribbing in the walls of the lower half impart the necessary rigidity to it. It is provided with four non-slip feet.
The micro has a neat yet striking appearance, the case being white, bearing its name in black with some decorative markings in red. In contrast to the general tone of the case, the keys are very dark brown with characters marked in white. The keys are in staggered rows and spaced as on a standard typewriter keyboard. They are of the moulded-rubber type, which is commonly found on low-cost computers. It is a sad fact that it is not possible to produce a cheap yet reliable keyboard with truly movable keys. The rubber keys represent the best solution found to date. Certainly the keyboard of the Ace is reliable, once you get used to placing your fingers centrally on the keys and pushing vertically downward. It is not that the keys are difficult to use, but just a matter of taking more care and going that bit more slowly than with a normal typewriter-style keyboard. Their resilient reaction takes a little getting used to, but you can get used to them in a very short time. In any event, you are not likely to be wanting to type in masses of text or to use the Ace as a word-processor, so this is a minor matter. Indeed, since many FORTH words are short, often consisting of only one or two characters (examples are @, !, F/, ."), there is less typing to be done with FORTH than with many other languages. There is auto-repeat on all character keys.
Those who have used a Spectrum will find no difficulty in finding their way around the Ace keyboard, for its layout is almost identical. The main difference is that the Ace does not have such a confusing array of functions associated with each key. In fact, the keys the keys have a maxaimun of only of three
T
he Jupiter Ace has raised more interest than most other new micros since it was first announced last autumn. Although hardly a month goes by without the launching of at least one low-cost micro, a machine which speaks a different language is a rare novelty.
Despite all the criticism from the pundits of the computing world, BASIC is the resident language of all popular micros and BASIC is the high-level language used and understood by virtually all personal computer programmers. For reasons commercial and otherwise, and despite the pleas of the disciples of Pascal, BASIC rules supreme and seems likely to continue to so so. So who would be so rash as to equip their new product with a tongue which few can understand?
Yet FORTH is not a new language. It was invented over a decade ago by an American astronomer, Charles Moore, for use in controlling astronomical telescopes. It has been widely adopted for that purpose throughout the world. The computer which controls the Mark IA radio-telescope at Jodrell Bank observatory is a nearby example of the original application of FORTH to astronomy. Though it is very well suited as a language for control applications, !FORTH can do most of the things that BASIC can do and a few others besides (such as recursions) which most BASICs cannot do. FORTH scores over BASIC in other ways too. For example, it needs much less memory for program storage and it runs a lot faster.
Jupiter Cantab,  the makers of
the Ace claimed in their first adver-tisements that it is "probably the fastest computer in the Universe". Although it is hard to justify this claim, for a micro programmed in machine code inevitably runs faster than one programmed in any high-level language (even FORTH), the Ace's Z-80A microprocessor, paced by a 3.35 MHz clock ensures that this micro leaves most others far behind with regard to speed of operation.
At this point I can almost hear the reader saying "For goodness sake stop nattering on about FORTH and tell us about the Ace". Well, please bear with me a little longer. The design and probably the fate of this micro is inextricably bound up with it resident language. If you buy this micro, you are 'into' FORTH in no small way. It is wise to find out a little about its language before you buy. You do not need to-know how tc write a FORTH program but you do need to know something about its essential features. The current advertisements for the Ace accurately emphasise the main characteristics of FORTH and there have been articles in Computing Today and other magazines which describe it in greater detail (see references). Read these and, if they leave you enthusiastic, feeling as if you want to find out more and to gain some practical experience, treat yourself to an Ace.


EXTERNALS

Although it comes from a different stable, the Ace shows  that  it has


Computing ToDay May 83 - Review: Jupiter Ace page 54
Review: Jupiter Ace
functions: lower case, upper case, and symbol. There is a Shift key which operates in the normal typewriter fashion to shift each key to produce upper case. As in the Spectrum, there is a Symbol shift key which produces the symbols instead of letters. The Shift, Symbol shift, Enter and Break/Space keys are positioned just as on the Spectrum keyboard. The symbols are on the same alpha-numeric keys too, except that the Ace has additional symbols {[] © ~\ {} ). The top row of keys produces numerals when unshifted, and symbols when symbol-shifted. Shifting these keys effects certain commands. Shift-1, for example, deletes the whole of the line currently being entered. The remainder are almost the same as in the Spectrum: Shift-2 is capitals-lock, Shift-4 toggles inverse video, Shift-5 to Shift-8 move the cursor (but the 'up' and 'down' keys are transposed), Shift- 9 toggles graphics mode, and Shift-0 deletes the last character typed. Graphics mode allows one of eight graphics blocks to be typed on keys 1 to 8. I have more to say about graphics later.


CONNECTIONS

The Ace comes with a full set of leads. There is a substantial and lengthy (2 m) lead for connecting the Ace to the aerial input of a domestic TV set. This has moulded-in plugs at either end. The cassette lead consists of a moulded pair of wires of adequate length (70 cm), with a pair of moulded-in plugs at either end. Each pair consists of a black plug and a grey plug so that you can easily distinguish input from output. The plugs are standard 3.5 mm jack plugs, so will fit almost any low-cost cassette recorder. As is common with the simpler micros, the Ace does not have a motor-control relay, so there is no lead to the 'remote' socket of the recorder.
The Mains Adaptor looks like an over-sized 13 amp plug. It fits directly into the wall socket and has a light duty lead 170 cm long to carry power to the Ace. The Adaptor requires 240V AC input and produces a DC output of 800 mA at 9 V.
The lead from the Adaptor ends in another 3.5 mm jackplug,which fits into a socket on the left-hand side of the Ace. The output sockets
(TV, cassette recorder) are on the right-hand side so there is little difficulty in remembering which goes where. If you do forget, there is a clear label on the underside of the machine.


INTERFACING

At the rear of the case are two apertures. The smaller one reveals an 11-way double-sided edge-connector pad. This is intended for attaching a colour-board which Jupiter Cantab are planning to produce in the future. The addition of colour facilities will enhance the capabilities of this machine appreciably. The larger aperture gives access to a 23-way double-sided edge-connector pad. This carries all the signals required for interfacing external devices to the Ace. Since FORTH has evolved as a language for control applications, this interface port is especially important. The manual shows that it provides all the required connections to the address bus, the data bus, the system clock and the Z-80A control bus, as well as to the 0 V, + 5 V and + 9 V power lines. The manual outlines some simple circuits which can be connected here and explains how to program them. Although the arrangement of the edge-connector is not the same as that used on the ZX computers, it is a fairly simple matter to wire up an adaptor which will allow some of the ZX peripherals to be plugged on to the Ace. I understand that the ZX Printer and 16K RAMPACK have been used successfully with the Ace by means of such an adaptor.
Those who are keen on interfacing to micros will be glad to hear that Ace FORTH includes two words IN and OUT which operate the   Z- 80A   in   port-addressed
mode.
Some of the port addresses are reserved for use by the Ace's internal use (the handbook explainswhich ones), but there are plenty to spare for the enthusiastic interfacer.


THE ACE IN ACTION

The manual which comes with the Ace is a 181-page soft-covered book called 'Forth programming'. Note once again how the emphasis is on the language, not on the machine. The manual is written by Steven Vickers, who also wrote the Spectrum manual. It is one of the best manuals I have ever read. It explains everything the beginner will need to know and makes few assumptions about the reader's background knowledge. In a light and concise style, it clearly explains the meanings of all computer and programming terms as they are used, and also the meanings of less specialist but nevertheless unfamiliar terms such as 'integer', 'square root', and 'coordinate'. Yet the manual is not limited by its simplicity. It provides an explanation of the structure and applications of FORTH in sufficient depth and derail to interest the more experienced readers, too.
As might be expected, the manual begins by explaining how to set up the computer, how to use the keyboard and how to load programs from tape. I followed their instructions and the Ace worked perfectly. As soon as the power supplies to the micro and to the TV set were switched on, a small square cursor appeared as expected at the bottom left-hand corner of the screen. The display is white on black, as in most micros, though it is easy to use reverse video if preferred. The screen displays 24 lines of 32 characters in


Computing ToDay May 83 - Review: Jupiter Ace page 55
FORTH COMES HOME
upper or lower case. Words or definitions of words appear on the lower line (or lines) of the screen as they are typed in. When you press 'Enter' they are executed (if syntactically correct), and reappear in the upper part of the screen, together with the displayed results (if any) of their execution. These lines are usually followed by the comforting and friendly prompt 'OK', indicating that the computer has been able to carry out your instructions and is waiting for more.
Throughout the introductory chapters and the rest of the book the author's wry sense of humour surfaces from time to time in a refreshing way. On the whole, I do not like instructional books to be funny, particularly those with jokey pictures and that peculiar brand of patronising humour which is so often handed out to the novice, but here the occasional hint of humour helped me pleasantly over some of the more difficult sections.
The manual goes on to introduce the simpler FORTH words. There are plenty of examples and each chapter ends with a few exercises to help consolidate what you have learnt or to introduce some supplementary ideas. , At a very early stage you are able to begin writing your own definitions in FORTH. This is one of the delights of FORTH. The language comes with a fairly standard selection of ready-defined words in its dictionary. Ace FORTH has 142 such words. But programming in FORTH essentially consists of using these words. to define words of your own choosing.. Each word you define normally consists of relatively few operations, for in FORTH it is best if everything is broken down into short easily understood steps. Consequently, word definitions tend to be short and simple. You soon learn enough to start defining new words.
The manual contains dozens of definitions of other useful words which you can add to the dictionary by typing them in, but only if you need them. It is as though you have a fairly limited BASIC but can add whatever commands you want simply by typing them in, rather than having to buy a new ROM, or even a more expensive computer. There is no need to bother about Shifting when typing in words or when defining words. The computer automatically converts all words to upper case before putting them in the dictionary. The only time you need to Shift to capital letters is when you are typing text.
Ace FORTH differs from the FORTH-79 (the generally adopted standard) in a few respects. It lacks 16 of the standard words, though is contains substitutes for some of these and, if you particularly want one of the missing words, you can easily define it for yourself. For example, the manual gives the definition for COUNT, which is in FORTH-79 but not in the Ace's dictionary.
The words in Ace FORTH which are not in FORTH-79, include BEEP which, given two parameters to determine pitch and length, produces a note on the Ace's built-in loudspeaker. The manual lists the values needed to obtain musical notes of any desired pitch, and shows how to program the Ace to play tunes. This turns out to be a very simple undertaking. Another new word is INVIS, which prevents the display of executed lines on the upper section of the screen, keeping the screen clear for graphics displays.

GRAPHICS

There is a special word PLOT which controls pixels on a 64 by 46 grid. PLOT has four modes, so it can either make the pixel white, make it black, leave it unchanged, or change it to the opposite of what it is already. PLOT may be incorporated into the definitions of other words so that you can quickly build up a range of words such as SQUARE, TRIANGLE and the like, according to whatever shapes and effects take your fancy. The displays produced by PLOT and by the block graphics on keys 1 to 8 are decidedly y low in resolution, but can be enhanced by user-defined characters. These are eight by eight bit-mapped characters which, in effect, provide 512 by 368 resolution. Any one of the character keys can be defined to produce its own special character in graphics mode. For example, the manual shows how to define key 'A' to print the image of a railway locomotive. This definition can be written into display routines. You can even use such symbols as the names of words! Defining graphics characters is straightforward because you first define a word which takes over most of the chore for you. The all you have to do is enter the bit pattern as a set of eight 8-bit binary numbers. Since the Ace can be made to run in any number base, you can enter the binary number direct instead of having to convert them to decimal or hexadecimal first as on many other computers.

NUMBER BASES
As mentioned above, you can
choose which base the Ace works in. When first switched on, it runs in decimal but, by typing '2 BASE C!', you can make it work in binary (base 2). It can work in hexadecimal too, but this is not all. Type in '37 BASE C!' and it immediately starts working in base 37. This uses the figures from 0 to 9 plus all the letters of the alphabet from A to Z. If you really want to try to make it throw a fit, try typing '60 BASE C!' to make it work to base 60. But no, it is not worried by such excesses. It takes some of the lower-case alphabet and the punctuation marks into its set of symbols and allows you to perform such additions as:

Z + 1 =[
and 3Y + Z7 =] £

Perhaps some ingenious reader can design a new game which relies on unusual number bases.
Returning from flights of mathematical fantasy, let us look at some cold hard figures, such as floating point numbers, which the Ace handles just as easily as integers. What is more, it handles these over a range much wider than that of many other micros. The floating point range of the Ace is 1.0E-64 to 9.99999E62 for both positive and negative floating point values. Compare this with 1.0E-38 to 1.0E+ 38 for Apple II, 1.7E-38 to 1.7E+ 38 for TRS-80 and 2.0E-39 to 2.0E+ 38 for the BBC Microcomputer, all of which have very similar ranges to an order of magnitude. Thus the Ace can handle numbers over 5 x 1024 times bigger or smaller than can any of these machines.

CASSETTE RECORDING

When I tried the loading and saving routines described in the manual, they worked perfectly first time. The recorder I used was the CTR-80 as supplied for the TRS-80. Level settings appeared not to be terribly critical. If you do have trouble, there is a lot of helpful advice in the manual on 'What to do if it doesn't work'.
When you have finished a programming session, the recorder can be used for saving all the words you have defined. Later, you can load more than one set of words from tape, one after the other and the micro accepts these until its memory is full. This means that you can build up a library of words on tapes and then load whichever ones you want for the program you are writing at the moment. It is also possible to save the screen contents to tape, and redisplay it on another occasion. Similarly, you can save the character definitions you have made.


Computing ToDay May 83 - Review: Jupiter Ace page 56
Review: Jupiter Ace
FORTH COMES HOME
ERRORS AND EDITING

Ace FORTH has a comprehensive set of error messages. When you type in a line, it is compiled and checked for errors. It is rejected if incorrect. A question mark indicates where you need to correct it.
If you want to amend a word you have already defined, it is possible to list it and edit it. This is a feature in which Ace FORTH differs from FORTH-79 and seems to be an improvement. The monitor includes a decompiler which allows a word already defined to be listed. Then by typing EDIT mode you are able to step through the listing, deleting parts of it or adding new commands. Those who are familiar with FORTH may be wondering about 'screens', but Ace FORTH does not use these. LIST and EDIT take over these functions in a way more applicable to a cassette-based system.

MEMORY

The FORTH monitor occupies 8K of ROM and the unexpanded Ace has 3K of RAM. One quarter of a kilobyte from the 3K is used for the 'Pad' where text is stored, the video RAM takes another three-quarters of a kilobyte, and the character set RAM another full kilobyte. This leaves only 1K for newly defined words, the stack and the system variables. This is not a great deal of space for programming, but remember that FORTH is a very compact language so a surprising amount can be held in a small space. The manual sets out the memory usage in full detail, including where to find the important system variables.
Programming in machine code saves memory space and gives fast-running programs but, since FORTH is already very good in both these respects, there is not so much to be gained. However, the Ace provides scope for the machine code programmer with words for calling machine code routines. Obviously the keen user will soon need memory expansion. A 16K plug-on extension memory pack was made available in February 1983, increasing the total RAM to 19K. This should provide sufficient space for really elaborate programs.

SOFTWARE

At the time of writing, there is practically no software available for this machine.
If your main interest in using a micro is to type in listings from magazines or using purchased tapes, this computer has little to offer at present. If on the other hand, you are one of those whose main joy is writing programs, you have a clear field open to you. Now is your chance to write a FORTH version of all those popular games which have been done so many times before in BASIC!
Although it is not mentioned in their current advertising, Jupiter Cantab now supply a free cassette of programs with each machine. This Demonstration Tape holds five programs. The first is a utility which displays the stack. The stack is central to the working of FORTH yet it is difficult to visualize. To work it all out on paper is a messy and error-generating manoeuvre. This tape shows the stack as a pile of cards (see Fig. 1). When the program line has been entered the display changes to show what becomes of the stack. In the example illustrated, the top two cards disappear and are replaced by a card bearing the number 12.
The second program ('dictionary file' is the better term, for programs, as such, are not part of the FORTH scene) allows you to play tunes on the Ace. It has two octaves with sharps and flats. You can also record a tune of up to 170 notes for automatic playback. The remaining three file are games: Banner, Worms, and Lunar Lander. The Worms game, in which you steer a worm around the screen, trying to snap up chicken-legs well demonstrates the high-speed graphics capability of FORTH.
At the time of writing this review, Jupiter Ace have promised to start producing their own software 'within a matter of weeks'. We may also hope to see some dictionaries published in Computing Today when existing Ace owners or those with FORTH implementations on other computers get around to the job of writing them.

VENTURE FORTH?
Without a viable body of enthusiasts to exchange views with and a sprinkling of articles on the language in the magazines, the FORTH hobbyist could soon become disenchanted, no matter how good the language is for astronomers.
Yet I have heard of a young person who bought the Ace simply to be different from all his pals! The point in doubt is to what extent FORTH is likely to prosper in the home computing field over the next year or so. The signs are that it will. There is an increasing number of articles and books on FORTH. Implementations of the language are being produced for most of the popular micros. An interesting indication of the trend is that Cosmic Conquest, the winning entry of the 1982 Byte Game Contest, is written in FORTH. This exciting game will remain a mystery to those who only have BASIC at their command! The author of this game brings out another feature of FORTH in explaining why he chose it for his entry. He explains that when developing the game he wanted to be free to make major changes in its structure. FORTH allows for fundamental changes to be made with minimum fuss, simply by redefining some of the key words. A correspondingly large amendment to a BASIC program requires greater time and effort on the part of the programmer. So, thus encouraged, let us venture FORTH!

FINDING OUT ABOUT FORTH

D S Peckett, Going FORTH, Computing Today, January-April 1982 - a four-part series which clearly explains the essence of FORTH with plenty of examples.

D S Peckett, Going FORTH Again, Computing Today, May 1982 - the first of two articles intended to delve deeper into FORTH.

Thom Hogan, Starting FORTH, Osborne/McGraw-Hill 1982 - not the best book available and it does not go very far, but it is relatively inexpensive and helps you to find out if you want to go further.


Computing ToDay May 1983 cover

Computing ToDay May 1983 page 53   Computing ToDay May 1983 page 54

Computing ToDay May 1983 page 55   Computing ToDay May 1983 page 56