Chalkwell 3K BASIC

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
PRINT 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.