BETA-BASIC VI. 8
ВВЕДЕНИЕ.
BETA-BASIC
— расширение стандартного языка BASIC, защитного в ПЗУ
компьютера ZX-SPECTRUM. BETA-BASIC включает в себя 30
новых команд и 31 новую функцию. Некоторые стандартные команды дополнены
расширенным синтаксисом. Введены функции для удобства редактирования программ,
слияние и разделение строк программы. Расширены функции клавиши "BREAK".
В общем, работа с системой BETA-BASIC не отличается от работы со стандартным Бейсиком.
Новые команды набираются в режиме курсора "GRAPHICS"
("G") нажатием соответствующих клавиш. Соответствующие им
ключевые слова перечислены в главе 2. Новые функции вводятся путем нажатия
стандартной клавиши "FN", а затем нужной
литеры и символа "$" или символа "(". В главе 3 перечислены
новые функции с их аргументами.
Система
BETA-BASIC загружается по стандартной команде:
LOAD
"" или LOAD "BETA-BASIC"
Система состоит из двух частей.
Первая — программа на Бейсике из 3-х строк с номерами 0,1 и 2. Другая часть
(9.3К) написана в машинных кодах. Строка 0 определяет функции
BETA-BASIC. Она выводится на экран лишь в случае, когда является
единственной строкой программы.
Другие строки осуществляют
автоматическую загрузку и пуск BETA-BASIC, после чего
стираются. RAMTOP снижается до 55800 для защиты
машинных кодов, сохраняющихся в верхней части памяти. Загрузка считается
законченной после того, как в нижней части экрана высветится надпись COPYRIGHT. После загрузки система готова к работе.
Строка 1 содержит процедуру SAVE, которая сохраняет BETA-BASIC
на ленте. Для использования строки 1 нужно устранить автостарт использованием
следующих команд при загрузке системы:
MERGE
" "
CLEAR
55800: LOAD "" CODE
Теперь команда
RUN позволит записать BETA-BASIC на ленту.
Программы, написанные не в BETA-BASIC, или программы, где отсутствует строка 0, не
следует загружать посредством команды LOAD — в этих
случаях используется команда MERGE.
По сравнению с BASIC-ПЗУ ZX SPECTRUM, BETA-BASIC ускоряет вычисления. Особенно в
случае длинных программ, где часто применяются команды GOTO
или GOSUB. Более быстро осуществляется также команда RETURN, причем возврат к последней строке выполняется
быстрее, чем к первой строке (в BASIC-ПЗУ наоборот).
Команда NEW
стирает программу, кроме строки 0 Для быстрого удаления из памяти BETA-BASIC применяют RANDOMIZE- USR
0.
Запись программы на ленту
осуществляется обычным способом. При вводе программы в компьютер сначала надо
ввести BETA-BASIC, и только после этого свою программу
с внешнего носителя. Копия строки 0 будет введена вместе с программой, поэтому
нет необходимости применять MERGE. Если BETA-BASIC не был введен перед вводом новой программы, надо
поступить следующим образом:
MERGE
" " : GOTO 2
и ввести
BETA-BASIC. Команда GOTO 2 необходима для выполнения
строки 2 AUTORUN ( обычно MERGE
задерживает AUTORUN).
Звук при нажатии на клавиши можно
устранить, если ввести: POKE 23609, 0
ОПИСАНИЕ КОМАНД BETA-BASIC.
Ниже перечислены в алфавитном порядке ключевые слова со
списками аргументов. Аргументы в угловых скобках — необязательные. В
квадратных скобках указано, какие клавиши соответствуют данному ключевому
слову.
ALTER <описание_атрибутов> ТО описание_атрибутов [А]
Команда, позволяющая изменять атрибуты экрана (INK, FLASH, BRIGHT,PAPER) без перерисовки экрана. Если
указано первое "описание_атрибутов", то цвет меняется только в знакоместах,
удовлетворяющих этому описанию. Например:
ALTER TO PAPER 1
— это изменит фон всех символов на голубой; или ALTER INK 7 ТО PAPER 1, INK 0
— изменит цвет всех белых символов на черный, а их фон
— на голубой. Можно создавать более сложные композиции, например:
ALTER INK 3, BRIGHT 1,
PAPER 7 TO INK 5, FLASH 1
AUTO <номер_строки> <,шаг> [6]
Включение автоматической нумерации строк от указанного
значения с указанным шагом, если они заданы. По умолчанию
— от текущей строки с шагом 10. Выход из автоматической нумерации
— нажатие клавиши "BREAK" в течение одной
секунды.
Команда "BREAK" [SHIFT SPACE]
Не имеет ключевого слова и не требует перехода в режим
"GRАРНIСS". Прерывает выполнение любой команды системы BETA-BASIC, вызывая прерывание микропроцессора Z80 по уровню 2.
CLOCK число или строка [С]
Команда запускает 24-часовой таймер, выполняющий в зависимости
от числового аргумента следующие функции:
ЧИСЛОВОЙ АРГУМЕНТ
|
ПЕРЕХОД НА МЕТКУ ПО ТАЙМЕРУ
|
ЗВУКОВОЙ СИГНАЛ
по
ТАЙМЕРУ
|
ВЫВОД ТЕКУЩЕГО ВРЕМЕНИ В УГЛУ ЭКРАНА
|
CLOCK 0
|
-
|
-
|
-
|
CLOCK 1
|
-
|
-
|
+
|
CLOCK 2
|
-
|
+
|
-
|
CLOCK 3
|
-
|
+
|
+
|
CLOCK 4
|
+
|
-
|
-
|
CLOCK 5
|
+
|
-
|
+
|
CLOCK 6
|
+
|
+
|
-
|
CLOCK 7
|
+
|
+
|
+
|
УСТАНОВКА ВРЕМЕНИ: CLOCK "09:29:05"
УСТАНОВКА ВРЕМЕНИ ТАЙМЕРА:CLOCK "A09:29:05"
УСТАНОВКА МЕТКИ ПЕРЕХОДА: CLOCK "A9000"
CHR$ цифра
Следующие символы, выведенные с помощью
PRINT, вызывают перемещение курсора:
CHR$ 8
— курсор влево,
CHR$ 9
— курсор вправо,
CHR$ 10
— курсор вниз,
CHR$
11 — курсор вверх,
DEF KEY строка_из_1_буквы;
строка
DEF KEY строка из 1 буквы:
инструкция: инструкция:... [SHIFT 1 ]
Ставит в соответствие указанной клавише строку или набор
инструкций.
DEF PROC имя_процедуры [1]
Определяет начало процедуры, вызываемой по имени.
DELETE <номер_строки> то <номер_строки> [7]
Удаление строк программы из заданного интервала. Допускается
опускать аргументы, например:
DELETE TO 50
DELETE 10 ТО 50
DELETE TO
DO [D]
DO WHILE условие входа [D]
DO UNTIL условие [D]
Ключевое слово определяет начало цикла. Цикл должен заканчиваться
ключевым словом LOOP.
DROKE адрес,
число [Р]
Запись двухбайтового числа (от 0 до 65535) по указанному
адресу.
EDIT <номер_строки> (SHIFT 5]
Вызов стандартного редактора для указанной строки. Если
номер строки не указан, редактируется текущая строка. Вызывается также по
нажатию клавиши "О" после "ENTER" в
режиме курсора "к".
ELSE инструкция [Е]
Используется в конструкции IF-THEN
для указания альтернативной инструкции. Способ использования:
IF условие THEN инструкция:
ESLE инструкция
END PROC [3]
Определяет конец процедуры, вызываемой по имени.
EXIT IF условие [1]
При выполнении условия осуществляется выход из цикла DO-LOOP.
FILL X,Y [F]
FILL INK цвет; X,Y [F]
FILL PAPER цвет; X,Y [F] • FILL FLASH
значение; X;Y [F]
Заполнение ограниченной области указанным цветом или текущим,
если он не указан. Если указано PAPER, то заполняются и
атрибуты фона. Заполнение начинается из точки с координатами X, Y. Можно указывать сложные конструкции типа: FILL INK 2; PAPER 1; FLASH 1; X,Y