80-Bus News


March–April 1984, Volume 3, Issue 2

Page 35 of 51


By Roger Dowling


The following review of Enhanced BASIC for the Nascom computer is based upon the version to run under the Nas-Dos disk operating system, although presumably the CP/M version is similar and the tape version is lacking the disk commands, most of which will be obvious.

The Nas-Dos version supplied on disk contains two Crystal BASIC interpreters. XBASD is the standard disk version and one other which has additional commands for use with the Nascom AVC (GXBASD). The former is approxiamately 14k in length and the graphics version is some 22k long. XBASD returns 34044 bytes free and GXBASD returns 26304 bytes free when run under a 48k RAM system. It will run under either Nas-Sys 1 or 3.

Also on the disk are some demonstration XBASIC programs, some of which are also examples of disk (or tape!) file handling given in the manual. The manual contains around 90 pages including appendices and is well documented although a bit hap-hazard in layout. Nothing like the early Nascom manuals though for anyone who goes that far back! The only faults with the manual that I could fairly say is that some of the default values in the workspace area are incorrectly shown and the examples given for adding extra commands seem to assume tape XBASIC and thus the locations for the pointers to the extra tables and commands are different for the disk version. No great hardship after half an hours work though.

Also present on the disk are various pictures and demo programs to be run with the AVC under GXBASD. These are virtually the same as those which come with the AVC board although I did manage to find one or two extra things in there.

One other nice program on the disk is a ROM BASIC to XBASIC conversion utility which, when run, sets up the command table to accept two extra commands namely DLOAD and TLOAD to load and convert a ROM BASIC program from disk or tape and then to convert to XBASIC format.

XBASIC supports up to four disk drives and one tape drive and occupies RAM from 1000H to approximately 4660H. Its workspace is from 1006H to 1180H and a complete useful listing of the workspace area is given in the manual.

Additional commands may be incorporated into the interpreter in two ways -permanent extensions to the command set extend the interpreters length by adding the routines and extra word tables onto the end of the XBASIC code. The complete interpreter is then re-writtem to disk to include the extra commands. Temporary additions such as toolkit type commands which have no use during the running of a program are added at the top of RAM and can be removed by a cold start. An interesting point is that the Auxiliary Reserved word table (the table that contains any extra commands) is scanned before the Standard Reserved word table and this means that it is possible to use complete words from the existing table as part or whole Auxiliary words.

There are a total of 115 commands (including operators), 44 (I think!) that are in addition to those available with ROM BASIC. There are 14 commands that are similar to those of ROM BASIC but which have a changed format or are enhanced. XBASIC is an interpreter in its own right but where commands are the same as in ROM BASIC then their action is similar too. In XBASIC, there is no unscrolled top line. Thus all 16 lines scroll. It took a long time to get used to the fact that it is the cursor down key rather than the Enter key that scrolls the screen. The Enter key merely places the cursor (if it is not already there) at the first free line on the VDU. The Editor uses an internal “VDU” high up in RAM and a line length of up to 127 characters is achieved using this technique coupled with an input buffer located at 0C80H. By moving

Page 35 of 51