SUPER FAST, super compact, and super flexible - that's the Supercharge compiler and Digital Precision is not kidding when it makes those claims.
The compiler supports nearly all SuperBasic instructions and will produce machine code which will run as one or a series of QDOS jobs. Unfortunately you cannot produce resident procedures using it, because of the way those are organised, but even then you should be able to mimic the extension ability using a short routine of your own - which, incidentally, Digital Precision could have supplied.
To compile a program you first merge a set of SuperBasic extensions from Supercharge. Those make the compilation process easier, but first you have to get past the Lenslok security device which so many software companies are using. Next, load in the source program.
The compiler asks for a file name which it will use to store the code on microdrive or - if you specify it floppy disc. Next you must decide if you want a listing and to which device, screen or printer, it should go. lf you choose to have a listing the lines of your SuperBasic program will appear in a window or on paper as it is compiled.
When the compilation process has finished Supercharge either drops back into SuperBasic or displays sentence-length error messages if anything has gone wrong. To run a compiled file you must EXECute it. Several job files can be run together, again using EXEC.
If you want to run jobs concurrently - multi-task them - you will need to know about how QDOS operates. Each job has a priority; the higher it is the more processor time is given to it. SuperBasic has a priority of 32, which puts it as the foremost job. That can be altered and SuperBasic can also be turned off.
One of the Supercharge SuperBasic extensions is a command to find the status of jobs through a particular channel For instance, if you typed LIST_TASKS#0 you would get the display
showing that SuperBasic is the only task running. The 0,0 values are the unique job tag. Each job has a tag which the QL sets up. The final value is the priority.
Supercharge is powerful because anyone who has a QL can use it. You do not have to know a language such as C or Pascal to write programs in the source code - SuperBasic will do.
The compiler achieves spectacular results which are most notable where graphics and mathematics are concerned. The execution time of a program which, for example, fills the screen with circles - starting at the centre of the screen and increasing the circumference while keeping the original centre - is just over two seconds faster than the SuperBasic version.
The only slow aspect of Supercharge is the compilation process which involves a lot of effort by users who will need to dirty their hands with some understanding of the QL memory in order to multi-task jobs.
Each compiled program contains library routines from Supercharge so that it can be run without the compiler's presence. You should take memory into account when trying to compile a program as the library routines could make your program 11K longer. If your code is longer than 60K you should be careful.
Digital Precision says that programs can be thread compiled - compiled one at a time into a big routine - to maximise memory usage; the company does not say how that is accomplished.
Error messages can also make you run short of memory. Those are stored in RAM and if you have a large program with lots of errors you could end up 'out of memory' before the program has compiled.
The answer is to correct the errors shown before the message and keep trying to compile until you have taken all the errors out of the program. The memory released should be sufficient for most programs. The only problem you could have with this approach is if there is an error in the design of your program. That would just be down to your bad coding.
Despite criticisms that the product arrived late on the market, Supercharge is a superb utility which will make enterprising users interested in writing the applications programs they cannot get off the shelf.
|