Изначально разработан в
1979 году
для размещения в 4
килобайтах
ПЗУ
компьютера
ZX80
. Эта версия представляла собой неполную реализацию минимального стандарта
ANSI
1978 года
. При адаптации для компьютеров
ZX81
и
TS1000
, имевших 8
КБ
ПЗУ, интерпретатор был улучшен и в версии для компьютера
ZX Spectrum
с 16 КБ ПЗУ стал почти полной реализацией стандарта.
Содержание
Оригинальный Sinclair BASIC
Операторы
В версии для компьютера ZX Spectrum существует 86
операторов
Sinclair BASIC, включая команды (50),
функции
(31) и
другие ключевые слова
(5):
ABS
,
ACS
,
AND
¹,
ASN
,
AT
,
ATN
,
ATTR
, BEEP, BIN, BORDER, BRIGHT, CAT²,
CHR$
³, CIRCLE, CLEAR, CLOSE#², CLS,
CODE
³, CONTINUE, COPY,
COS
, DATA, DEF FN, DIM, DRAW, ERASE²,
EXP
, FLASH,
FN
, FOR, FORMAT², GO SUB, GO TO, IF
4
,
IN
, INK,
INKEY$
³, INPUT,
INT
, INVERSE,
LEN
, LET
5
,
LINE
, LIST, LLIST,
LN
, LOAD, LPRINT, MERGE, MOVE², NEW, NEXT,
NOT
¹, OPEN#²,
OR
¹, OUT, OVER, PAPER, PAUSE,
PEEK
,
PI
, PLOT,
POINT
, POKE, PRINT, RANDOMIZE, READ, REM, RESTORE, RETURN,
RND
, RUN, SAVE,
SCREEN$
³,
SGN
,
SIN
,
SQR
,
STEP
,
STR$
³,
TAB
,
TAN
,
THEN
4
,
TO
,
USR
,
VAL
3, 6
,
VAL$
³, VERIFY
Операторы, присутствующие только в версиях для ZX81 и его клонов TS1000 и
TS1500
:
FAST, SCROLL, SLOW, UNPLOT, GOSUB, GOTO (вместо GO SUB, GO TO в версии для ZX Spectrum)
В версии интерпретатора для 128K моделей (Spectrum 128K, Spectrum +2, +3, +2A и +2B) было добавлено два оператора:
CAT, CLOSE#, ERASE, FORMAT, MOVE и OPEN# являются командами для работы с файлами на устройстве хранения данных
ZX Microdrive
, при попытке использования без наличия такого устройства (или дисковой системы, поддерживающей эти команды) приводят к ошибке.
Имена строковых переменных могут содержать только одну букву.
Таким образом, команды «LET A=5», «LET Apples=5» и "LET A$="Hello"" являются правильными, но "LET APPLES$="Fruit"" будет ошибочной.
Оператор ELSE в IF—THEN(—ELSE) условиях не предусмотрен.
Таким образом, вместо кода
10 IF V=5 THEN GO TO 50 ELSE GO TO 100
нужно использовать
10 IF V=5 THEN GO TO 50
20 GO TO 100
Оператор LET является обязательным (то есть нужно использовать «LET A=1», но не «A=1»); что является заметным отличием от большинства диалектов языка BASIC.
Функция VAL обрабатывает не только числа, но и выражения. Например, «PRINT VAL(A$)», где строка A$ содержит «3*3+4+COS(0)», выведет число 14.
В отличие от диалектов BASIC для бытовых компьютеров, подобных
Microsoft BASIC
, где для доступа к фрагментам строк используются функции LEFT$(), MID$() и RIGHT$(), Sinclair BASIC использует способ, подобный работе с массивами. Например, «A$ (5 TO 10)» вернёт подстроку, начинающуюся с пятого и кончающуюся десятым символом строковой переменной A$.
Расширения и варианты
Timex BASIC
— диалект, используемый на Spectrum-совместимом компьютере
TS2068
(но не
, который использует обычный Sinclair BASIC). Помимо стандартных операторов Sinclair BASIC, имеет шесть дополнительных: DELETE,
FREE
, ON ERR, RESET, SOUND,
STICK
.
, расширение Sinclair BASIC, выпущенное в
1983 году
, разработчик — Dr. Andy Wright из компании BetaSOFT
. Распространено мнение о том, что это полноценный интерпретатор, аргументированное тем, что в нём имеется собственный редактор программ. На самом деле Beta BASIC (как и остальные расширения) не позволяет создавать программы, работающие без загрузки кода Beta BASIC, и использует процедуры
ПЗУ
(Sinclair BASIC).
— разработано в
1984 году
Майком Лименом (
англ.
Mike Leaman
) из компании
Your Spectrum
, имеет операторы
while, repeat, until
, команды для управления набором
спрайтов
. Расширение нацелено на облегчение создание игровых и учебных программ. Сопровождалось программой
Sprite Designer
для создания спрайтов.
, расширение, разработанное компанией HJB в
1985 году
.
, расширение, разработанное Oasis Software в
1986 году
. Предназначалось специально для создания игровых программ, в каком качестве и стало популярно (так, в России на этом языке была написана игра «
» от
Вячеслава Медноногова
). Этот Бейсик входил в пакет Laser Compact, также включавший впечатляющие demo-программы и компилятор Бейсика Laser Compiler.
, также разработанный Dr. Andy Wright, являлся интерпретатором BASIC для компьютера
SAM Coupé
и имел обратную совместимость с версией Sinclair BASIC для ZX Spectrum.
Show
, расширение, предназначенное не для программирования, а для создания простых презентационных роликов. Содержит демонстрационную программу. Дополнительные операторы позволяют создавать бегущие строки и надписи, скроллирующиеся в любом направлении и выводимые разными шрифтами. Расширение оказалось востребованным студиями кабельного телевидения, выводившими таким образом свою программу на день. Имеет версию, адаптированную для
IS-DOS
[
источник не указан 2883 дня
]
.
является развивающимся ретро-проектом, целью которого является создание улучшенной версии Sinclair BASIC (бета-версия была доступна на июль
2005
).