I like Basic, it is a friendly language. Unlike
compiled languages it is possible to experiment and see the result
immediately. Basic does however have some disadvantages. There is
the rather sedate pace at which it goes about its business and, on
the ST, a lack of easy access to the useful functions of GEM.
When I got an ST, I expected the bundled ST Basic
to run appreciably faster than the 8 bit version. Unfortunately,
although there is an increase in speed over 8 bit Basic, this
doesn't seem to reflect the superiority of the hardware.
I won't dwell on the faults of ST Basic, but I
think it is sufficient to say that it is just not as good as it
could (should?) be.
AN IDEAL BASIC?
After using ST Basic for a couple of months I had
a mental list of what would make, in my opinion, an ideal Basic for
the ST.
- It should make full use of the hardware and be
very fast.
- It should have a better screen editor than the cumbersome ST Basic
editor, I find all those windows just get in the way.
- It should give easy access to GEM functions.
- It should come on a cartridge to leave the maximum of memory free,
and to make loading faster.
Computer Concepts have now released Fast Basic,
which I think comes pretty close to being my ideal Basic for the ST.
It comes on a cartridge which plugs into the ST's cartridge port and
can be left permanently in place. Packaged with the cartridge is a
comprehensive manual, a quick reference card and a set of
demonstration programs and utilities on disk. All very
comprehensive. Let's take a look at what you can expect.
THE SCREEN EDITOR
The screen editor makes sensible use of windows.
It has two windows on screen at boot-up, the input window and output
window. Also available is an immediate mode window which can be
opened by clicking on the appropriate menu item.
There are four font sizes available for use while
programming. There is also a pretty full set of word processing
facilities such as search & replace and cut & paste, all of which
make editing a program a much simpler task. It is possible to load
ST Basic programs into Fast Basic. Some of course won't work without
almost re-writing them but some of the simpler ST Basic programs
only need minor changes. Using the search & replace function greatly
simplifies this operation. I have done this with several ST Basic
programs and found that the programs ran about six times as fast
when converted to Fast Basic. I should stress that this wasn't
intended to be a proper test of the speed of Fast Basic but it
certainly gives an indication of what might be achieved.
STRUCTURE
Fast Basic seems quite close to BBC Basic in
general syntax, it makes use of procedures, and a generally
structured style of programming is encouraged.
Line numbers are optional, but they are really
only used as labels. It is still possible to GOSUB or GOTO a line
number, but it is preferable to write around named subroutines or
procedures. Having used 8 bit Atari Basic for some time I was
surprised to find how easy it is to program in this way. It makes a
program much more readable and easier to change and develop.
KEYWORDS
There are all the usual keywords that you would
expect from any good version of Basic and, in addition, there are a
large number of extra keywords which are specific to the ST. It is
rather strange though that with approximately two hundred and fifty
keywords, plus more than sixty GEM commands, there are only three
sound commands. One of these is BEEP which gives a bell sound. The
others are DOSOUND and SNDREG which both seem difficult to
understand and there is not sufficient information in the manual
about them nor any examples on the demo disk. I am sure that some
good sound can be produced, but compared with the comprehensive
range of other keywords it seems that sound has been more than a
little neglected.
GRAPHICS
Fast Basic is packed with graphics functions. All
the normal graphics commands - LINE, CIRCLE, FILL etc. are
supported. Additionally there are a multitude of commands which, as
far as I can tell, cover every possible requirement. For example
blocks of screen memory can be manipulated using the GRAB, PUT and
BLIT commands. Page flipping is easily implemented using the
PHYSBASE and LOGBASE pseudo variables. GEM is also comprehensively
supported.
Every GEM function that you are ever likely to
require is available. Most of the GEM commands are simple to use.
For example drop-down menus and alert boxes are very easy to
implement. It is possible to produce very professional looking GEM
based programs with a minimum of programming.
ASSEMBLER
Fast Basic comes with a built-in assembler which
can be accessed from within a Basic program. Basic and assembly
language can be used together in the same program and the code for
both languages appears in the same file.
PROGRAM SEGMENTS
It is possible to have up to ten programs in
memory at the same time. Fast Basic divides the memory into
segments, putting one program into each segment. Each program can be
edited and run independently from the other programs in memory. It
is possible for a program to call and run a program in another
segment using the PERFORM command. The END statement will cause a
program to return to the original program.
THE MANUAL
Packaged with Fast Basic is a comprehensive
manual. It is laid out with one keyword per page with an explanation
of the purpose and syntax of the keyword, together with a short
example of how it is used and a list of associated keywords.
DEMO DISK
The disk which comes packaged with Fast Basic
contains a number of example programs. These provide an excellent
reference for any problems which may arise when programming. Also on
the disk are several utility programs. One of these enables a Fast
Basic program to be turned into a desk accessory. Another of these
utilities turns a Fast Basic program into a PRG file which, when
opened, runs Fast Basic and autoruns the program. It appears as
though the program is running on a stand-alone basis, but the Fast
Basic cartridge must be plugged into the the computer for the
program to run. Computer Concepts have now, however, released a
utility which will convert Fast Basic programs into completely
stand-alone files.
A third utility on the disk enables synthesized
speech to be produced. This is an excellent utility, the speech
produced is of quite a high quality and is fairly easy to program.
SUMMING UP
Fast Basic is an excellent product. It has many
more commands and facilities than I could possibly describe here. It
is similar enough to other Basics to make switching from other
dialects of Basic to Fast Basic quite easy. It also has many
commands which are entirely specific to the ST. It combines the ease
of programming and interactivity of Basic with the ability to
program GEM applications. It also lives up to its name - it is very
fast.
If you have an ST and want to program in Basic
then you really must buy it. In an ideal world it would have been
the Basic which was bundled with the ST by Atari. Fast Basic is a
product that is every bit as good as the hardware it was written
for.
top