Subject: REVIEW: AMOS: The Creator
From: comp.sys.amiga.reviews Moderator <[email-masked]>
Newsgroups: comp.sys.amiga.reviews

--text follows this line--
[This was sent to me by Charles Hill of AMReport fame.  The last working
address I have for him is: Charles Hill/InfoTrak
<[email-masked]>. -JLT3]

AMOS: The Creator is a BASIC package published by Mandarin Software of
the U.K. and written by Francois Lionet of France.  AMOS is considered
the single best-selling non-game Amiga software to date with over 40,000
copies sold worldwide.

AMOS itself was created using the DevPac II Assembler; DPaint III;
Pix Mate; Cross-DOS and Mini Office Pro Communications.

AMOS is a rewrite of the best-selling Atari ST BASIC language, STOS:
The Game Creator.  When AMOS was finished, the word "game" was removed
because the resulting program was so powerful.  Or so the manual says.

                                 B.A.S.I.C.

Beginner's All-purpose Symbolic Instruction Code (BASIC) was one of the
first languages most people were introduced to programming on.  Versions
of BASIC were included with the Commodore 64 and 128; the IBM PC and
clones; the Atari ST and the early Amiga (until it was replaced by
Amiga Vision).

BASIC is usually the language taught in high school programming classes
as well as introductory computer classes for non-computer majors in
college.  BASIC is simple to learn and simple to use.  It is estimated
that there is more BASIC coded programs laying around on PCs than in
any other language.  BASIC is estimated to rank number two in programming
language of choice on all mainframe, mini and microcomputers -- after
Cobol.  [Ed. -- Before anyone comes ranting & raving to me about how
many 'C' and assembly programs there are, I just report 'em as I read
'em.  The study in question was done by the U.S. Gov't in 1989.  I don't
have any further information.]

BASIC can be either interpreted, where the BASIC interpreter itself must
be in memory; or compiled into executable code.  Compiled programs are
usually much faster to execute than interpreted programs.

BASIC has not only garnered itself a reputation for simplicity, it has
also gotten a reputation as a language suitable only for very small,
very text-oriented programs that do not need to be speedy.  Now, however,
a new breed of BASIC is stepping forth and shaking off the old image
of sluggish reactions.  Borland's Turbo BASIC for MS/PC-DOS based machines
can compile BASIC code which will execute at speeds comparable to Pascal,
Modula or even C program.  AMOS is part of this breed.

Most people have relegated BASIC to the classroom because of this lack
of speed and its simplicity in commands.  High-level languages (those
most resembling English) usually have high overhead, which causes the
slow execute speeds.  However, this is a fault of the complier or
interpreter, not BASIC itself.  A good BASIC compiler can compile programs
that will run head-to-head with compiled C programs.

This is the reason that Mandarin wanted the word "game" out of the program's
name.  This is also something the user must get through his/her head so
AMOS can be looked at as a serious programming language and not "oh, it's
just another BASIC <yech!>".

                                 THE CREATOR

AMOS comes in three packages.  The first is The Creator, which contains
AMOS itself (v1.2), the editors, interpreter, tools and a number of
example programs.  AMOS: The Compiler is a compiler for AMOS programs
and an update to the main program (v1.3).  AMOS-3D is another update
to the main program (v1.3+) and a 3D modeler and manipulator.  The Compiler
and 3D will be dealt with in separate articles.  It should be noted that
while The Creator will run without the other two packages, the Compiler
and AMOS-3D require The Creator to run.

                                 THE MANUAL

The AMOS manual is for version 1.0 and was written using WriteNow on a
Macintosh and set up with Pagemaker.

The manual contains twenty-two chapters ranging from an introduction
to using machine language with AMOS.  

The manual is chock full of examples and the longer examples are included
on one of the three disks.  Examples are numerous and as far as I can
tell, they all work like they should.

The manual is written the The Queen's English, so some of the terms
will be foreign to Americans.  The manual is thoroughly understandable
and if you know BASIC from somewhere else, you will breeze through it.
(It took me less than four hours to read the entire 290+ pages -- most
of it was a refresher course.  That time includes trying a few examples.)

Americans/Canadians be prepared for a small shock.  AMOS was originally
written for PAL systems (okay, so you Canadians get off there!) and for
a European audience.  Nowhere will you find a reference to a "monitor",
though there are numerous points on hooking your Amiga up to a T.V.
The entire manual was written with the following configuration in mind:

        Amiga 500 w/512k; one floppy drive and an RF hookup.

Actually, the entire *program* was written with that configuration in
mind, so if you have a hard drive or extra RAM you're going to have to
jump through hoops to get a setup you like.

The manual is good.  It is complete and has useful and fun examples.
There is a companion pamphlet that brings the manual up to date with
version 1.2 and all the accessories.

Oh, the manual makes many references of things being done 50 times a
second.  I assume that this is derived from the 50 cycle clock used
in Europe and that it is 60 times a second for U.S. systems, but I
have not confirmed this.

                                 THE EDITOR

The editor is a full screen editor that bears most resemblance to the
Commodore 64 interface.  It is not Intuition-based and while it is
nice, it take a LOT of getting used to.  AMOS, however, can import ASCII
code so you can use whatever editor you wish.

Everything is in 320x200 lores to save RAM and on my system, just a tad
off-center.  (Remember, this is not an Intuition screen -- fiddling with
Preferences doesn't do a thing.)

Most commands are mapped to function keys and work smoothly.  AMOS uses
the ALT, SHIFT, CTRL, Left-AMIGA and Right-Amiga to delimit function
keys.  That makes for 60 function keys!

The editor has two modes.  Direct and edit.  In edit, you are in a text
editor designed to support AMOS.  The concept is similar to LSE with
Lattice/SAS C and seems to work fine.  Direct mode is where you enter
a command, hit <CR> and it does it.

AMOS itself is wierd in multi-tasking.  Want to switch back to the
Workbench?  Hit Left-AMIGA-A.  You read that right.  After that, you
are in Workbench and whatever else you had.  From there, the normal
LA-N and LA-M will switch between non-AMOS tasks like normal.  Want to
get back to AMOS?  Left-AMIGA-A again.  Strange.

                                THE LANGUAGE

AMOS is BASIC all right.  Most of the commands are very familiar and
those that are not are very similar to what you would expect a BASIC 
command to look like.

AMOS has over 500 commands.  That's a lot.  More than a few of those
are specialized in dealing with graphics, sound, animation and effects.
Commands for manipulating sprites, bobs, SMUS files, NT files, screens
and windows abound.  Want a screen opened?  Type:

 SCREEN OPEN 0,320,200,32,Lowres

and damned if a lores 32-color screen doesn't open!

There are commands for handling split screens; super-bitmap screens;
extra half-brite, HAM, scrolling screens; double buffered screens, 
sprites, bobs; loading and saving portions or entire screens, bobs,
sprites; dual playfields; animation; music; sound effects; menus;
windows; file requesters; file access and more.

There are a few things missing in v1.2.  For instance, there is no
provision for opening an interlaced screen!  How this was overlooked
I'll never know, but all screens are only 200 lines high (255 in PAL)
and a larger number makes them super-bitmap.  This has been corrected
in v1.3, though.

There are also a number of commands for compressing data and graphics
on the fly to save RAM space.  Proper timing in your program and the
decompression (usually less than 1 second) will never be noticed.

AMOS also contains AMAL, and animation language that is interrupt
driven.  AMAL updates items at a rate of 60 times a second and it makes
it very easy to have two-dozen bobs and half-a-dozen sprites on screen
at the same time moving in complex patterns.  Things may flicker a bit,
but use the DOUBLE BUFFER option and it is all as smooth as silk.

                                  THE TOOLS

AMOS comes with a number of tools, including a map editor (to make
those fancy scrolling backgrounds); a sprite editor; grabbers; and
more.

All the tools are described fully in the pamphlet and are quite
useful.  The map editor will take an IFF screen and cut it up to use
the sections as tiles for creating those ever-so-popular smooth
scrolling backgrounds.  It makes games like Ultima so damn simple to
program it is a joke (the basics of Ultima, anyway).

AMOS has a tool for converting ST/NT, Sonix and SMUS files to it's own
format.  It works nicely on what I've tested (ST/NT & SMUS files).

                                THE PROGRAMS

AMOS includes a number of example programs which are quite well done
and the source code is very instructional.  The games are cute and
the graphics good.  These are very good examples of what can be done
with AMOS.

                                THE PROBLEMS

Here we go.

AMOS is written with PAL systems in mind.  It is a pain in the rear
end to get it looking right on NTSC.

The hard-drive install program is a joke.  It doesn't work worth a
damn and is a waste of disk space.  The instructions in the manual on
installing AMOS on a hard drive are no better.  There were written
by someone who obviously didn't have a hard drive.

AMOS refuses to work from a sub-directory and demands that it be in
the root directory of my hard drive.

When starting AMOS from the CLI you must first CD to the directory where
AMOS is *then* start it.  Forget path names, etc.

The editor is designed for PAL and even with the AMOS prefs set to NTSC
is doesn't look right.  

Personally, I cannot go from working on my Amiga to booting up AMOS and
programming.  I have to go away and let my mind forget the Amiga interface
and *then* go back and boot AMOS.  If I don't, the wierdness of AMOS will
make me put a (#*$*@# fist through the monitor in no time flat.

The file-save requester doesn't work.  It refuses to save if a file doesn't
already exist.  I get a "file not found" error when trying to SAVE AS...
so I have to swap back to Workbench (NO!  Not Left-Amiga-N!  Left-Amiga-A!
Ugh!) then create a dummy file, then switch back and save the beast.  [I
could redo the file requester in AMOS, but I'm too lazy so far.]

The list goes on.

                                 THE SUPPORT

AMOS has more support than any language I've ever seen.  There is an
AMOS PD disk collection (over 300 disks!) in Europe and a separate one
in Australia.  There is an AMOS newsletter out of England and contests
paying cash for good AMOS programs.  Mandarin has a standing offer for
publishing good AMOS programs.

AMOS has its own dedicated section in a number of European magazines
and there is even a series of AMOS quick-reference cards included in
Amiga Format now-and-then.

Heck, there is even telephone technical support to help you when you
get stuck!  (The phone number is in England, though.)

AMOS is *popular* is Europe and Australia.  It is gaining in popularity
in North America, too.

                                 CONCLUSION

AMOS is by far the most powerful BASIC I've encountered.  It is highly
optimized for the Amiga, though it's Atari ST roots show in the editor
and the interface.

The interface can take a lot of getting used to.  Still, AMOS supports
ASCII so you can bypass the interface for the majority of the time.

AMOS can program just about anything.  Granted, I might not use it to
do a top-of-the-line word processor or spread sheet, but that just 
might be my bias against BASIC as a "power" language.  If any BASIC
could do it, AMOS could.

AMOS, along with the compiler, can generate commercial-quality software
as long as the author has it in him.  AMOS takes out all the tedium of
programming "boiler plate" code like menu coding; sprite animation
routines, etc.

If you always wanted to program games, demos or anything with graphics
and sound on the Amiga, but never could master C, AMOS is for you.  If
you liked BASIC and want a decent BASIC with some power on your Amiga,
AMOS is for you.

AMOS has hooks to support assembly code and external routines, so if
you want you can mix C and AMOS smoothly.  AMOS is fantastic for handling
animation, graphics and sound on the Amiga.

On a scale of 1 to 10, I would give AMOS a 7+.  From what I've heard
about the Compiler and v1.3 update, they would pull that to an 8+; and
from what I've seen of AMOS-3D, it would rate a 9.