written by Alan Rowley / SUC/UK
Source: SUC-magazine June 1983, Volume 3 Number 2, pp. 15 – 16
In the first instance it seemed that this might be a useful games language being integer only and hence hopefully fast. Also you should have lots of spare memory. However it is not tokenized, the text is stored in full which makes it neither very fast nor very economical on memory.
The Basic occupies $1200 to $1C00 and the keywords start at $12E5. Cold start is at $1200 and warm start at $1202.
Only integer arithmetic over the range +32767 is allowed and the line number limit is similarly 32767. Only single letter variable names.
|LIST||Listing is stopped by holding down the Break key and restarts on release. LIST 100 starts listing at line 100 and then continues.|
|OLD||restores a NEWed program although if subsequent entries have been made this will be more or less corrupted.|
|SAVE||No inverted commas needed for file name. File type 6.|
|VERIFY||Returns to ready with no comment if OK. Checksum errors on fault.|
|LET||seems to be optional.|
|THEN||Functions only. Must GOTO a line number.|
|PEEK and POKE||more or less as normal. Decimal addresses only up to 32767 but hex over full range. Full 4 digit hex numbers preceded by $ are required for both addresses and the argument of POKE although the latter can be decimal|
|USR(Z)||As normal but again decimal only up to 32767. Hex over full range. Use full 4 digits and $.|
|INPUT||Always generates a prompt even if a message is included, a comma must be included as a separator e.g. INPUT “WHAT IS THE VALUE OF A“, A|
|Also uses a comma as separator. PRINT £Z, A prints out the value of A in a field of width Z. Default is a field of 8. Overflow is left adjusted.|
|CLEAR||Initializes all variables to 0.|
|STOP||Instead of END. No CONT.|
|RND(Z)||Random number from 1 to Z inclusive.|
|SIZE||As usual but SIZE above 32767 gives negative complement.|
|CHR Z||Prints character with ASCII Z ( hex or dec ). Like FORTH EMIT. No carriage return output.|
|SPC Z||Prints Z spaces without carriage return e.g. like FORTH SPACES.|
|TONE Z||Switches on sound generator with tone defined by Z. Z from 256 to around 25000, when nothing was audible. 256 for highest note.|
|QUIET||Switches off sound.|
|KBD||Like GET. Z = KBD. Repeats, zero for no key presses.|
|Logic||As for SP5025 with “+” and “*”. Also “-” for XOR.|
The following are as normal:
RUN‚ NEW, BYE, NEXT, IF, GOTO, RETURN, GOSUB, REM, FOR, MUSIC, TEMPO, LOAD, ABS(, SGN(, TO, STEP.
Arithmetic and equalities and inequalities seem as normal for the integer arithmetic. There is no power function and apparently neither printer output nor access to the clock. No string handling.
|ERROR MESSAGES||These are rather terse:|
|HOW?||for data error,|
|WHAT?||for syntax error and|
|SORRY||for return stack overflow.|
|A subroutine depth of 20 seems to be allowed. Did not find a limit on FOR..NEXT. At run time the whole error line is listed with the message and ‘?’ at the stop point.|
|OTHER POINTS||The ‘?’ as abbreviation for PRINT is not converted when listed. This will save memory since there are no tokens. Input accepts capital letters but not graphics or lower case as numeric = 0, without error.|
On the whole a rather disappointing package but perhaps of some use for the children to learn an.
Go to the download section.