"Роберт Джордайн. Справочное пособие программиста - 2 (ассемблер, операционная система MS DOS)" - читать интересную книгу авторакальной нотации: длительность ноты увеличивается наполовину.
Вторая точка продолжит длительность еще наполовину. По умолчанию ноты играются 7/8 указанной длительности. Чтобы они исполнялись полную длительность (легато), поместите в строку ML. Чтобы они исполнялись 3/4 длительности (стаккато), поместите в строку MS. Чтобы вернуться к нормальному стилю надо указать MN. Обычно, вся прочая деятельность программы прекращается до тех пор, пока не будет сыграна строка. Для того чтобы выполнялись операторы, следующие за оператором PLAY, а строка исполнялась в фоновом режиме, поместите в строку MB. Для восстановления нор- мальной ситуации напишите MF. Наконец, оператор PLAY позволяет исполнять подстроки внутри длинной строки. Имеется в виду, что часть исполняемой строки может быть введена как обычная строковая переменная, а затем эта переменная может быть вызвана из строки сформированной в операто- ре PLAY. Например, если S$ = "EEEEE", то в операторе PLAY "CDXS$;FG" нота E будет повторена 5 раз. Отметим, что имени пере- менной должна предшествовать буква X, а за именем следовать точка с запятой (;). (Для компилируемых программ применяется другой метод, использующий переменную VARPTR$ - детали см. в руководстве по Бейсику). В приведенном примере исполняется знакомый бой дедушкиных часов. В строке сначала устанавливается стиль исполнения легато, затем темп и начальная октава, и, наконец, четыре ноты, пауза, и те же самые четыре ноты, но в обратном порядке. Пробелы в строке рует их. 100 PLAY "ML T40 O3 ECD Благодаря наличию генератора звука PCjr добавляет к оператору PLAY две возможности. Во-первых, допускается параметр V, устанав- ливающий громкость. Выражение V5 устанавливает (или изменяет) громкость на уровень 5. Допустимый диапазон от 0 до 15, причем по умолчанию берется 8. 0 полностью подавляет звук. Во-вторых, с помощью оператора PLAY можно одновременно исполнять три звуковых строки. Поместите все три строки в одну программную строку, раз- деляя их запятыми. Для того чтобы иметь возможность использовать эти специальные свойства, Вы должны предварительно разрешить внешний динамик с помощью оператора SOUND ON. 100 SOUND ON 110 PLAY "...........","..........","............" Низкий уровень. В примере для генерации звука используется микросхема таймера 8253. Здесь просто исполняются 8 нот, но небольшая модификация может сильно расширить возможности этой процедуры. Имеется три строки данных. Первая устанавливает длительность каждой ноты, как |
|
|