I'll freely admit that Blast is about the best compiler you're ever likely to want or need. The amount of thought and . development that must have gone into it was probably enormous. Yet all the time I was using it, the thought that it would cost me virtually £25 to buy this program, if I weren't reviewing it for HCW, loomed large in my mind.
This is the first compiler I've used that accepts all the commands available in BASIC. Previously when writing programs with compilers I've often spent ages trying to work out how to carry out certain tasks when a number of BASIC commands aren't accepted by the compiler (one compiler that I've used hardly.let you use any commands relating to string variables). With Blast though, any BASIC program at all can be compiled, either into machine code or a special 'p-code'. This is more compact than BASIC or rn/c, but runs at a speed somewhere between the two.
Once loaded, Blast leaves you with very little spare ROM - barely 3K to play around with! Fortunately the manual deals with this in some detail, and describes methods of loading and saving larger programs to and from both tape and microdrive.
The manual as a whole is very well done. It covers all of Blast's features with laudable clarity, and even kicks off with explanations of some of the jargon involved. There is, however, one small and fairly irritating error with regard to the colour security system (similar to the one in JSW), which might lead you to enter an incorrect code and have it all crash on you. So, once you've entered the relevant letter (W for white, G for green, and so on) don't press ENTER as the manual instructs, - the program interprets that as part of the code.
So, what about the speed of the compiled programs? Well, to start with, I wrote a short program to plot a series of circles - not using the CIRCLE command, but using the algebraic formula for plotting points on the circumference of a circle.
This is a fairly complex bit of calculating, along the lines of:
PLOT r*SIN t+127,r*COS t+87 - with a few other variables and a FOR/NEXT loop thrown in (pretty impressive huh?). In ordinary BASIC this is a hideously slow and inefficient way of drawing circles, but I wanted to make things as tough as I could for the compiler, and, to be honest, the compiled program was only a few seconds faster than the BASIC program (from 34 to 29 seconds). But, as I mentioned this was a very inefficient bit of programming in the first case, and once I started to use more sensible methods the speed factor started to drop considerably.
I've only touched on some of the features of Blast here, and to do it full justice would require a considerable amount of time and experimentation. To sum up, I can only repeat that this is the best compiler around, but how many of us amateur programmers have £25 lying around spare.