Subject: REVIEW: Blitz BASIC II
From: [email-masked] (Nicholas J. Kingsley)
Date: 21 Jun 1994 16:48:01 GMT
Newsgroups: comp.sys.amiga.reviews

PRODUCT NAME

	Blitz BASIC II

BRIEF DESCRIPTION

	A BASIC compiler and editor.

AUTHOR/COMPANY INFORMATION

	Name:		Acid Software
	Address:	10 St Kevins Arcade
			Karangahape Road
			Auckland
			New Zealand

	They also have a PO Box in London, England.

LIST PRICE

	I paid 49.95 UK pounds at First Computers.

SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS

	HARDWARE

		1 MB RAM required.

	SOFTWARE

		None.

MACHINE USED FOR TESTING

	Amiga 600 with 2MB RAM
	External disk drive

INSTALLATION

OVERVIEW

	Blitz Basic 2 ("BB2") comes on three compressed disks.  The first
contains BB2 itself and some programs that were published in Amiga Format
magazine as type-ins.  The others contain games, two of which were also in
Amiga Format.  In addition, some Blitz libraries are included, although
you're not told how to use them nor what they do.

	There are also several utility programs.  The first is a (bugged)
program that will convert a bitmap screen, approximately 320 by 200 pixels,
to either bobs or sprites.  The second allows you to set up screens and
graphics for map programs.  You are also supposed to be given a program that
allows you to set up windows icons and gadgets, although I haven't found it
anywhere.

	BB2 consists of two parts - the editor and the compiler, discussed
separately below.  The compiler is accessed from the editor using pull-down
menus.

THE EDITOR

	The BB2 editor is quite basic.  Consisting of no more than 30
commands, it is enough to get programs up and running.  If you don't like the
editor, you could always use your favourite word processor.

The commands available include:

	NEW				Clear program from memory
	LOAD & SAVE			Load tokenised programs only
	DEFAULTS			Modify tab settings, colours, etc.
	CUT, COPY, DELETE, FORGET	Modify blocks
	SEARCH & REPLACE		Find letters/words
	GOTO				Go to a line number

Most important commands include short-hand versions.

	If you select commands too quickly, the editor tends to muck up the
screen.  It won't redraw the screen until you select another option or
scroll the screen.

THE COMPILER

	This is where all your basic programs are turned into (very) fast
machine code, although, due to the fact that compiled code is slower than
pure assembly, programs do not run as fast as professional programs
(although they do come quite close).

	The compiler has two settings:  1-pass mode and 2-pass mode.
One-pass mode produces much slower code than 2 pass mode, as the code is not
efficient.  In addition, in 1 pass mode only, you can exit a program with
CTRL-C.  This is one of the many things that Acid manage to omit in their
manuals.

	The machine code itself is quite small.  The compiler manages to
convert around 200K tokenised text to 64K in 2-pass mode.

THE LANGUAGE

	The language itself is quite good.  You don't need line numbers any
more, and it supports procedures and functions, though procedures are called
"statements" for some reason.  AGA machines are supported with extra colours
and graphics.

	All necessary commands are there - commands for string handling,
mathematical calculations, displaying to screen, bitmaps, speech, samples
(you can play only 128K (6 seconds) worth for each sample), sprites,
windows, menus, bobs and structured programming commands (REPEAT/UNTIL,
WHILE/WEND).  For some reason, they've kept the ON GOSUB/GOTO commands as
well as LET.  I would have thought it was about time we got rid of both of
those.

	However, extra commands and improvements to the language are
available only to those people who subscribe to the BB2 magazine, which for
a very bugged program (see "The Bugs") is not good at all.  This is where
AMOS manages to excel (the only time it really can), as all of its updates
are in the public domain.

	Collision detection is a main problem.  Although fairly accurate, it
will tell you only if you've collided with something, and not which sprite
or bob you've collided with.  This means you've got to slow the program down
by searching for which things you've collided with, using a FOR/WHILE/REPEAT
loop.

	BB2 allows you to access all AmigaDOS ROM routines.  The language
handles bytes, words, long words and floating point numbers.

	The language has got a thing about using the currently activated
object.  Although a fairly good idea, I do feel it would be much easier for
programmers to just enter one extra parameter for where they would like
their objects to be placed.

	Sprites can only be removed from memory if they've been converted
from bobs (for some strange reason).

DOCUMENTATION

	BB2 comes with 2 manuals.  One is a reference guide for most of the
commands available, while the other contains the user guide for programming
and some extra commands that they've added (presumably after they made the
first book).

	Like the program, the manuals are full of errors and mistakes.  CLS
they say can be used in Amiga mode (multi-processing mode) or Blitz mode
(disables multi-processing - games mode).  Try as you might, CLS always
returns an error message when used in Amiga mode.

	One command (ReMap) they've managed to get in the index of the
reference manual but appears only in the user guide.

	The errors messages that they mention at the back of the reference
guide are all the ones that you probably WON'T get - all the important
messages are not mentioned at all, which is very bad.  One of the worst
messages you can get is "ERROR :" (Yes, that is the whole error message).
This normally appears if you try to use a palette before a slice has been
set up.

	At the end of the reference guide is a A500/A1000 keyboard layout of
all the RawStatus codes, which can be quite useful.  In addition, it also
gives a technical insight into how the Copper works, and how the language
handles all the technical aspects of the machine.  In addition, all NewTypes
(like the standard "C" structures) are given.

COMPARISON TO OTHER SIMILAR PRODUCTS

	AMOS and HiSoft Basic are the only ones that you should look at
really.  HiSoft Basic is new, so I don't know what it's like.

	AMOS is good if you're new to programming; as unlike BB2, the
language does all the hard work for you.  However, with AMOS, you have to
buy a compiler as extra if you want faster programs.

	However, unlike AMOS, the amount of support given by BB2 is very
small.  As stated earlier, you have to subscribe to their magazine if you
want anything extra.  PD libraries currently stock only one BB2 program (and
you get the code for that with the main program anyway).  However, BB2 can
produce (with hard work and patience) software that is as good as, if not
much better than, software written with AMOS.  See Skid Marks for a
commercial game written in Blitz Basic.

BUGS

	This is the one part that BB2 excels at.

	Bugs in the program are everywhere - the program can crash when
you've loaded the program, when you've exited it, or when running it.  All of
these bugs mean that you have to reset the computer and reload the program
again.  When you load or exit the program, it gives a #80000003 code, and
when running a program, it just crashes.

	The worst cases are when you run the program.  Even though you carry
out the error reduction routine as mentioned in the user guide, the program
will always crash if:

	A)  You try and open a bitmap that is too big for memory.
	B)  You use some I/O command while in BLITZ mode.

CONCLUSIONS

	The program scores marks for having the compiler built into the
editor and for a very fast compiling and running speed.  However, on the
minus side, the program loses points for all the errors in the manuals, the
program crashes, all the error messages not mentioned, and the lousy screen
updates in the editor.

	Overall, BB2 is very good if you want fast arcade games and/or want
to access the Amiga's ROM.  However, you should be patient enough to save
your programs before every run, and to suffer continual re-loading of BB2.

- Nicholas J. Kingsley
  [email-masked]

---

   Daniel Barrett, Moderator, comp.sys.amiga.reviews
   Send reviews to:	[email-masked]
   Request information:	[email-masked]
   Moderator mail:	[email-masked]
   Anonymous ftp site:  math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews