Справочник по системным программам для компьютера ZX Spectrum 128к 1969 г.

Описание 9 - программирование в кодах - Supercode.


10. ПРОГРАММИРОВАНИЕ В КОДАХ - Sunrcode.

Фирма - SUPERSOFT SYSTEMS.

Авторы • F.A.VACCHA и V.B.RUMSEY

Год разработки • 1984

Аннотация.

В руководстве рассматривается версия программы "Supercode", состоящая из 120
подпрограмм в машинных кодах

Введение.

Рано или поздно программисту начинает не хватать возможностей Бейсика. Программа
"Supercode" - это та программа, которая позволяет с наименьшими усилиями перейти от
программирования на Бейсике к программированию в кодах

Существует множество различных версий программы Supercode, причем большинство
из них является вариантами одной и той же программы. Все они состоят из определенного
количества небольших подпрограмм в машинных кодах и снабжены обслуживающей
программой на Бейсике (иногда более, чем одной), обеспечивающей диалог с
пользователем. Этот диалог включает в себя общие инструкцию и демонстрацию, а также
возможность выбора необходимой подпрограммы. При выборе подпрограммы
обеспечивается выдача индивидуальных инструкции и демонстрации, а также возможность
выгрузки подпрограммы на магнитофон. При необходимости инструкции можно распечатать
на принтере

Следует заметить, что то, что раньше не очень точно было названо подпрограммами,
может представлять собой как процедуры в машинных кодах (в большинстве случаев), так
и таблицы кодов (скажем, знакогенераторы), а также сочетание процедуры и таблицы
(звуковые эффекты)

В дальнейшем для простоты мы сохраним
термин "подпрограмма". Эти подпрограммы
предназначены для простого и быстрого
выполнения операции, нереализуемых,
трудно реализуемых или неэффективно
реализуемых средствами Бейсика. Часть
подпрограмм используется для ре-
дактирования и защиты программ
пользователя. Большинство из них
полностью перемещаемы. На перемещения
некоторых наложены определенные
ограничения, очень малая часть требует
определенного расположения в памяти.
Наконец, некоторые подпрограммы рас-
положены прямо в ПЗУ, a Supercode
содержит лишь инструкцию по их
использованию. Ряд подпрограмм требует
для работы подключения ZX INTERFACED,
не получившего распространения в стране.
Однако, изучение принципов их работы
будет полезно и для пользователей
дисковых операционных систем, например,
TR DOS.

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

1. Изучение работы подпрограмм пакета
Supercode и использование их в программах
пользователя,

2. Изучение "механизма" работы этих
подпрограмм с помощью дезассемблиро-
вания,

3. Модификация подпрограмм,

4. Написание собственных подпрограмм

Однако, даже тому, кто остановится на
пункте 1, Supercode принесут огромную
пользу и сэкономят много времени. Ниже
дается описание подпрограмм базовой
версии, за которую принята программа
Supercode 120 MACHINE ODE ROUTINES.
CREATED BY F.-A.VACCHA.BSC.AND
V.B.RUMSEY.MICRODIVERSION. @ 1984, SU-
PERSOFT SYSTEMS.

«1 PIXEL UP-SCROLL

Скроллинг экрана вверх no пикселям.

Начало: 64001
Конец:64097
Длина: 97

Запуск: RANDOMIZE USR 64001

Примечание: Для осуществления
скроллинга атрибутов обратитесь к
процедурам #37-40 (определите подходя-
щее окно и значения атрибутов). Вызывайте
скроллинг атрибутов 1 раз на 8 вызовов этой
процедуры.

#2 PIXEL DOWN-SCROLL

Скроллинг экрана вниз по пикселям.

Начало: 64098
Конец:64196
Длина: 99

Запуск: RANDOMIZE USR 64098

Примечание: см. #1

«3 CHR/ATTR UP-SCROLL

Скроллинг экрана с атрибутами вверх по
знакоместам.

Начало* 3190

Процедура в ПЗУ.

Запуск: RANDOMIZE USR 3190

Не перемещается!

«4 PIXEL LEFT-SCROLL

Скроллинг экрана влево по пикселям.

Начало: 65462
Конец: 65493
Длина: 32

Запуск: RANDOMIZE USR 65462

Циклический скроллинг: РОКЕ 65475,63
Нециклический скроллинг* РОКЕ65475,55

Инверсия РОКЕ 65475,0

Примечание: см #1

«5 PIXEL RIGHT-SCROLL

Скроллинг экрана вправо по пикселям.

Начало: 65494
Конец:65525
Длина: 32

Запуск: RANDOMIZE USR 65494

Циклический скроллинг: РОКЕ 65507,63

Нециклический скроллинг: РОКЕ65507,55
Инверсия РОКЕ 65507,0
Примечание: см. #1
#6 CHR LEFT-SCROLL

Скроллинг экрана влево по знакоместам.

Начало: 64275
Конец: 64299
Длина: 25

Запуск RANDOMIZE USR 64275

Циклический скроллинг: РОКЕ 64291,119

Нециклический скроллинг- РОКЕ64291,54

Примечание: Для осуществления
скроллинга атрибутов обратитесь к про-
цедурам 37-40 (определите подходящее
окно и значения атрибутов). Вызывайте
скроллинг атрибутов 1 раз на 1 вызов этой
процедуры.

#7 CHR TOPLEFT-SCROLL

Скроллинг верхней трети экрана влево по
знакоместам.

Начало. 64300
Конец: 64324
Длина* 25

Запуск. RANDOMIZE USR 64300

Циклический скроллинг РОКЕ 64316,119
Нециклический скроллинг: РОКЕ64316.54

Примечание: см # 6

#8 CHR MID LEFT-SCROLL

Скроллинг средней трети экрана влево по
знакоместам.

Начало. 64325
Конец: 64349
Длина: 25

Запуск: RANDOMIZE USR 64325

Циклический скроллинг: РОКЕ 64341,119

Нециклический скроллинг: РОКЕ64341,54

Примечание: см.#6

#9 HR LOW LEFT-SCROLL

Скроллинг нижней трети экрана влево
по знакоместам

Начало: 64350
Конец: 54374

Длина: 25

Запуск: RANDOMIZE USR 64350

Циклический скроллинг: РОКЕ 64366,119

Нециклический скроллинг: РОКЕ 64366,54

Примечание: см .#6

# 10 CHR$ TOP/MID LEFT SCROLL

Скроллинг верхних 2/3 экрана влево по
знакоместам.

Начало: 64375
Конец: 64399
Длина: 25

Запуск: RANDOMIZE USR 64375

Циклический скроллинг: РОКЕ 64391,119

Нециклический скроллинг: РОКЕ 64391,54

Примечание: см.#6

«11 CHR$ MID/LOW LEFT-SCROLL

Скроллинг нижних 2/3 экрана влево по
знакоместам.

Начало: 64400
Конец:64424
Длина: 25

Запуск: RANDOMIZE USR 64400

Циклический скроллинг: РОКЕ 64416,119

Нециклический скроллинг: РОКЕ 64416,54
Примечание: см.#6
#12 CHR$ RIGHT-SCROLL

Скроллинг экрана вправо по знакоместам

Начало: 64425
Конец: 64449
Длина: 25

Запуск: RANDOMIZE USR 64425

Циклический скроллинг: РОКЕ 64441,119

Нециклический скроллинг: РОКЕ 64441,54

Примечание: см.#6

#13 CHR$ TOP RIGHT-SCROLL

Скроллинг верхней трети экрана вправо
по знакоместам.

Начало: 64450
Конец: 64474
Длина: 25

Запуск: RANDOMIZE USR 64450

Циклический скроллинг: РОКЕ 64466,119

Нециклический скроллинг: РОКЕ 64466,54

Примечание: см.#6

#14 CHR$ MID RIGHT-SCROLL

Скроллинг средней трети экрана вправо
по знакоместам.

Начало: 64475
Конец: 64499
Длина: 25

Запуск: RANDOMIZE USR 64475

Циклический скроллинг: РОКЕ 64491,119

Нециклический скроллинг: РОКЕ 64491,54

Примечание: см.#6

#15. CHR$ LOW RIGHT-SCROLL

Скроллинг нижней трети экрана вправо
по знакоместам.

Начало: 64500
Конец: 64524
Длина: 25

Запуск: RANDOMIZE USR 64500

Циклический скроллинг* РОКЕ 64516,119

Нециклический скроллинг: РОКЕ 64516,54

#16. CHR$ TOP/MID RIGHT-SCROLL

Скроллинг верхних 2/3 экрана вправо по
знакоместам.

Начало: 64525
Конец: 64549
Длина: 25

Запуск: RANDOMIZE USR 64525

Циклический скроллинг: РОКЕ 64541,119

Нециклический скроллинг: РОКЕ 64541,54

Примечание: см.#6

#17. CHR$ MID/LOW RIGHT-SCROLL

Скроллинг нижних 2/3 экрана вправо по
знакоместам

Начало: 64450
Конец:64474
Длина: 25

Запуск: RANDOMIZE USR 64450

Циклический скроллинг РОКЕ 64566,119

Нециклический скроллинг: РОКЕ64566,54

Примечание: см.#6

#18. RIPPLE LEFT-SCROLL

Циклический скроллинг влево внутри
знакомест.

Начало: 64575
Конец: 64592
Длина: 18

Запуск. RANDOMIZE USR 64575

#19. SHUTTER LEFT-SCROLL

Нециклический скроллинг влево внутри
знакомест.

Начало: 64593
Конец: 64610
Длина: 18

Запуск: RANDOMIZE USR 64593

#20. RIPPLE RIGHT-SCROLL

Циклический скроллинг вправо внутри
знакомест.

Начало: 64611
Конец:64628
Длина: 18

Запуск: RANDOMIZE USR 64611

#21. SHUTTER RIGHT-SCROLL

Нециклический скроллинг вправо внутри
знакомест.

Начало: 64629
Конец: 64646
Длина: 18

Запуск: RANDOMIZE USR 64629
#22. PIXEL BOX LEFT-SCROLL

Скроллинг в окне влево по пикселям

Начало 58571
Конец:58682
Длина: 112

Запуск RANDOMIZE USR 58571

POKE 58679, горизонтальная координата
верхнего правого угла окна в форме TAB.

РОКЕ 58680,64 (верх)/ 72 (середина)/80
(низ) - вертикальная координата верхнего
правого угла окна (должна совпадать с
верхней границей одной из третей экрана)

POKE 58681, высота окна в пикселях.

РОКЕ 58682, длина окна в знакоместах.

Все "РОКЕ" повторяйте перед каждым
запуском!

Примечание: см.#1

#23. PIXEL BOX RIGHT-SCROLL

Скроллинг в окне вправо по пикселям.

Начало.58608
Конец 58682
Длина* 75

Запуск RANDOMIZE USR 58608

POKE 58679, горизонтальная координата

верхнего правого угла окна в форме TAB.

РОКЕ 58680, 64 (верх)/ 72 (середина)
/80 (низ)
- вертикальная координата
верхнего правого угла окна
(должна совпадать с верхней
границей одной из третей экрана)

РОКЕ 58681. высота окна в пикселях

РОКЕ 58682, длина окна в знакоместах

Все "РОКЕ" повторяйте перед каждым
запуском1

Не перемещается1

#24 SCREEN FILL

Заполнение окна символами

Начало. 64828
Конец 64857
Длина' 30

Запуск RANDOMIZE USR 64828

POKE 64829, код символа

РОКЕ 64831, высота окна

РОКЕ 64834, ширина окна.

РОКЕ 64832/5, координаты верхнего
левого угла окна формате PRINT AT

#25. SCREEN STORE

Хранение экрана

Начало- 64744
Конец 64755

Длина: 12

Запуск. RANDOMIZE USR 64744

Процедура STORE перемещает экранный
файл в память, OVERPRINT вызывает его на
экран, EXCHANGE обменивает текущий
экран с хранящимся в памяти. Экран
содержит 6912 (24*32*8,+ 24*32 атрибутов)
и должен храниться выше RAMTOP
(опущенного достаточно низко для создания
необходимого свободного пространства).
Для указан ия места хранен ия экрана от X до
X 4-6911 используйте РОКЕ 64745. Х-256*
INT(X/256) РОКЕ 64746. INT(X/256).

#26. SCREEN OVERPRINT

Вызов экрана, хранящегося в памяти.

Начало 64756
Конец-64783
Длина* 28

Запуск RANDOMIZE USR 64756

Примечание: см #25

#27 SCREEN EXCHANGET

Обмен экранов

Начало 64784
Конец: 64808
Длина: 25

Запуск RANDOMIZE USR 64784
Примечание: см #25
#28 SCREEN INVERT

Инвертирование экрана.

Начало. 64809
Конец: 64827
Длина: 19

Запуск RANDOMIZE USR 64809
#29 SCREEN MERGE

Сложение экранов

Начало 63976
Конец 64000
Длина 25

Запуск RANDOMIZE USR 63976

Эта процедура складывает экранный
файл, находящийся в памяти (начальный
адрес хранения экрана поместите командой
РОКЕ в ячейки 63980/1) с отображаемым
экраном Значения атрибутов неизменны
Для хранения экранов обратитесь к
процедурам #25-27

#30 INK CHANGE

Смена чернил.

Начало: 64858
Конец:64882
Длина: 25

Запуск: RANDOMIZE USR 64858

POKE 64859. цвет (в пределах всего
экрана).

#31 PAPER CHANGE

Смена бумаги.

Начало: 64883
Конец:64913
Длина: 31

Запуск:RANDOMIZE USR 64883

POKE 64884, цвет (в пределах всего
экрана).

#32 FLASH ON

Включение FLASH.

Начало: 64914
Конец: 64930
Длина: 17

Запуск: RANDOMIZE USR 64914

Примечание: процедуры #32-35 вклю-
чают и выключают данный цветовой эф-
фект . Процедуры #74-75 изменяют сос-
тояние данного цветового эффекта на
противоположное (триггерное переклю-
чение).

#33 FLASH OFF

Выключение FLASH.

Начало: 64931
Конец: 64947
Длина: 17

Запуск: RANDOMIZE USR 64931

Примечание: см.#32

# 34 BRIGHT ON

Включение BRIGHT.

Начало: 64948
Конец: 64964
Длина: 17

Запуск: RANDOMIZE USR 64948
Примечание: см.#32

#35 BRIGHT OFF

Выключение BRIGHT.

Начало: 64965
Конец:64981
Длина: 17

Запуск: RANDOMIZE USR 64965

Примечание: см .#32

#36 ATTR FILL

Заполнение окна новыми значениями
атрибутов.

Начало: 64982
Конец: 65025
Длина: 4

Запуск: RANDOMIZE USR 64982

POKE 64983, новое значение атрибутов.

РОКЕ64986/5, координаты левого верхнего
угла окна в формате PRINT AT.

POKE 64988, ширина окна

РОКЕ 64989, высота окна.

#37 ATTR UP-SCROLL

Скроллинг вверх атрибутов в окне с
заменой на новые.

Начало: 65026
Конец: 65080
Длина: 55

Запуск: RANDOMIZE USR 65026

POKE 65027, новое значение атрибутов.

РОКЕ 65030/29, координаты верхнего
левого угла окна в формате PRINT AT.

POKE 65032, ширина окна.

РОКЕ 65033, высота окна.

#38 ATTR DOWN-SCROLL

Скроллинг вниз атрибутов в окне с заменой
на новые.

Начало: 65081
Конец:65142
Длина: 62

Запуск: RANDOMIZE USR 65081
POKE 65081, новое значение атрибутов.

POKE 65085/4, координаты верхнеголевого
угла окна в формате PRINT AT.

POKE 65087, ширина окна.

РОКЕ 65088, высота окна.

«39 ATTR LEFT-SCROLL

Скроллинг влево атрибутов в окне с
заменой на новые.

Начало. 65204
Конец: 65255
Длина: 52

Запуск: RANDOMIZE USR 65204

POKE 65205, новое значение атрибутов.

РОКЕ 65208/7, координаты верхнего
левого угла окна в формате PRINT AT.

POKE 65210, ширина окна.

РОКЕ 65211, высота окна.

Циклический скроллинг: РОКЕ 65240,26

Нециклический скроллинг: РОКЕ 65240,0

#40 ATTR RIGHT-SCROLL

Скроллинг вправо атрибутов в окне с
заменой на новые

Начало: 65143
Конец:65203
Длина: 61

Запуск: RANDOMIZE USR 65143

POKE 65144, новое значение атрибутов.

РОКЕ 65147/6, коорд и наты верхнего левого
угла окна в формате PRINT AT.

POKE 65149, ширина окна.

РОКЕ 65150, высота окна.

Циклический скроллинг. РОКЕ 65186,26

Нециклический скроллинг: РОКЕ 65186,0

#41 ATTR SWAP

Замена атрибутов.

Начало: 65256
Конец:65276
Длина: 21

Запуск: RANDOMIZE USR 65256

Процедура заменяет все знакоместа с
данными атрибутами, например,
X на новые атрибуты Y.

POKE 65256.Х: POKE 65258.Y.

#42 LAZER ZAP

Трель.

Начало: 63950
Конец: 63975
Длина: 26

Запуск: RANDOMIZE USR 63950
POKE 63951, длительность.
#43 UNI-NOTE SOUND-GEN

Глиссандо.

Начало: 64647
Конец: 64674
Длина: 28

Запуск: RANDOMIZE USR 64647

POKE 64648, частота.

POKE 64649, диапазон.

POKE 64651, длительность.

POKE 64670,28 (восходящее) или 29
(нисходящее).

#44 DIAL-NOTE SOUND-GEN

Двухтональный генератор звука.

Начало: 64675
Конец: 64705
Длина: 31

Запуск: RANDOMIZE USR 64675

POKE 64682, длительность.

POKE 64693, частота 1

POKE 64702, частота 2.

#45 UNI-BEEP SIMULATOR

Имитатор BEEP.

Начало: 63000
Конец: 63009
ДлинаНО

Запуск: RANDOMIZE USR 63000
POKE 63001/2, высота (двухбайтовый
эквивалент).

РОКЕ 63004/5. высота в миллисекундах

(двухбайтовый эквивалент).
#46 MULTI-BEEP SIMULATOR

Имитатор сирены.

Начало: 63010
Конец:63033
Длина: 24

Запуск: RANDOMIZE USR 63010
POKE 63011, приращение высоты.
РОКЕ 63012, число нот.

РОКЕ 63014/5, высота (двухбайтовый
эквивалент).

РОКЕ 64004/5, время в миллисекундах

#47 OBLIQUE SCROLL-OFF

Косой скроллинг экрана.

Начало: 63034
Конец:63050
Длина: 17

Запуск: RANDOMIZE USR 63034
#48. CHR$ DOWN-SCROLL

Скроллинг экрана вниз по знакоместам.

Начало: 63051
Конец: 63123
Длина: 73

Запуск: RANDOMIZE USR 63051
Примечание: см.# 6
# 49. CHR$ ROTATE

Поворот символов на 90 градусов по
часовой стрелке.

Начало: 63163
Конец: 63204
Длина: 42

Запуск: RANDOMIZE USR 63163

Примечание: эта процедура работает с
теми символами, которые хранятся
в ОЗУ (т.е. UQG или альтернативный
знакогенератор, например, SCIFI #79)
Запишите 2-байтовый эквивалент (см #101)
адреса начала знакогенератора, который
должен быть записан в ячейки 63166/7 с
помощью РОКЕ.

#50 CHR$ REFLECT-AXIS

Поворот символов вокруг вертикальной
оси.

Начало: 63124
Конец:63142
Длина: 19

Запуск: RANDOMIZE USR 63124

Примечание: см.#50, ячейки для записи
адреса - 63127/8

# 51 CHR$ REFLECT X-AXIS

Поворот символов вокруг горизонтальной
оси

Начало. 63143
Конец. 63162
Длина- 20

Запуск: RANDOMIZE USR 63143

Примечание: см #49, ячейки для записи
адреса - 63144/5

#52 24 LINE PRINTING

Печать в 24 строках.
Процедура в ПЗУ.

Примечание: для печати во всех 24 строках
экрана введите РОКЕ 23659,0 перед каждым
оператором PRINT, после чего РОКЕ 23659,2
используйте PAUSE N для предотвращения
подсказки "SCROLL?", портящей экран
Попробуйте также PRINT#0/#1. Если нижняя
часть экрана увеличивается при повторных
операторах PRINT, воспользуйтесь проце-
дурой 119 перед каждой печатью в строках
22 и 23.

#53 SCREEN SEARCH

Считывание символов с экрана.

Начало: 60039
Конец:60161
Длина: 123

Запуск PRINT AT X.Y.: LET Z = USR 60039

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

#54 SCREEN PRINT

Вывод символа на экран

Начало: 63728
Конец-63776

Длинэ' 49

Запуск RANDOMIZE USR 63728

Примечание; с помощью оператора РОКЕ
введите*

INK (63732) PAPER (63738)

FLASH (63744) BRIGHT (63750)

INVERSE (63756) OVER (63762)

AT (63768, 63771) CHR$ (63774)

«55 RND« GENERATOR

Генератор случайных шестнадцатиричных
чисел.

Начало: 63777

Конец:63794

Длина: 18

Запуск: LET L = USR 63777

Примечание: эта процедура помещает
случайное шестнадцатиричное двухбайтовое
число в системную переменную SEED
(считывание оператором РЕЕК по адресу
23670/1).

«56 BLOCK MEMORY INSERT

Заполнение области памяти числом.

Начало: 63795
Конец: 63805
Длина: 11

Запуск: RANDOMIZE USR 63795

Примечание: эта процедура заполняет
заданным числом область памяти

РОКЕ 63796, число байт
РОКЕ 63798/9, адрес начала (двухбайтовый
эквивалент)

РОКЕ 63801, заданное число.

«57 BLOCK LINE ERASE

Удаление группы строк.

Начало: 63806
Конец: 63901
Длина: 96

Запуск: RANDOMIZE USR 63806

Примечание: для удаления всех строк от
X до Y введите РОКЕ 23728/9, 2-байтовый
эквивалент X RANDOMIZE Y. RANDOMIZE Y
использован несколько необычно, - эта
запись эквивалентна РОКЕ 23670/1,2-

байтовый эквивалент Y (см.#101).

#58 CHR$ SWOP
Замена символов

Начало: 63902

Конец:63944

Длина: 43

Запуск: RANDOMIZE USR 63902

Примечание: эта процедура заменяет все
данные символы на другие.

РОКЕ 63903, код старого символа.

РОКЕ 63905, код нового символа.

#59 CHR$ SCRAMBLE

Маскировка символов.

Программа в ПЗУ.

Запуск: см.примечание

Примечание: командами РОКЕ 23606 и
23607 с различными значениями можно
получить испорченный знакогенератор. Для
нормализации введите РОКЕ 23606,0: РОКЕ
23607,60. Защищайте свою программу таким
способом, временно нормализуя знакогенера-
тор перед каждым употреблением оператора

#60 SUPER-RENUMBER

Перенумерация строк (в том числе, в
операторах).

Начало 59294

Конец 59974

Длина. 681

Запуск. RANDOMIZE USR 59294

Примечание, для перенумерации строк,
начиная с S-ой с интервалом 1,
выполните РОКЕ 59580,1: РОКЕ 59582/3,2
байтовый эквивалент S. Номера строк в
каждом операторе GO ТО, GO SUB, RESTORE,
LIST, LLIST, SAVE...LINE перенумеровываю
тся (за исключением аргументов типа 2 8
или N ♦ 3, которые выделяются). Если
аргумент указывает на несуществующую
строку, используется номер следующей
строки.

#61. LINE RENAMBER

Перенумерация строк

Начало. 64706

Конец* 64473

Длина: 38

Запуск RANDOMIZE USR 64706

Примечание: для перенумерации без
учета GO TO/GO SUB, начиная
с S-ой строки с интервалом 1, выполните
РОКЕ 64711/2, 2-байтовый эквивалент
1:РОКЕ 64714/5, 2-битовый эквивалент S.
Также см. #60.

#62. DEC/HEX CONVERTER

Преобразование десятичных чисел в
шестнадцатиричные.

Начало: 60595

Конец:60712

Длина: 118

Запуск. RANDOMIZE USR 60595

Примечание: эта процедура преобразовы-
вает десятичные чусла от 0 до 65535 в
шестнадцатиричные. Она очищает экран и
выдает подсказку "D:", после чего следует
ввести десятичное число. При выходе за
пределы допустимого диапазона чисел
генерируется сообщение об ошибке 6.
Процедура работает с автоповтором
Введите "Q" для возврата в Бейсик и GO ТО
0, чтобы перезагрузить Supercode.

#63 HEX/DEC CONVERTER

Преобразование шестнадцатиричных
чисел в десятичные.

Начало: 60713

Конец:60825

Длина: 113

Запуск: RANDOMIZE USR 60713

Примечание: эта процедура преобразует
шестнадцатиричные числа в их десятичные
эквиваленты. Она очищает экран и выдает
подсказку "Н:", после чего следует ввести
шестнадцатиричное число. Будут преоб-
разованы лишь 4 последние шестнадца-
тиричные цифры Процедура работает с
автоповтором.

Введите "Q" для возврата в Бейсик и GOTO
0 для перезапуска Supercode. При вызове из
процедуры #92 в расчет принимаются лишь
2 последние цифры.

#64 REM KILL CONDENSER

Уничтожение комментариев

Начало. 60494

Конец: 60592

Длина. 101

Запуск: RANDOMIZE USR 60494

Примечание: эта процедура сокращает и
ускоряет программу за счет удаления всех
комментариев. См также##82, 90,100,103,
104.

#65 ON ERROR GO ТО

Переход по ошибке.

Начало: 60826

Конец: 60898

Длина: 73

Запуск5 RANDOMIZE USR 60826

Примечание: запустите эту процедуру в
начале вашей программы, скажем,
записав в первой строке RANDOMIZE USR
60826. Теперь , в случае ошибки,
(отличается от 0:ОК, 8: END, 9:STOP)
программа не остановится, а перейдет к
выполнению строки с номером, чей
двухбайтовый эквивалент был введен с
помощью оператора РОКЕ в ячейки 60878
(младший байт) и 60879 (старший байт) •
первоначально 9495. Для получения кода
ошибки выполните РЕЕК 23681.

#66 ON BREAK GO ТО.

Переход по останову.

Начало: 60899

Конец* 60970

Длина: 72

Запуск. RANDOMIZE USR 60899

Примечание: запустите эту процедуру в
начале вашей программы, скажем,
записав в первой строке RANDOMIZE USR
60899. Теперь в случае ошибок типа
D:BREAK, H:STOP IN INPUT или L:BREAK
INTO PROGRAM, программа не остановится,
а перейдет к выполнению строки с номером,
чей двухбайтовый эквивалент был введен с
помощью РОКЕ в ячейки 60952 (младший
байт) и 60953 (старший байт)
первоначально 9495.

#67 FREE SCROLLER

Свободный скроллинг.

Процедура в ПЗУ.

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

который генерирует строки.

#68 NON-DELETABLE LINE

Нестираемая строка.

Процедура в ПЗУ.

Примечание: чтобы сделать первую строку
вашей программы нестираемой,
введите LET X = РЕЕК 23635 ♦ 256* РЕЕК
23636: РОКЕ Х.О: POKE X ♦ 1,0.

Чтобы сделать то же самое в других строках,
сначала определите их адрес X с помощью
процедуры #88, затем введите POKE X + 4,0:
POKE X - 3,0. Программа будет работать,
если Вы не будете ссылаться на эти строки
в операторах GO ТО, GOSUB или RESTORE

#69 BORDER EFFECTS

Эффекты на бордюре.

Начало: 60000

Конец:60037

Длина: 38

Запуск: RANDOMIZE USR 60000

POKE 60006, длительность (1-127).

POKE 60037, цвета (0-7).

POKE 60029, ширина линий (1-125)

#70 INITIALIZE

Очистка переменных.

Начало: 63382

Конец:63489

Длина: 108

Запуск RANDOMIZE USR 63382

Примечание: эта процедура обнуляет все
числовые переменные или массивы,
присваивает всем символьным переменным
значение"" (пробел), а строковые массивы с
объявленной размерностью заполняет
кодом 32 Также см #71

#71 VARIABLES LIST

Список переменных

Начало: 60222
Конец:60406
Длина: 185

Запуск: PRINT,:RANDOMIZE USR 60222
Примечание: эта процедура выводит все:
1) числовые переменные,

2) символьные переменные,

3) числовые массивы,

4) строковые массивы,

5) управляющие переменные циклов
FOR...NbXT.

См. также #70

Не перемещается!

#72 STR LIST

Поиск подстрок

Начало- 63490
Конец:63643
Длина: 154

Запуск: RANDOMIZE USR 63490

Примечание: эта процедура выводит
список всех строк программы на Бейсике,
содержащих предварительно указанную
последовательность символов: стро-
ки/подстроки ("Supercode" или ERCO),
команды/ операторы (РОКЕ), числа /пе-
ременные (2.3, Z.A), операции (*), отно-
шения (Б) и т.д. или их комбинации.

РОКЕ 63502, число символов в строке.

РОКЕ 63490/500, двухбайтовый эквивалент
(см .#101) адреса начала строки
в памяти.

# 73 STR$ REPLASE

Замена строки символов.

Начало: 63644
Конец:63726
Длина: 83

Запуск: RANDOMIZE USR 63644

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

РОКЕ 63548, число заменяемых байт

РОКЕ 63652/53, двухбайтовый эквивалент

(см .#101) адреса, по которому хранится заме-
няемая строка.

РОКЕ 63713/14, двухбайтовый эквивалент
адреса новой строки.

#74 FLASH SWOP

Триггерное переключение FLASH.

Начало: 60162
Конец: 60191
Длина: 30

Запуск: RANDOMIZE USR 60162
Примечание: см.#32
#75 BRIGHT SWOP

Триггерное переключение BRIGHT.

Начало: 60192
Конец: 60221
Длина: 30

Запуск: RANDOMIZE USR 60192
Примечание: см. #32
#76 PAINT-FILL

Заливка фигур.

Начало: 59136
Конец:59293
Длина: 158

Запуск: RANDOMIZE USR 59136

Примечание: нарисуйте любую замкнутую
фигуру на экране, затем оператором PLOT
поместите точку внутри ее. Поместите с
помощью РОКЕ 59293 значение атрибутов
заливки, затем вызовите эту процедуру.

Не перемещается!

#77 RECORD SOUND

Запись звука

Начало: 65290
Конец: 65317
Длина. 28

Запуск: RANDOMIZE USR 65290

Примечание: подключив магнитофон ко
входу компьютера, включите пленку (лучше
всего голос) и выполните CLEAR 32767: RAN-
DOMIZE USR 65290. Используется вся память
от 32768 до 65535.

Для воспроизведения используйте #78

Не перемещается!

#78 REPLY SOUND

Начало: 65318
Конец:65349
Длина: 32

Запуск: RANDOMIZE USR 65318

Примечание: эта процедура воспроизводит
то, что записано с помощью
процедуры #77.

Не перемещается!

#79 SCIFI CHR$ SET

Знакогенератор "SCIFI".

Начало: 57344

Конец: 58111

Длина: 768

Примечание: это пример знакогенератора,
известного под названием "SCIFI". Для его
включения нужно ввести с помощью РОКЕ
адрес знакогенератора в ячейке 23606
(младший байт) и 23607 (старший байт)
первоначально соответственно 0 и 223. Для
возврата к стандартному знакогенератору
введите РОКЕ 23607,60.

#80 PROTECT PROGRAMM

Защита программы.

Процедура в ПЗУ.

Примечание: 1( запишите в 1 строке 1
REM и наберите РОКЕ (РЕЕК 23635-256*
РЕЕК 23636), 100. Вы сможете запустить
(RUN) программу, но не можете просмотреть
ее листинг (LIST), пока не запишете 0 по
тому же адресу,

2) РОКЕ 23636,150. Возврат к нормальному
листингу: РОКЕ 23636,92,

3) Используйте ## 59, 98, вызовите ## 65 и
66 для запрещения BREAK и #68 для
нестираемого сообщения об авторстве,

4) выберите символы управления цветом
так, чтобы INK = PAPER в нестираемых
строках и листинг стали нечитаемыми,

5) используйте автостарт в строке X при
выгрузке программы SAVE "NAME " LINE X. В
строку X запишите: LET ERR s 256* PEEK
23614 + PEEK 23613: POKE ERR,0: POKE ERR
♦ 1,0.

Попытка останова или ошибка приведут к
зависанию,

6) РОКЕ 23659,0 в начале программы даст
тот же эффект, что и 5).

#81 APPEND STATEMENT

Установка курсора в конец редактируемой
строки

Начало: 60407
Конец.60492
Длина- 86

Запуск: RANDOMIZE USR 60407

Примечание: установите курсор в требуе-
мую строку и затем вызовите эту процедуру.
Строка будет вызвана на редактирование, а
курсор будет установлен в ее конце.

#82 CONTRACT PROGRAM

Сокращение программы.

Начало: 61400
Конец:62086
Длина: 687

Запуск: RANDOMIZE USR 61400

Примечание: процедура ускоряет и
сокращает программы на Бейсике путем
сведения к минимуму числа строк путем
объединения строк, где это логически
возможно. Также см.##64,90,100 и 104.

#83 EXPAND PROGRAM

Расширение программы.

Начало: 62087
Конец: 62403
Длина: 317

Запуск RANDOMIZE USR 62087

Примечание: процедура расширяет прог-
рамму так, что в каждой строке располагает-
ся только одно утверждение (за исключени-
ем IF...THEN) В ответ на приглашение введи-
те номер строки, которую необходимо разло-
жить или нажмите/Enter/, если необходимо
разложить всю программу. После вызова
этой процедуры необходимо использовать
#60.

#84 REM FILL

Заполнение комментариев

Начало: 58892
Конец:59135
Длина- 244

Запуск RANDOMIZE USR 58892

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

#85 DATA FILL

Заполнение DATA-блока.

Начало: 63205
Конец: 63381
Длина: 177

Запуск: RANDOMIZE USR 63205

Примечание: эта процедура загружает
информацию, хранящуюся в памяти,
в автоматически создаваемое описание
DATA в строке 1. Поместите 2-байтовый
эквивалент (см.#101) начального адреса в
памяти и число байт, подлежащих загрузке,
в ячейки 63209/10 и 63206/07, соответствен-
но.

# 86 ANALIZE PROGRAM

Анализ программы.

Начало: 62404
Конец: 62532
Длина: 129

Запуск: RANDOMIZE USR 62404

Примечание: эта процедура печатает
число строк и число утверждений в
программе.

#87 ТАРЕ HEADER READER

Чтение заголовков с ленты.

Начало: 62533
Конец: 62818
Длина: 286

Запуск: RANDOMIZE USR 62533

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

#88 LINE ADDRESS

Адрес строки.

Начало: 59975
Конец:59987
Длина. 13

Запуск: PRINT USR 59975

Примечание: эта процедура печатает
адрес первого символа в строке, на которую
указывает курсор

#89 SCREEN GRID

Разметка экрана.

Начало: 62819
Конец: 62856
Длина: 38

Запуск: RANDOMIZE USR 62819

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

««90 MONOCHROME PROGRAM

Монохромная программа.

Начало: 62943

Конец:62994

Длина: 54

Запуск. RANDOMIZE USR 62943

Примечание: эта процедура уничтожает
все "спрятанные" символы управления
цветом, кроме содержащихся в символьных
переменных, для экономии места. Также
см. #«64, 82, 100.

««91 ANALYZE MEMORY

Анализ памяти.

Начало: 62857

Конец:62942

Длина: 86

Запуск: RANDOMIZE USR 62857

Примечание: эта процедура печатает
полный анализ содержимого памяти,
начиная с адреса, чей двухбайтовый
эквивалент (см. #101) помещен по адресу
62866/7 Печатаются 4 колонки, которые
представляют собой адрес, содержимое
памяти в десятичной и шестнадцатиричной
форме и символ (если имеется символьное
представление кода). Используйте N для
выхода, после чего управление передается
операционной системе.

#92 HEX INPUT

Ввод данных в шестнадцатиричном виде
в ОЗУ.

Начало: 65350

Конец:65461

Длина: 112

Запуск: RANDOMIZE USR 65350

Примечание: эта процедура позволяет
осуществлять шестнадцатиричный ввод в
ОЗУ. Поместите (см.#101) адрес начала
области памяти, куда будет осуществляться
ввод, в системную переменную DEFADD
(23562/4). Поместите по адресу 65360/61
arfpec начала процедуры 63, которая также

должна быть в памяти
#93 AWAIT KEYPRESS

Ожидание нажатия клавиши.

Начало: 60972
Конец:60995
Длина: 24

Запуск: RANDOMIZE USR 60972

Примечание: эта процедура ждет нажатия
клавиши (код будет помещен в переменную
L).

#94 UPPER-CS STR

Замена букв в строковых переменных на
заглавные.

Начало:58833
Конец:58891
Длина* 59

Запуск: RANDOMIZE USR 58833

Примечание: процедуры 94-97 изменяют
представление букв (заглавные /строчные)
в строковых переменных или во всем
листинге (кроместроковых переменных), как
указано в названии программы. Отметьте,
что эффективный способ такого переклю-
чения изнутри программы - выполнить РОКЕ
23658,0 (строчные ) или 8 (заглавные).

#95 LOWER-CS STR

Замена букв в строковых переменных на
строчные.

Начало- 58774
Конец:8832
Длина: 59

Запуск: RANDOMIZE USR 58774
Примечание: см .#94
# 96 UPPER-CS PROGRAM

Замена букв в программе на заглавные.

Начало: 58715
Конец: 58773
Длина: 59

Запуск: RANDOMIZE USR 58715
Примечание: см.#94
#97 LOWER-CS PROGRAM

Замена букв в программе на строчные.
Начало: 64211

Конец:64269
Длина: 59

Запуск: RANDOMIZE USR 64211
Примечание: см.#94

# 98 CONFUSE LIST

Порча листинга.

Начало: 58263
Конец: 58397
Длина: 135

Запуск. RANDOMIZE USR 58263

Примечание: портит листинг без влияния
на работу программы: попытка редакти-
рования/замены строк может быть фаталь-
ной (что полезно для защиты программ, как
в ## 68/80).

# 99 UNCONFUSE LIST

Восстановление листинга.

Начало: 58398
Конец: 58570
Длина: 173

Запуск: RANDOMIZE USR 58398

Примечание: эта процедура уничтожает
эффект процедуры 98, позволяет
редактировать/изменять строки программы.

#100 COMPRESS NUMBER

Сжатие чисел.

Начало: 58115
Конец: 58263
Длина: 148

Запуск: RANDOMIZE USR 58115

Примечание: эта процедура заменяет
числа в программе на VAL "Строка", что
экономит память, но уменьшает скорость.
Число 0 заменяется на NOT PI.
Также см.## 64, 82, 90,103,104. В случае
большей экономии места замените все
обычно встречающиеся числа (т.е. 0,1,2,10 и
т.п.) на переменные в начале. Для
этого полезна процедура 72.

#101 2 BYTE CONVERTER

Двухбайтный преобразователь.

Примечание: если двухбайтовый
эквивалент X представляет собой пару
байтов L (младший) и М (старший), то L ♦
256* М в X. Сначала идет младший байт.
Для преобразования X в его двухбайтовый

эквивалент введите: RANDOMIZE X:, затем
PRINT РЕЕК 23670 и 23671 даст L и М
соответственно.

#102 FOREIGN ACCENTS

Иностранные акценты.

Начало: 57176

Конец:57343

Длина: 168

Запуск: РОКЕ 23676,223

Примечание: набор хранимых для неко-
торых языков букв с акцентами, хранимые
как UDG. Для возврата к стандартному UDG,
введите РОКЕ 23676,225.

#103 MEMORY AVAILABLE

Доступная память.

Начало: 64197

Конец: 64210

Длина: 14

Запуск: PRINT USR 64197

Примечание: печатается свободная
память от последней переменной до
RAMTOP. Используйте РОКЕ 23637, РЕЕК
23635: РОКЕ 23638, РЕЕК 23636: SAVE "Имя"
CODE 23552, RAMTOP-23550-F, чтобы
записать Вашу программу в виде блока
кодов она будет автостартовать в первой
строке. Также см.#104.

#104 PROGRAM LENGTH

Длина программы.

Начало: 59988

Конец:59999

Длина: 12

Запуск: PRINT USR 59988

Примечание: эта процедура печатает
длину программы на Бейсике. Память,
используемая переменными, игнорируется.
См. также #103 и # 111.

#105. RESET

Сброс.

Процедура в ПЗУ.

Запуск: RANDOMIZE USR 0

Примечание: эта процедура имитирует
отключение питания: т.е. не только делает
NEW, но также устанавливает RAMTOP на
первоначальное значение, обнуляет всю

память и заново устанавливает системные
переменные, UDG и СТЕК.

Не перемещается!

•106. BLOCK MEM COPY

Копирование блока памяти.

Начало: 58683

Конец: 58713

Длина: 31

Запуск: RANDOMIZE USR 58683

#107. BLOCK LINE COPY

Копирование части программы.

Начало: 61000

Конец: 61399

Длина: 400

Запуск: RANDOMIZE USR 61000

Примечание: эта процедура позволяет
перемещать группу строк внутри программы
на Бейсике. Для того, чтобы перенести строки
с 4200 по 6740 так, чтобы они появились в
листинге после строки 2200-й, ответьте 4200,
6745 и 2200 на подсказки. Все новые строки
будут иметь номер 0. После этого вызовите
#60 для перенумераци и и # 57, чтобы стереть
старые строки. Процедура полностью
защищена от ошибок.

# 108 STAR/RING DRAW

Рисование звезд/колец.

Процедура в ПЗУ.

Примечание: рисуйте многолучевые
звезды и кольца, первоначально поместив
оператором PLOT точку вблизи середины
экрана, а затем используя DRAW X, Y, N, где
X и Y имеют величины от 10 до 60, а N лежит
между 1000 и 9999. Поэкспериментируйте.

#109 FAST LOAD MDRVE

Быстрая загрузка с микродрайва.

Процедура в ПЗУ.

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

а) выгрузите несколько копий файла на
один картридж: для X копий введите РОКЕ

23791, X: SAVE* "M";"N"; "Имя" (CODfc Р, О,
если блок байтов). Используйте тот же РОКЕ
перед оператором ERASE, в противном
случае удалена будет лишь одна копия,

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

ZX - интерфейс должен быть подключен!

#110 SURE SAVE MDRVE

Уверенная выгрузка на микродрайв.

Начало: 65277

Конец: 65284

Длина: 8

Запуск: RANDOMIZE USR 65277

Примечание: ZX SPECTRUM не проверяет,
имеется ли достаточно места в памяти для
сбрасывания на микродрайв: если
программа длинная или RAMTOP
установлен низко, может произойти сброс
при попытке SAVE*. Можно потерять всю
программу. Поэтому вызовите эту процедуру
перед выгрузкой длинных программ. Если
появляется сообщение, отличное 0 ОК,
сократите программу или поднимите
RAMTOP.

#111 MDRVE DIAGNOSIS

Диагностика микродрайва.

Процедура в ПЗУ.

Примечание: а) чтобы проверить, подклю-
чен ли ZX -интерфейс, посмотрите, будет
ли ошибка при выполнении инструкции
типа PRINT #4;

б) чтобы проверить, создано ли уже
теневое ПЗУ, выполните PRINT РЕЕК 23635
+ 256* РЕЕК 23636. Если результат равен
23755, то теневое ПЗУ еще не создано,

в) чтобы проверить, откуда загружена
программа, выполните РЕЕК 23787 ♦ 256*
РЕЕК 23788. Если результат равен длине ,
найденной с помощью # 104, то программа
загружена с микродрайва, в противном
случае с ленты.

ZX - интерфейс 1 должен быть подклю-
чен!

#112 ADAPT PROGRAM

Адаптирование программы.

Начало: 57159

Конец: 57175

Длина: 17

Запуск: RANDOMIZE USR 57159

Примечание: программа на Бейсике с
машинными кодами, помещенными в
комментарии (REM), не будет работать,
будучи загруженной в SPECTRUM со
сформированным теневым ПЗУ, т.к.
программа будет загружена по новому
адресу. Для исправления ситуации
запустите эту процедуру перед загрузкой,
она восстановит системные переменные в
первоначальное состояние и обеспечит
загрузку програм мы с кассеты с адреса 23755,
а не 23813.

ZX - интерфейс 1 должен быть подклю-
чен!

• 113 SURE CLOSE #

Уверенное закрытие каналов.

Начало: 57126

Конец:57158

Длина: 33

Запуск: RANDOMIZE USR 57126

Примечание: в ряде случаев команда
CLOSE# не закрывает все потоки. Если так,
используйте эту процедуру, ZX - интерфейс
1 должен быть подключен!

• 114 STOP PROGRAM

Останов автостартующей программы.

Процедура в ПЗУ.

Примечание: для останова автостартую-
щих программ

а) использйте MERGE вместо LOAD для
останова программ на Бейсике,

б) для останова кодов используйте # 87
для нахождения ее длины и т д , затем
загрузите их в другой адрес, больший 2300,
чтобы не перекрыть системные переменные,

в) для останова файла без заголовка
дезассемблируйте загрузчик и положите X
равным числу, после инструкции LD, DE.
Используйте #115 с большим стартовым
адресом и X - число байтов. Файл должен
загрузиться и затем остановиться.

#115 HEADERLESS FILES

Файлы без заголовка.

Начало: 57108
Конец: 57125

Длина: 18

Запуск: RANDOMIZE USR 57108

Примечание: выполните

РОКЕ 57110/11, число байт, РОКЕ 57114/15,

адрес первого байта.

Для автостарта машинных кодов с адреса,
помещенного в 57125/26, выполните РОКЕ
57124,195, в противном случае управление
будет передано следующему оператору,
Сбросьте эту процедуру внутри (с помощью
DATA или REM) или непосредственно после
первой части и вызовите ее оттуда. Она
загрузит файл без заголовка в нужный адрес.

#116 AUTO RUN CODE

Автостартующая программа в кодах.

Процедура в ПЗУ.

Примечание: чтобы заставить программу
в кодах автостартовать, введите в первой
строке 1 RANDOMIZE USR адрес, с которого
коды должны выполняться, введите РОКЕ
23638, РЕЕК 23636: SAVE "Имя" CODE 23550,
адрес последнего байта кодов минус 23549.
Когда коды загрузятся, стартует строка на
Бейсике и запустит коды.

#117 ANTI-COPY PROGRAM

Некопирующаяся программа.

Начало: 57094

Конец: 57107

Длина: 14

Запуск RANDOMIZE USR 57094

Примечание: выгрузите вторую часть
вашей программы с заголовком от другой
программы, манипулируя клавишами
/Запись/Воспроизведение/ магнитофона,
вызовите эту процедуру в первой части и
сразу после этого вызовите #115 Часть 2
тогда будет автоматически загружена из
первой, но всякий, кто попытается загрузить
часть 2 другим способом, вызовет сброс
компьютера.

#118 ATTR RESET

Сброс атрибутов.

Процедура в ПЗУ

Примечание: команда CLS# выполнит CLS, а также сбросит атрибуты (т.е. PAPER 7,INK
О,BORDER 7, BRIGHT О, FLASH О, OVER О, INVERSE 0).

ZX - интерфейс 1 должен быть подключен!

#119 LOWER SCREEN CLS

Очистка нижней части экрана.

Процедура в ПЗУ.

Начало: 3438

Запуск: RANDOMIZE USR 3438

Примечание: эта процедура выполняет очистку только нижней части экрана. Кстати,
чтобы осуществить ввод (INPUT) в любой позиции (X,Y) экрана, используйте INPUT АТ22,0;
AT X,Y;" Подходящее сообщение:, переменная. Такой способ также работает с INPUT ...LINE.

Не перемещается!

#120 TRACE VARI-SPEED

Трассировка, изменение скорости.

Начало: 56640

Конец: 57089

Длина: 450

Запуск. RANDOMIZE USR 56640

Примечание: эта процедура номер строки и оператора, используемых в данный момейт.
Выполните РОКЕ 56777, скорость (от 1 - быстро до 255 - медленно): если будет слишком
быстро, Вы не сможете прочитать, Вызовите эту процедуру либо перед запуском программы
или внутри программы. Трассировка остается включенной, пока ни будет выполнено
RANDOMIZE USR 56814.

Не перемещается!




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Аналогии - Краткая история научной фантастики.
Письмо №263
Listh language news - down pros and cons of lists vs. heap.
Юмор - Анекдоты.
Обмен опытом - Как сделать дисковую версию программы ?..

В этот день...   29 марта