Sinclair BASIC

From Free net encyclopedia

Sinclair BASIC (taking its name from innovator Sir Clive Sinclair) is a dialect of the BASIC programming language used in the 8-bit home computers from Sinclair Research and Timex Sinclair. The Sinclair BASIC interpreter was made by Nine Tiles Networks Ltd.

Originally developed in 1979 to fit in the 4 KB ROM of the ZX80, it was initially an incomplete implementation of the 1978 ANSI minimal BASIC standard and evolved through the 8K ROM ZX81 and TS1000 to be an almost complete version in the 16K ROM ZX Spectrum.

Contents

Original Sinclair BASIC

Image:3DMAZE-line370-delay5-to-0.png

Reserved words

On the Spectrum there are 86 reserved words in Sinclair BASIC, denoting commands (50), functions (31), and other keywords (5):

ABS, ACS, AND1, ASN, AT, ATN, ATTR, BEEP, BIN, BORDER, BRIGHT, CAT2, CHR$</u>3, CIRCLE, CLEAR, CLOSE#2, CLS, CODE3, CONTINUE, COPY, COS, DATA, DEF FN, DIM, DRAW, ERASE2, EXP, FLASH, FN, FOR, FORMAT2, GO SUB, GO TO, IF4, IN, INK, INKEY$3, INPUT, INT, INVERSE, LEN, LET5, LINE, LIST, LLIST, LN, LOAD, LPRINT, MERGE, MOVE2, NEW, NEXT, NOT1, OPEN#2, OR1, OUT, OVER, PAPER, PAUSE, PEEK, PI, PLOT, POINT, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN, RND, RUN, SAVE, SCREEN$3, SGN, SIN, SQR, STEP, STR$3, TAB, TAN, THEN 4, TO, USR, VAL3, 6, VAL$3, VERIFY

Commands found exclusively on the ZX81 and its clones the TS1000 and TS1500 are:

FAST, SCROLL, SLOW, UNPLOT, GOSUB, GOTO (vs the Spectrum's GO SUB, GO TO)

The Spectrum 128K models—the Spectrum 128K, Spectrum +2, +3, +2A, and +2B—introduced two commands:

PLAY, SPECTRUM

Notes

  1. The AND, NOT, and OR functions are logical operators.
  2. CAT, CLOSE#, ERASE, FORMAT, MOVE, and OPEN# are ZX Microdrive file system commands, whose attempted use without a Microdrive produces an error.
  3. String variable names must consist of only one alphabetical character.
    Thus, «LET A=5», «LET Apples=5», and «LET A$="Hello"» are all good, while «LET APPLES$="Fruit"» is not.
  4. There is no ELSE operator in the IF–THEN(–ELSE) clause.
    Thus, instead of
       10 IF V=5 THEN GO TO 50 ELSE GO TO 100
    it is
       10 IF V=5 THEN GO TO 50
       20 GO TO 100
  5. LET is compulsory (i.e., «LET A=1» but never «A=1»); a practice different than in most other BASIC dialects.
  6. The VAL function does not just evaluate numbers but full expressions. For example, «PRINT VAL(A$)» will output 14 when given an A$ of "3*3+4+COS(0)".

Unlike the LEFT$(), MID$() and RIGHT$() functions used in the ubiquitous Microsoft BASIC dialects for home computers, parts of strings in Sinclair BASIC are accessed in a manner similar to arrays. For example, «A$ (5 TO 10) » will give a substring starting with the 5th and ending with the 10th character of A$.

Timex BASIC

The Timex BASIC dialect, used on the Spectrum-compatible TS2068, but not the TS2048, which used the ordinary Sinclair BASIC, has the following six keywords as well as the ordinary Sinclair BASIC ones:

DELETE, FREE, ON ERR, RESET, SOUND, STICK

Extensions and variants

References

  • Vickers, Steven (1982). Sinclar ZX Spectrum BASIC Programming. Sinclair Research.
  • Ardley, Neil (1984). Sinclair ZX Spectrum+ User Guide. Dorling Kindersley in association with Sinclair Research. ISBN 0-86318-080-9.

External links

pl:Sinclair BASIC