ZX-Spectrum 48k. Инструкция по эксплуатации. 1969 г.

Глава 11-12-13 - синтезатор звуковых эффектов. Встроенный таймер. Использование программ в кодах.


11. Синтезатор звуковых эффектов

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

Вы, кстати, уже сталкивались с работой этого синтезатора -
вспомните звук щелчка при нажатии на клавиши клавиатуры. Это
именно его рук дело!

В языке бейсик управление этим синтезатором представлено
всего одной командой ВЕЕР, позволяющей подавать звуковые сиг-
налы и исполнять несложные мелодии. Подробнее эта команда опи-
сана в описании SINCLAIR BASIC.

Несколько большие возможности для формирования спе-
циальных эффектов представляет загружаемый пакет звуковых эф-
фектов "DZWIEKI", которым можно пользоваться из бейсика.

Если же вы увлекаетесь компьютерной музыкой, для вас создано
большое количество различных музыкальных программ. Например,
программа WHAM! MUSIC BOX позволяет исполнять различные му-
зыкальные произведения в разложении на два канала тонального сиг-
нала и ритм-бокс, с изображением партитуры на нотном стане. Каж-
дый из каналов имеет диапазон 45 октавы и свою нотную партитуру.
Ритм-бокс имеет три перестраиваемых эффекта и автоподстраиваю-
щийся барабан. Партитура запоминается, редактируется, записывает-
ся на магнитофон и загружается с него. После отладки партитуру
встроенным компилятором можно откомпилировать, превратив в
программу в кодах, которую можно уже использовать как составную
часть любой вашей программы.

Если возможности ритм-бокса WHAM! Вам недостаточны, име-
ется более мощный специализированный ритм-бокс фирмы
EINSTEINSOFTWARE. Эта программа имеет уже 10 ударных инст-
рументов, используемых в различных комбинациях, и запоминает до
10 ритмов произвольного размера и длины (вряд ли вам хватит тер-
пения стучать на нем так долго, чтобы переполнился буфер ритмов).
Имеется 10 готовых ритмов. Ритмы можно переключать прямо в
процессе исполнения.

Наконец, синтезатор звуковых эффектов позволяет синте-
зировать даже речь. Правда для этого вам надо иметь специальные
программы, например, LMOWA или TOKER, позволяющие компью-
теру произносить слова и фразы на русском, польском или англий-
ском языках.

12. Встроенный таймер

Ваш компьютер обладает весьма широкими возможностями по
управлению различными процессами и объектами в реальном мас-
штабе времени.

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

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

Технические характеристики таймера:

дискретность отсчета времени......................................................................0,02 с (50 Гц)

режим работы................................................................................................маскируемое прерывание

стабилизация частоты....................................................................................кварцевым генератором

максимальный фиксируемый интервал........................................................328 000 секунд

программная установка..................................................................................есть

программная блокировка...............................................................................есть

Этот таймер используется операционной системой для обс-
луживания клавиатуры, что не мешает использовать его вам. Только
помните, что блокировка таймера приводит к отключению клавиату-
ры от операционной системы. Однако сама клавиатура при этом ос-
тается работоспособной и может использоваться вашими програм-
мами (при этом к ней надо обращаться как к портам ввода - см.
"Описание SINCLAIR BASIC"). При блокировке таймера его показа-
ния не сбрасываются, но фиксируются. Фактически таймер продол-
жает работать, но подсчет временного интервала прекращается. При
снятии блокировки это позволит вам продолжить подсчет временно-
го интервала с того места, на котором вы его прервали.

Для блокировки таймера достаточно всего лишь запретить про-
цессору прерывания - и таймер остановится. Разрешив прерывания,
вы разблокируете таймер.

13. Использование программ в кодах

Операционная система вашего компьютера (как, впрочем, и бей-
сик) позволяет загружать, выгружать и запускать на выполнение про-
граммы в машинных кодах процессоров Z80 и K580ВM80. При за-
грузке и выгрузке такие программы представлены файлами с типом
BYTE, являющимися полной аналогией файлов типа .com компьюте-
ра IBM PC. Эти программы полностью резидентны (т.е. при работе
целиком находятся в ОЗУ компьютера), что повышает скорость их
работы практически до скорости работы процессора (950 000 опера-
ций в секунду). Это самые быстрые программы из всех возможных.

Откуда же берутся такие программы?

Путей их возникновения несколько: результат компиляции про-
грамм на языках высокого уровня (Паскаль, Си, Фортран, Бейсик,
специальные языки); результат ассемблирования программ на языке
ассемблера Z80; непосредственное написание программ в кодах с по-
мощью специальных отладчиков или просто вручную, с помощью
карандаша и бумаги.

Эти программы запускаются на исполнение командой
RANDOMIZE USR ..., где ... - адрес (десятичный), с которого про-
грамма запускается. Такая же команда выполняется и в бейсике.

Кроме того, для запуска таких программ в бейсике имеется функ-
ция USR, возвращающая содержимое регистровой пары ВС процес-
сора Z80 в виде целого положительного числа от 0 до 65535.

Все программы такого типа должны заканчиваться кодом коман-
ды процессора RET (возврат) 201 (шестнадцатиричный C9).

Примеры:

RANDOMIZE USR 0 - запуск программы в кодах с адреса 0000, т.е. в

ПЗУ. Такая команда полностью аналогична на-
жатию кнопки "сброс".

RANDOMIZE USR 55000 - запуск программы в кодах с адреса 55000.

LET A=USR 55000 - запуск программы в кодах с адреса 55000 и

присвоение переменной "A" значения, оказав-
шегося в регистровой паре BC процессора в
момент возврата.

PRINT USR 55000 - запуск программы в кодах и печать значения

регистровой пары ВС процессора.

RANDOMIZE USR USR 55000 - запускается программа в кодах с адреса

55000, а затем запускается программа в кодах с
адреса, возвращенного первой программой в
регистровой паре ВС процессора.

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

Более развернутый пример использования таких программ при-
веден в главе "Компьютерные игры".

Предупреждение: использовать программы в кодах надо с боль-
шой осторожностью, так как при их выполнении не производится
контроль ошибок и может произойти зависание компьютера, устра-
нимое только нажатием кнопки "сброс".




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Игры - прохождение игры La Abadia De Crimen.
На досуге - я видел Amiga и IBM в работе и не могу не высказать своих размышлений по этому поводу!
Юмор - Анекдоты.
Вынос тела - О выходе журнала Oberon #5.
HOT GAMES - Лучшая десятка от Magic Soft.

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