Системные программы для ZX Spectrum 1993 г.

Пакет процедур SUPERCODE - звуковые эффекты. Загрузка и запуск программ. Операции с фонтами.


Supercode значительно расширяет звуковые возможности обыч-
ного ZX Spectrum 48.

Длительность звучания трели пропорциональна числу, запи-
санному по адресу 63951.

Для получения восходящего глиссандо (увеличение частоты
звука) в ячейку 64670 надо записать значение 28, нисходя-

После запуска этой процедуры в случае возникновения оши-
бок, приводящих к выдаче сообщений: D BREAK — CONT repeats;
Н STOP in INPUT или L BREAK into program, бейсик-программа не
остановится, а перейдет к выполнению строки с номером,
записанным в ячейках 60952/53. По умолчанию номер стро-
ки перехода при возникновении ошибки установлен рав-
ным 9495.

Для непрерывного вывода больше чем 22 строк, используйте
команду РОКЕ 23692, X, где X — число строк, выводимых без
остановки. Для вывода информации вообще без остановки
используйте РОКЕ 23692,255.

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

щее глиссандо (снижение частоты) реализуется записью в эт}
же ячейку числа 29.

Параметр

Адрес настройки

Начальная частота

64648

Диапазон изменения частоты

64649

Длительность звучания

64651

Подпрограмма имитирует одновременное звучание двух нот.

Параметр

1 Адрес настройки

Частота 1

64693

Частота 2

64702

Длительность звучания

64682

Работа подпрограммы эквивалентна действию бейсик-опера-
тора ВЕЕР, но параметры для нее задаются не в полутонах и в
секундах, а рассчитываются из заданной частоты F (Гц) и
длительности звучания Т (сек) по формулам:

A=437500/F—30.125 и B=FxT

Параметр

Адрес настройки

Высота (А)

63001/02

Длительность (В)

63004/05

Подпрограмма генерирует звук, напоминающий сирену.

Параметр

Адрес настройки

Скорость изменения высоты тона

63011

Диапазон изменения частоты

63012

Начальная высота тона

63014/15

Длительность звучания

63017/18

Подпрограммы 77 и 78 позволяют записывать в память и
воспроизводить звуковой сигнал, поступающий на магнито-
фонный вход компьютера. Качество записи невысокое, поэто-
му лучше использовать эти подпрограммы лишь для воспро-
изведения голоса. Подпрограмма записи использует всю
память с адреса 32768 до 65023.

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

CLEAR 32767: RANDOMIZE 65290

Выводит на экран информацию, содержащуюся в заголовках
файлов на ленте (имя, адрес, тип, длина и автостарт). Для
запуска подпрограммы наберите RANDOMIZE USR 62533 и вклю-
чите магнитофон на воспроизведение.

Несколько способов предотвращения автостарта программы
после ее загрузки:

а) использование оператора MERGE вместо LOAD для загрузки
бейсик-программ;

б) загрузка кодовой программы по другому адресу (больше-
му, чем 23900, чтобы не перекрыть системные переменные);
предварительно с помощью процедуры 87 необходимо выяс-
нить параметры программы;

в) при отсутствии заголовка файла для выяснения длины
программы дизассемблируйте загрузчик: искомое число X
находится после инструкции LD DE,; адрес размещения — по-
сле инструкции LD IX,; загрузите программу с помощью про-
цедуры 115.

В тексте процедуры допущена ошибка, из-за которой невоз-
можен нормальный выход в Бейсик. Исправить ее можно,
выполнив оператор РОКЕ 57122,251.

Значение

Адрес

Длина файла (число байт)

57110/11

Адрес загрузки

57114/15

В некоторых вариантах Supercode эта подпрограмма отсутст-
вует, но восстановить ее просто. Для этого введите в память,
начиная с адреса 57108, следующую последовательность ко-
дов: 243, 17, 0, 0, 221, 33, 0, 0, 62, 255, 55, 205, 86, 5,
251, 201.

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

10 RANDOMIZE USR START

- где START — адрес запуска кодового фрагмента.

Далее содержимое памяти записывается на ленту в виде
кодового файла с адреса 23550 и длиной, равной разности
между последним используемым байтом кодового фрагмента
и его началом (LASTBYTE-23549). Предварительно устанавлива-
ются системные переменные.

РОКЕ 23637,РЕЕК 23635 :РОКЕ 23638,РЕЕК 23636:
SAVE "NAME"CODE 23550,(LASTBVTE-23459)

Созданный кодовый файл по команде LOAD""CODE загружает-
ся в память и после загрузки автоматически запускается.

Подпрограммы 49, 50 и 51 выполняют преобразования сим-
волов загруженного в ОЗУ знакогенератора (символов UDG
или альтернативного знакогенератора). Для настройки про-
цедур в ячейки памяти, указанные в таблице, необходимо
занести адрес размещения знакогенератора.

Номер подпрограммы

49

50

51

Адрес настройки

63166/67

63127/28

63144/45

Приведем пример использования процедуры поворота шри^
та для вертикального размещения текста при построени
графиков.

10 LOAD "SYMBOLS"CODE UDG: REM Загрузили знакогенератор

по адресу UDG
20 LET UDGH=INT(UDG/256): LET UDGL=UDG—UDGH
30 CLS: POKE 63166.UDGL: POKE 63167.UGDH: REM Установили ад-
рес знакогенератора в программе
40 RANDOMIZE USR 63163: REM Символы загруженного знакоге-
нератора повернули на 90 градусов
50 РОКЕ 23606,UDGL: РОКЕ 23607,UDGH: REM Установили загру-
женный знакогенератор текущим
60 LET A$="Y - AXEL"
70 FOR 1=0 TO 8: PRINT AT 0,1;A$(I);:NEXT I

80 POKE 23606,0: POKE 23607,60: REM Восстановили стандартный

знакогенератор
90 PRINT AT 20,20;"X - AXEL"

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

Для подключения этого знакогенератора (как и любого друго-
го) в системную переменную CHARS (23606/07) записывает-
ся значение Addr—256, где Addr — адрес размещения знакоге-
нератора в памяти. Если подпрограмма 79 не перемещалась,
то в переменную CHARS заносятся значения 0 и 233. Для
возврата к стандартному знакогенератору в CHARS записы-
ваются значения 0 и 60.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Ликбез - Анкета для писишников и вопросы для спектрумистов.
Контакты - контакты авторов газеты.
News - Ldir снимает с аукциона свой Pentagon. Не успело пройти года со дня смерти Dr. Envelope.
Игроскоп - О играх: Звёздное Наследие.
Программирование - Вывод трехсимвольных расширений файлов в операционной системе TR-DOS.

В этот день...   19 апреля