Диалекты бейсика для ZX Spectrum 1992 г.

Бейсик 128 - Операторы Бейсика 128.


ОПЕРАТОРЫ БЕЙСИКА 128

Список операторов Бейсика 128 дополнен относительно стандартного лишь двумя новыми операторами SPECTRUM и PLAY, кроме того, модифицированы некоторые старые.

Скорость выполнения программ в режиме 128 BASIC несколько ниже, чем в режиме 48 BASIC. Это связано с тем, что при выполнении многих операторов исиользуюгся подпрограммы стандартного Бейсика и на переключение режимов уходит дополнительное, хотя и небольшое, время.

Ниже описаны новые операторы Бейсика.

SPECTRUM

Оператор SPECTRUM переключает компьютер в режим эмуляции ZX Spectrum 48, то есть выполняет действие, аналогичное опции 48 BASIC главного меню. Отличие только в том, что при переходе с помощью оператора SPECTRUM программа, находящаяся в памяти, сохраняется. Если оператор SPECTRUM выполняется в программе, то она останавливается с сообщением О ОК.

Кроме того, оператор SPECTRUM переопределяет канал, обслуживающий принтер. После выполнения оператора вся информация, поступавшая ранее на принтер, будет выводиться на экран.

PLAY

Print *

Оператор PLAY — основная достопримечательность Бейсика 128. Он обслуживает встроенный в ZX Spectrum 128 трехканальный музыкальный процессор101, на порядок увеличивающий звуковые возможности компьютера.

Вслед за ключевым словом PLAY размещаются строки символов

— стринги. Именно они задают музыкальную программу, то есть определяют, когда и что играть. В общем виде формат оператора записывается так:

PLAY a$[.b$,c$ld$.102$.<$.g$.h$]

— где а$, Ь$, ..., h$ — стринги. Как видно из формата, за ключевым словом PLAY может следовать от 1 до 8 стрингов. Однако сам музыкальный процессор пользуется только первыми тремя из них

— а$, Ь$ и с$. Они задают программы, соответственно, для каналов А, В и С музыкального процессора. Эти программы выполняются одновременно, причем можно заставить звучать как все три канала, так и один или два, задав необходимое количество стрингов.

Остальные стринги (d$, е$, ..., h$) предназначены для управления музыкальными инструментами, которые можно подключить к ZX Spectrum 128 через специальный MIDI-интерфейс*.

Ноты ДО, РЕ, МИ, ФА, СОЛЬ, ЛЯ и СИ записываются латинскими буквами, соответственно, с, d, е, I, д, а и Ь. Например, оператор

PLAY "cdefgabC"

проиграет гамму ДО-мажор.

Ноты следующей октавы обозначаются прописными латинскими буквами С, D, Е, F, G, А и В. Полутона задаются знаками: # — диез и $ — бемоль. Например, ДО-диез, запишется как #с, СИ-бе-моль — $Ь, а гамма ДО-минор — cd$efg$a$bC.

Длительность звучания нот определяется числом от 1 (минимальная) до 9 (максимальная), стоящим перед нотой (табл. 24), например: PLAY "3G". Заданная длительность распространяется на все последующие ноты и паузы (см. команду задания паузы &).

Числами от 10 до 12 программируются триоли. Ноты триоли следуют непосредственно за числом: 3fed&11fed&fed. Триоли не изменяют установленной длительности нот.

Возможно сыграть ноту произвольной длительности. Для этого перед ней через символ подчеркивания (_) ставят несколько параметров, задающих требуемую длительность. Например, нота ДО длительностью Ув (V8+J/4) запишется так: 3_5с. Длительность звучания последующих нот определяет последний параметр.

Кроме нот, в музыкальных программах могут использоваться специальные команды оператора PLAY:

О Изменение октавы. Номер октавы задается числом от 0 до 8 (по умолчанию установлена 5-я октава). Все ноты после этой команды будут звучать в выбранной октаве, пока она не будет сменена103.

Диапазон звучания в переделах заданной октавы можно расширить, используя серии диезов или бемолей. Например, 06d можно записать как 04###Вю

Таблица 24. Длительность звучания нот в операторе PLAY.

Число

Яота

Одиночные ноты

1

Одна шестнадцатая

2

Одна шестнадцатая с точкой

J>.

3

Одна восьмая

J>

4

Одна восьмая с точкой

J>.

5

Одна четвертая

J

6

Одна четвертая с точкой

J.

7

Одна вторая

J

8

Одна вторая с точкой

J.

9

Целая

Триоли

10

Одна шестнадцатая

m

11

Одна восьмая

12

Одна четвертая

jjj

N Разделитель параметров. Он используется в том случае, если нужно задать длительность звучания нот сразу за командой с числовым параметром: 06N4gD; хотя тоже самое допустимо записывать и с пробелом: Об 4gD.

& Пауза установленной длительности: бс&С (здесь длительность паузы равна 6).

V Громкость звучания. Громкость задается параметром, следующим за командой: от Ц (минимальная — выключено) до 15 (максимальная). Минимальная громкость (команда V0) может использоваться для временного отключения канала.

W Программирование эффектов. Ноты могут воспроизводиться не только с фиксированной громкостью, но и со всевозможными эффектами: затуханиями, всплесками и т. д. Характер эффекта задается числом от 0 до 7, в соответствии с табл. 25.

X Временной параметр звукого эффекта. Для эффектов 0...3 параметр задает длительность действия эффекта, для 4 и 5 — период, для 6 и 7 — полупериод. Значение параметра выбирается из диапазона 0...65535. Для эффектов 0...3 оптимальное значение — около 1000, для 4...7 — около 300. По умолчанию значение параметра принято равным 65535.

U Включение звукового эффекта. После этой команды все ноты будут воспроизводиться с эффектом, установленным командой W. Эффекты отключаются по завершении стринга либо при изменении громкости (команда V). Следующая программа продемонстрирует действие всех эффектов: -10 FOR i=0 ТО 7

20 PLAY "UX1000W"+STR$ i+"cdef&" 30 NEXT i

Таблица 25. Программирование звуковых аффектов.

Эффект

Диаграмма

0

единичный спад, затем тихо

i

единичный подъем, затем тихо

/1

2

единичный спад, затем громко

N

3

единичный подъем, затем громко

/

4

повторяющийся спад

NSNNIN

5

повторяющийся подъем

/

4/И/ИЛ/И/1

6

повторяющийся подъем-спад

7

повторяющи йся спад-подъем

/

. Параметр команды X

Т Темп исполнения. Задается числом в интервале от 60 до 240. По умолчанию устанавливается темп, соответствующий команде Т120. Задать темп можно лишь для всей мелодии в целом, поэтому он определяется только в стринге канала А (в других каналах команда Т игнорируется).

() Повтор музыкальной фразы. Музыкальная фраза, взятая в скобки, повторится еще раз: (ec)f'e7d. Допустимо использовать не более 4 пар скобок.

Закрывающая скобка без соответствующей ей открывающей заставит музыкальную фразу повторяться бесконечно от начала стринга. Используется это, например, в басовых партиях.

Н Останов оператора PLAY. Встретив эту команду в стринге любого канала, оператор PLAY закончит свою работу. Команда

используется, например, для выхода из «зацикленной» басовой партии, когда заканчивается основная мелодия.

! Ограничитель комментариев. В стринг можно вставлять комментарии — любой текст, ограничивая его знаками !. Например: PLAY "#c!cis!$d!des!"

Знак ! в конце музыкальной программы ставить не обязательно.

М Режим работы каналов. Каждый канал может не только воспроизводить чистый тон, но и одновременно генерировать так называемый белый шум. Распределение режимов задается командой М с параметром в интервале 1 ...63. Значение параметра определяется суммой кодов, соответствующих режиму каждого из каналов (табл. 26).

Таблица 26. Режимы работы каналов.

Кана»

А

В

С

Тон

1

2

4

Шум

8

16

32

В следующем примере канал А настраивается на тон, а канал В — на шум:

PLAY "M17cegbdfaCH'7'03cC)"

Y Установка канала MIDI-интерфейса. Число от 1 до 16, следующее за командой, задает номер канала интерфейса, в который необходимо направить вывод музыкальных данных. Z Передача управляющих кодов MIDI-интерфейсу104.




СОДЕРЖАНИЕ:
  1. Laser Basic - Вывод спрайтов на экран; Вывод на экран части спрайта; Перенос атрибутов; Преобразование окна экрана; Наборы переменных; Перемещение спрайтов; Наложение спрайтов; Копирование изображения с экрана в спрайт; Преобразование спрайтов; Скроллинг пейзажа; Изменение размеров области спрайт-файла; Вспомогательные графические операторы и функции; Определение столкновений спрайтов; Сервисные операторы и функции; Процедуры; Загрузка и запись программ.


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Предисловие - Реализован 128 режим в газете.
Игры - ADVENTURE B
Информация - халявные разговоры по межгороду.
Эпилог - прощание с читателями.
News - DiHalt Lite 2016 ended. I tried to write music for it but failed, and couldn't come.

В этот день...   28 марта