Sinclair Library

FP 50 FORTH

Programming: General · ZX-Spectrum 48K · 1 players · English

Mike Hampson · 1983 · Pound sterling 12.95 · Pound sterling 12.95 budget

Also known as Floating Point Forth (English), Spectrum Floating-Point FORTH (English)

Inlay - Back 1 of 5
Inlay - Back
Not rated yetSign in to rate it

Discussion

Nobody has started a thread about this yet.

Start a thread

Remarks

cf. Forth (CP Software)

Releases

  • 1983Mike Hampson Sold as Spectrum Floating-Point FORTHPound sterling 12.95 · Pound sterling 12.95 budget
  • 1983CP Software Sold as Floating Point Forth

Play

Documents

Files and rights

No permission is on record either way. Screens and pictures are copied here on a take-down basis: if you hold the rights and want something removed, say so and it goes.

Credits

Sign in to credit somebody, or say what these people did.

In the magazines 8

Personal Computer News #22Aug 1983 · p.26

Personal Computer News

Ted Ball

FLOCKS OF FORTH Forth is becoming more accessible to Spectrum-owners. Ted Ball weighs up two new packages. ARTIC FORTH NAME: Artic Forth APPLICATION: Programming language SYSTEM: 48K ZX Spectrum PRICE: £14.95 PUBLISHER: Sinclair Research FORMAT: Cassette LANGUAGE: Machine code OUTLETS: Mail order Artic Forth appears to be an impleAmentation of FIG Forth, with some minor modifications, and some extensions to handle graphics, colour, etc, on the Spectrum. The extensions largely use the same words as Spectrum Basic - PLOT, CIRCLE, INK, etc - but there are some differences, like GOVER instead of OVER because OVER is already used in Forth with a different meaning. Two words from 8080 FIG Forth. P@ and P!, equivalent to IN and OUT in Spectrum Basic, are omitted, so you will have to add your own versions in machine code if you want to use Artic Forth with I/O mapped ports. For saving your own programs on tape Artic FORTH has the standard FIG method of 'screens', a screen being a 1K block of memory arranged as 16 lines of 6-4 characters. Although this is not really suitable for the Spectrum's 22 lines of 32 characters it does allow you to type in published program listings without having to make any changes. Unfortunately, you are allowed only one screen in memory at a time, which makes it awkward to save and load programs that extend beyond this. To enter programs into a screen you have to use the editor which is on the tape immediately following the Forth code. As the editor takes up three screens you immediately get to see how awkward it can be to load programs. You have to stop the tape after each screen has been loaded, wait a few seconds for a prompt, then press ENTER and start the tape again. As there is very little space between the screens you have to be very quick in stopping the tape before the next screen comes up. The editor is fairly easy to use for entering programs into a screen, but making corrections is a lot harder. However. Artic has provided an additional 'on-screen' editor which allows you to use the arrow keys to move the cursor around and the EDIT key to copy text from the cursor position onto a new line. PERSENTATION Artic Forth is attractively packaged in a box containing two printed manuals and a cassette which has the Forth and editor on both sides. The 44-page User's Manual includes instructions for loading the tape, a brief introduction to Forth, and a glossary giving precise definitions of all the words in Artic Forth. The introduction to Forth will help you get started, but to learn the language properly you will need a textbook. The four-page Editor's Manual contains only some brief notes on using the editor, and the editor glossary. RELIABILITY Artic Forth is generally quite robust, but there are a few minor bugs, if you press BREAK while the ZX Printer is running subsequent output goes to the printer only and the command to switch output back to the screen does not work. The only way I found of getting back to normal from this situation was to type COLD or WARM. The Forth word FENCE is not implemented properly. This is meant to set a limit below which FORGET will not work, but whatever value you put into FENCE you can FORGET anything in the dictionary. There is also an oddity in the on-screen editor. If you press DELETE at the beginning of a line you get a question mark. Pressing DELETE again gives another question mark instead of deleting the first one. However, this does no damage and you can escape by pressing ENTER. VERDICT Although there is nothing important wrong with Artic Forth it is just not as good as Abersoft's version at the same price. Artic's documentation is a little better than Abersoft's, and the Artic on-screen editor is easier to use for making corrections, but Abersoft Forth has no known bugs, gives you more Forth words, and because it allows 12 screens in memory at once it is easier to load and save programs. FP50 FORTH NAME: FP50 Forth APPLICATION: Programming language SYSTEM: 48K Spectrum PRICE: £14.95 PUBLISHER: Mike Hampson, [redacted] FORMAT: Cassette LANGUAGE: Basic & M/C OUTLETS: Mail order Although FP50 is claimed to be based on Forth 79, and the Forth words included in the dictionary are closer to Forth 79 than to FIG Forth, the differences are so great that you have to forget the standard when using FP50. FP50 allows you to use integers in the range 0 to 65535 (instead of the standard -32767 to +32760) and floating point numbers in the range +/-1E38, but not the double integers of standard Forth. Many of the words in the dictionary come in pairs, one word for floating point operations and the other (preceded by %) for integer operations. For example + and %+, DO and %DO, etc. This is the opposite to standard Forth where you have + for 16-bit integer addition, D+ for 32-bit integer addition and, if you have a floating point package, F+ for floating point addition. Colon definitions for extending the dictionary and immediate commands are allowed, but there are some differences here. When you have typed in a colon definition and pressed ENTER, the name of the new word and its compilation address are printed at the top of the screen, and then the words making up the definition are printed one at a time as they are compiled. If you have included a word that is not in the dictionary you get a message 'XXXX not known. Continue definition' and you can carry on from the point you made the mistake. Unlike normal FORTH you cannot add a new word to the dictionary if there is already a word with the same name. There are two types of immediate command. The normal type consists of a string of Forth words which are executed as soon as you press ENTER, but in FP50 you have to end with a semi-colon, and before the command is executed you get a message 'compiling - please wait'. The other type of immediate command includes things like PRON and PROFF for printer on and printer off. S for save, etc. These can be used only from command mode and cannot be used in colon definitions. FP50 includes special commands for things like colour and graphics on the Spectrum, largely using the same words as Spectrum Basic. User-defined graphics are available, but with an 'immediate only' command, so you cannot easily change character definitions within a program. The only way to enter a program is to type in the colon definitions one after the other. There is no way to alter a definition after it has been entered in the dictionary except by 'forgetting' the word (and everything typed in afterwards) and starting again. To save a program you have to save the whole of FP50 with your program added to the dictionary. PERSENTATION The instructions consist of a 12-page A4 manual offset from a typed original. The manual is organised in tutorial form, taking you through the use of the FP50 program, and explaining Forth and the words in the FP50 dictionary. There is no index or glossary, and to find the definition of a particular word you have to go through the whole manual. IN USE FP50 can be quite tedious to use, with all commands and definitions being repeated by the compiler before anything is done with them. The manual includes a table giving some comparisons between the speed of Basic, FP50 floating point, and FP50 integer calculations, but although I managed to get times for the integer calculations roughly agreeing with the table, I could not agree with the times for the floating point calculations. RELIABILITY FP50 works correctly on most things, but you can get the wrong output in some cases. For example using % (integer PRINT) instead of . (floating point PRINT) will give the wrong answer. You also find that illegal calculations like 1 divided by 0, or giving the wrong input when defining user-defined graphics will drop you into Basic. The manual does, however, give warnings and tells you how to get back into FP50. Where FP50 finds errors for itself it gives helpful error messages and allows you to continue from the point where the error occurred. VERDICT The main thing wrong with FP50 is that it does not follow any standard closely enough to be useful. The advantage of standards in programming languages is to make programs portable. There is an enormous amount of useful software available in source form in FIG Forth and Forth 79, but you will find it very difficult to convert to work on FP50.

Forth is certainly multiplying on the ZX Spectrum - there's Abersoft Forth, which was reviewed in PCN issue 13, Artic Forth, and Mike Hampson's Floating Point Forth, being reviewed now, and two that we've not seen - an earlier integer-only Forth from Mike Hampson, and a version from CP Software. There are many reasons for Forth being so popular. It comes between Basic and machine code in speed, ease of use, and the control you get over the computer, and a Forth interpreter is relatively small and easy to implement, whether it is based on the assembler listings published by the Forth interest Group or written from scratch. Abersoft Forth and Artic Forth are directly comparable, both being based on the FIG standard and having almost identical extensions to allow you to use the special hardware features of the Spectrum. Mike Hampson's FP50 is quite different. It is written in Basic with some machine code subroutines, and is described as 'being based on, but not being, a Forth-79 standard'.

Advert4
Review1
Classified1
News/Note1

Related

Tags
g109

Reviews from people here

Sign in to write about this, or make an account. It takes a minute and lets you correct the catalogue too.

This entry100% complete

Everything ZXDB can hold about this is here.

Sign in to correct or add to this.

See what has changed about this entry

Share this entry

Hold the rights to this and want it taken down?