Работа с ZX-Spectrum 1993 г.

SPECTRUM 128K. Глава 5-6. - сохранение данных в памяти. Реклама.


ГЛАВА 5

СОХРАНЕНИЕ ДАННЫХ В ПАМЯТИ

Дополнительная память в Вашем SPECTRUM 128 может быть использо-
вана из BASIC'a для сохранения программ и данных так же, как и на магнито-
фоне или микродрайве, но во много раз быстрее.

Этот Ьид накопителя называется RAM DISK и позволяет манипулировать
данными как на профессиональных ЭВМ.

Существенным отличием между сохранением данных на RAM DISK и на
кассете или микродрайве является то, что данные будут утеряны при выклю-
чении машины или при нажатии на кнопку сброса. Дэнные будут утеряны и в
том случае, если будет введен оператор «SPECTRUM», поэтому перед тем.
как сделать что-либо из перечисленного, сохраните Вашу работу на магнито-
фоне. Данные, записанные на RAM DISK, не уничтожаются оператором
NEW.

Все операторы для работы с RAM DISK аналогичны операторам для
работы с магнитофоном, но с добавлением восклицательного знака (!).
Например:

SAVE !"PROGRAM" LINE 10
LOAD PPROGRAM"
SAVE !"PICTURE"SCREEN$
LOAD !"PHYSICS"DATA P()
MERGE J "OVERLAY"

Оператор VERIFY не используется для работы с RAM DISK.

Каталог файлов в алфавитном порядке можно получить оператором
CAT!

Отдельные файлы можно стереть оператором
ERASE PFILENAME"

Г A ABA 6

МУЗЫКА И ЗВУК

Создавать музыку и звуковые эффекты на SPECTRUM 128 можно двумя
различными способами.

Первый способ использует оператор SPECTRUM BASIC'a - ВЕЕР.
128 BASIC позволяет создавать трехголосую музыку операторм PLAY, ко-
торый предоставляет Вам гораздо больше возможностей, чем ВЕЕР.

Оператор PLAY может быть использован для имитации синтезатора и
других ЭМИ, таких как ударная установка. SPECTRUM 128 совместим с MIDI
(musical instrument digital interface - цифровой интерфейс для музыкальных
инструментов), т.е. позволяет стыковаться с любой аппаратурой, поддержива-
ющей стандарт MIDI.

ПРОГРАММИРОВАНИЕ ЗВУКОВ

Создание музыки и звуковых эффектов при, помощи PLAY - просто. Вы
должны ввести серии нот, составляющих мелодию, затем просите Spectrum
128 проиграть ее. Кроме того, Вы можете включить дополнительные
инструкции для уточнения способа звучания.

Можете попробовать ввести две следующие программы; они
продемонстрируют Вам некоторые из широкого диапазона возможностей
SPECTRUM 128. Не пугайтесь, что они выглядят непонятными - ниже все бу-
дет подробно разобрано.

МУЗЫКА

10 LET A$="TJ 8006CCDEC) (5EF7G) <3GAGF5EC)5Cg7C9CgC"
20 LET B$»W04(CDEC)(5EF7G) (ЗОАСР5ЕС)5ЕЬ7Е9ЕЬЕ*
30 LET C$=*"03(7CG) (7CG) (7CG)5GD7G9GDG"
40 PLAY A$,B$,C$

ЗВУКОВЫЕ ЭФФЕКТЫ

10 LET A$SES"M8UX350W5G7 (((C)))": PLAY A$: PAUSE 25
20 LET A$3S"M56UX5000W 103(((C)))PLAY A$: PAUSE 25
30 LET A$»WM56W201N8C": PLAY A$: PAUSE 25

ИСПОЛЬЗОВАНИЕ ОПЕРАТОРА PLAY

В примерах, . приведенных выше, Вы видите, что оператор PLAY
сопровождается 1-3 различными буквами со знаком "$". В операторах вида
PLAY А$,В$,С$

каждая из этих букв • имя символьной переменной (стринга), которая
ранее в программе была определена. Этот стринг говорит SPECTRUM 128 о
том, какой звук нужно создать.

PLAY контролирует три голоса, названных А, В и С, поэтому в э^ом
операторе может использоваться до трех стоингов - по одному на каждый ка-
нал. В примере «музыка> данном выше, А$ определяет мелодию на канале
А, В$ определяет гармонию на канале В, С$ определяет басовую партию на
канале С. В примере «звуковые эффекты», данном выше, одновременно
используется только один голос из трех, поэтому оператор выглядит просто
PLAY А$

Естественно, что каждый из каналов может воспроизводить как музы-
кальные звуки, так и шумовые эффекты, и что можно смешать те и другие в
одной мелодии (см. «Выбор каналов»).

КОНСТРУИРОВАНИЕ СТРИНГОВ

Сочинять музыку и звуковые эффекты проще всего, создавая стринг и,
содержащие необходимую информацию. Вы уже видели, как это делается в
приведенном выше примере «музыка». Любой стринг создается оператором
LET, после которого стоит имя стринга, затем его содержимое, ограничен-
ное кавычками. Попробуйте следующий пример, который проиграет только
ноту - а.

LET А$="а": PLAY AS

Как Вы могли заметить по предыдущим примерам, любая музыкальная
программа, использующая PLAY, использует также LET, чтобы определить,
что нужно играть.

Любой музыкальный звук имеет длительность и высоту Кроме того, он
имеет громкость и качес тво тона. Сгринги содержат информацию об этом.
Все возможные команды приведены в таблице.

СПИСОК КОМАНД ОПЕРАТОРА PLAY

Все хоманды оператора PLAY, за исключением нот, вводятся заглавными буквами

КОМАНДА

ФУНКЦИЯ

с-ЬилиС-В

Устанавливает высоту ноты в границах рабочей октавы

$

Бемоль

*

Диез

0

С последующим числом от 0 до 8 устанавливает октаву

1-12

Устанавливает длительность

&

Пауза

N

Разделяет две цифры

V

С последующим числом от 0 до 15 устанавливает громкость

W

С последующим числом от 0 до 7 устанавливает звуковой эффект

и

Включает звуховсй эффект в любом стринге

X

С последующим числом от 0 до 65535 устанавливает длительность звуко-
вого эффекта

Т

С последующим числом от 60 до 240 устанавливает темп

0

Ограничивает повторяющуюся фразу

!!

Ограничивает комментарий

Я

• Останавливает воспроизведение музыки

М

С последующим числом от 1 до 63 устанавливает каналы

Y

С последующим числом от i до включает каналы MIDI

Z

С последующим числом засылает контрольные коды MIDI

УСТАНОВКА ВЫСОТЫ ЗВУКА

Ко^ Ьы уже знаете, высота звука задается буквенным обозначением со-
ответствующей ноты, например С, Е, G. Диез обозначается префиксом #
(например, #С), а бемоль - префиксом $. Ваш «инструмент» может работать
одновременно в двух октавах в скрипичном ключе; буквы с и b используются
для низшей октавы. С и В - для высшей.

Все ноты этих двух октав будут звучать последовательно, одна за
другой, например

10 LET A$»-cdeafgCFEDAFGCC"
20 PLAY А$

Если Вы хотите использовать более двух октав, то можете менять октаву
командой О с последующим числом от 0 до 8. Если Вы йе задали октаву (как,
например, в приведенном выше примере), то по умолчанию установлена 5-я
октава, все ноты, следующие за командой изменения октавы, будут звучать в
установленной октаве до тех пор, пока не будет задана другая октава.

Следующая программа даст Вам возможность прослушать ту же ме-
лодию, что и в предыдущем примере, но в более высокой октаве (достаточно
добавить ОТ в Вашу предыдущую программу).

10 LET A$«"07cfedafgCFEDAFGCC"
20 PLAY А$

Попробуйте изменять номер октавы, чтобы прослушать весь диапазон
частот, воспроизводимых Spectrum 128. Стоит заметить, что самые низкие
ноты 0-й и 1-й октав не будут воспроизводиться без MIDI. Spectrum 128 бу-
дет воспроизводить их на самой низкой частоте, которую он способен
реализовать.

Диапазон высот, охватывающих две октавы, перекрывается с двумя
другими, так например, верхний участок 04 совпадает с нижним участком
05. Диапазон можно расширить, используя серии диезов (#####) или бе-
молей (SSSSS), чтобы звучание последующей ноты повысить либо понизить.

ДЛИТЕЛЬНОСТЬ ЗВУЧАНИЯ НОТЫ

Если специально не определять длительность звучания ноты, то она бу-
дет звучать столько же времени, как и в предыдущих примерах* Вы можете
изменить длительность звучания ноты, поставив перед ней цифру от 1 до 12.
Следующая программа продемонстрирует Вам звучание, ноты с разными
длительностями (от 1 до 9).

10 LET А$~' 1С2СЗС4С5С6С7С8С9С"
20 PLAY А$

Первая нота - самая короткая, последняя - самая длинная.

Кроме того. Вы можете использовать цифры от 10 до 12, которыми мож-
но определить трель (три ноты звучат столько же времени, сколько должны
звучать две), например

10 LET А$~"11АСЕ"

Пауза задается командой & и имеет такую же длительность, как и ноты.
Так, например, программа

10 LET A$~"07A&B&C<&D&E"

прозвучит как пять нот с паузами между ними.

Парные ноты могут задаваться двумя длительностями, разделенными
символом подчеркивания, например
10 LET А$="3__5А"

Длительность звучания второй ноты распространится и на все последу-
ющие ноты.

КОМАНДА N

В некоторых примерах Вы могли заметить, что буква N используется для
разделения серий нот, например
LET A$»n07NlCDE"

здесь N разделяет номер октавы и длительность звучания; без команды
N SPECTRUM 128 воспринял бы цифры 7 и 1 как номер октавы, что привело
бы к ошибке.

ГРОМКОСТЬ ЗВУЧАНИЯ ноты

Общая громкость звучания регилируется регулятором громкости Вашего
телевизора или усилителя, но громкость отдельных нот или фраз можно
определять и программно, используя команду V. Эта команда со следующим
числом в диапазоне от 0 до 15 задает громкость последующих нот.
Минимальная громкость, прекращающая звучание нот - V0, она может
использоваться для временного выключения голоса. V15 - максимальная
громкость, которая устанавливается по умолчанию.

Слабые уровни громкости слишком слабы, поэтому рекомендуется
использовать громкости от 10 до 15, если Вы не используете усилитель или
MIDI. Попробуйте выполнить следующую программу:
10 LET A$~"V 10CDEFGAB"
20 PLAY А$

Теперь попробуйте изменять число после V. Вы услышите разницу.

ЗВУКОВЫЕ ЭФФЕКТЫ

Помимо возможности установить определенный уровень каждой ноты,
Вы можете также изменять ее громкость во время звучания. Так, например, в
начале нота может звучать в полную громкость, а к концу постепенно зату-
хать (как фортепиано).

Эффекты задаются командой W, которая может быть включена в каждый
из стрингов оперетора PLAY. Вы также можете использовать команду U е
том месте, где Вы хотите включить звуковые эффекты. После команды W дол-
жен стоять цифровой параметр от 0 до 7, указывающий на построение звуко-
вого эффекта. В таблице указаны все варианты звуковых эффектов

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

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

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

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

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

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

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

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

Следующая программа продемонстрирует Вам разнообразие звуковых
эффектов:

10 LET A$«"U X1 OOOWOC&W 1 C<5rW2C&W3C&W4C

AW5CAW6C*W7CH
20 PLAY A$

Команда U включает звуковые эффекты, далее они определяются
серией команд W.

В этом примере используется новая команда - буква X. Она, с последу-
ющим числом от 0 до 65535, устанавливает длительность звукового эффекта.
По умолчанию SPECTRUM 128 сам выберет длительность. Как правило, при
повторяющихся эффектах наиболее эффективны значения Х1000 и т.п.
Попробуйте изменять значение после X в приведенной программе, и Вы за-
метите различия.

ТЕМП

Темп, в котором будет воспроизводиться музыка, определяется коман-
дой Т с последующим числом от 60 до 240. Команда устанавливает темп зву-
чания музыки, но может быть вставлена только на канале А (первый стринг
после команды PLAY), иначе она будет игнорирована, например
10 LET А$~ИТ 180CDEFG"
20 PLAY А$

по умолчанию темп устанавливается равным 120.

ПОВТОРЕНИЕ ФРАЗ

Любая музыкальная фраза может быть повторена, если ее взять в
скобки. Так, например

10 LET A$«"abc(DEFGr
повторит последние четыре ноты. Если количество закрывающих скобок
больше, то фраза будет повторяться до последней скобки. Если закрывающая
скобка единственная, то фраза будет повторяться сначала:
10 LET AS^'abcDEFG)" .
будет повторять все семь нот. Двойная закрывающая скобка

10 LET A$»n02CEGA))n
будет повторять фразу бесконечно. Это весьма полезно в басовых
партиях. Для выключения «бесконечных» фраз используйте команду Н.

КОМАНДА Н

Команда Н, встреченная в каком-либо стринге, немедленно выключит
оператор PLAY. Главным образом она используется для выключения «беско-
нечных» басовых партий. Вы можете выключить их, вставив в конце стринга,
задающего мелодию, команду Н.

КОММЕНТАРИИ

В музыкальный стринг можно вставить комментарий, ограничив его
восклицательными знаками. Все, что будет написано после первого !, будет
игнорироваться до тех пор, пока не встретится второй ! или кавычка,
закравающая стринг, например

10 LET A$»"abcDEFG!nPHnEB!aCEaDG"

ВЫБОР КАНАЛА

Команда М служит для определения того, что будет воспроизводить
каждый канал: звук или шумовые эффекты.

Вы можете использовать одновременно до трех каналов, причем все
Они могут воспроизводить ноты, шумовые эффекты или смесь того и другого.

Ваш выбор определяется числом, следующим за командой М и обозна-
чающим следующее:

МУЗ. КАНАЛ ШУМОВОЙ КАНАЛ

ABC ABC

ЧИСЛО 1 2 3 8 16 32

Выберите то, что Вы желаете иметь в каждом канале, и сложите числа.
Полученное число нужно поставить после команды М. Так, например, если
Вы хотите во всех трех каналах использовать звук, то сложите числа 1+2+4=7,
таким образом команда М7 установит звук на все три канала. Точно так же,
М56 установит на всех трех каналах шум.

Несмотря на то, что шумовые эффекты могут использоваться на всех ка-
налах, наиболее широкий диапазон частот - на канале А. Для наилучших
результатов шумовые эффекты рекомендуется вставлять в стринг, следу-
ющий за оператором PLAY.

УВАЖАЕМЫЙ РАДИОЛЮБИТЕЛЬ!

Нужен ли Вам SPECTRUM 128?

Если Вы счастливый обладатель Spectrum 48, то без сомнений можно
сказать «ДА»! j

Минимальные аппаратные доработки повысят класс Вашей, машины, и
уже не каждый советский человек скажет, что это игрушка.

Естественно, у Вас возникнет масса вопросов о необходимости обла-
дания новой машиной. Первым, и самым важным вопросом будет вопрос о
программном обеспечении. Для начала порадуем: во-первых, все
программное обеспечение, котрое Вы собрали для SPECTRUM 48, будет
исправно работать на Вашей новой машине, во-вторых, начиная с 1986 года
(т.е. года создания Клайвом Синклером SPECTRUM 128) почти все фирмы,
выпускающие программное обеспечение для персональных компьютеров,
перестроились. Теперь на рынок стали выходить версии программ как для
SPECTRUM 48, так и для SPECTRUM 128, причем довольно часто совмещен-
ные. Ну, а теперь огорчим: 128К версии программ доходят до нашей страны
не так часто, как хотелось бы, зато, гораздо чаще доходят совмещенные.

Это к вопросу о программном обеспечении.

Что еще Вас заинтересует? Ну, вероятно, возможности, которые Вам
предоставит новая машина. А возможности немалые. Если Вы программист-
системщик, то Вам не надо объяснять, что такое электронный квазидиск на
80 Кбайт; если Вы пишете программы на Basic'e, то, вероятно, представляете
себе, что такое экранный редактор; если Вы музыкант, то не мне Вам
рассказывать, что такое трехголосый музыкальный инструмент с
широчайшими возможностями. Даже если Вы просто пользователь, то и тут
Вам поблажки: теперь для загрузки программы, ваши усилия ограничатся на-
жатием на одну клавишу.

~ Если Вы еще не решились, то посчитайте, во что Вам выльется это удо-
вольствие.

Десяток корпусов логики, две 8-ми Кбайтные микросхемы ПЗУ (2764) и
линейка РУ5. Кроме того, Вам понадобится музыкальный процессор 8912,
без которого, впрочем, машина будет прекрасно работать, но Вы останетесь
без шикарной музыки, которую может воспроизводить SPECTRUM 128.

Итак, мы надеемся, что Вы уже готовы решиться .на усо-
вершенствование своего компьютера.

Желаем успеха!




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
От редакции - новогодний выпуск ZX-News.
ZXTraders - Действyющие распространители программного обеспечения ZX Spectrum по России и Украине
Записки - Дневник одного мальчика.
От автора - Я тут насобирал нeмного статeй, надeясь, что вам понравится.
randomness - туториал по адаптации программ под ленту в формат TAP.

В этот день...   21 ноября