M-TEC BBC Basic (Z80) Review
In Beebug Vol. 2 No. 1, we reviewed the Torch 280 Disc Pack. A complete Z80 version of BBC Basic is now available for the Torch system and your Torch second processor can now have BBC Basic together with a full use of Sound, Graphics, and in-line Z80 assembler, and this combination provides you with at least 47k of user memory.
The new version is indeed a complete BBC Basic. It is difficult to say whether it is Basic-I or BASIC-II because, for example, it has the new OSCLI statement but not OPENUP! This aside, the upgrade is extremely good. In the few cases where statement syntax is not completely identical, it is usually because the Z88 version is providing a more relaxed or versatile format.
BBCBASIC(Z80) comes with a number of utilities. The most useful of these are a CONVERT program for converting to internal format Basic files from ASCII files and vice versa, a RUN utility for getting back into your program after a break to CPN (CPN is the Torch disc operating system), an UNLIST utility for creating unlistable programs, a MERGE program for merging Basic programs, and a series of HELP text files. A well-written and thorough manual accompanies the software.
First Thoughts
To get a feeling for how good the system was I transferred a number of Graphics and Sound programs from Acorn DFS discs onto a Torch CPN disc using the TORCH RDACORN utility. I then used the CONVERT utility to obtain the equivalent internal format Basic files. [Hint: The CONVERT utility will create lines for the 'LIST' and '*SPOOL' commands used initially to create and close off the spooled file used by RDACORN. It is therefore a good idea to start your programs from some line number greater than one].
I then loaded BBCBASIC(Z80) and, after deleting the two redundant lines, proceeded to run each of the Basic programs - with no problems whatsoever!
Comparisons
In BBCBASIC (Z80) the DELETE, RENUMBER and LIST statements will accept either a comma ',' or a hyphen '-' between arguments. This is good news for those of us who have used a number of other Basics. LISTO7 actually indents the FOR...NEXT and REPEAT...UNTIL loops correctly, so that the two statements come into line.
The built-in Z80 assembler uses the same format for creating in-line assembly code (eg. in the way square brackets enclose the code, DIM statements allocate space, the way P% is used, and so on). Comments may be delimited by a backslash or a semi-colon. When CALL is used, the integer variables A%, B%, C%, D%, E%, F%, H%, and L% can be used to set up the appropriate 28p registers in the same way that A%,X%,Y% and C% are used in BBC Basic. No facility exists for setting the alternate 280 register set on entry. Register IX will contain the address of the CALL parameter table.
In BBCBASIC(Z80) it is still possible to use the indirection operators, and two extra statements exist for reading and writing to Z80 I/O port addresses. Reading ports is achieved through an extended version of GET (ie. GET(p) is used), and writing is performed by the PUT statement (i.e. PUT(p,v) will write 'v' to port 'p'). These GET and PUT statements are not approved by Acorn and are not guaranteed to remain unchanged!
The major 'awkward' points I found were in the disc I/O statements. The differences are in some sense justified because, let's face it, the two Disc Operating Systems (Acorn DFS and Torch CPN) are different! For example, to obtain a listing of the files on a disc in BBCBASIC(Z80) you have to use DIR instead of CAT. This is okay if the system warned you that *CAT (or *.) was illegal - which it doesn't, the system just gets confused!
Conclusion
The software should be a welcome addition to those who have gone for the Torch 28 Disc Pack option. I have certainly found it a delight to use. Its compatibility is excellent, currently permitting well over 47k of program space irrespective of graphics mode. BBCBASIC(Z80) is just what the Torch Disc Pack users need to keep their system compatible with BBC micro software. Its price will probably mean that it is used mainly by business users.
We are grateful to Mr G. Perry of M-TEC Computer Services-for the loan of the review software. The price of BBCBASIC(Z80) is £118 + VAT (£126.50 inc.) from M-TEC Computer Services, Ollands Rd., Reepham, Norfolk NR10 4EL. Tel: Norwich (0603) 870620.