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.