Path: news.uh.edu!barrett From: nicholk@dcs.rhbnc.ac.uk (Nicholas J. Kingsley) Newsgroups: comp.sys.amiga.reviews Subject: REVIEW: Blitz BASIC II Followup-To: comp.sys.amiga.programmer Date: 21 Jun 1994 16:48:01 GMT Organization: The Amiga Online Review Column - ed. Daniel Barrett Lines: 231 Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator) Distribution: world Message-ID: <2u75k1$2pk@masala.cc.uh.edu> Reply-To: nicholk@dcs.rhbnc.ac.uk (Nicholas J. Kingsley) NNTP-Posting-Host: karazm.math.uh.edu Keywords: programming, BASIC, commercial Originator: barrett@karazm.math.uh.edu 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 nicholk@dcs.rhbnc.ac.uk --- Daniel Barrett, Moderator, comp.sys.amiga.reviews Send reviews to: amiga-reviews-submissions@math.uh.edu Request information: amiga-reviews-requests@math.uh.edu Moderator mail: amiga-reviews@math.uh.edu Anonymous ftp site: math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews