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

Основы работы. Глава 1. - как сделать копию программы. COPY 86/М. TFCOPY. COPY-COPY (PIRATE 02).


основы

РАБОТЫ

КАК СДЕЛАТЬ КОПИЮ ПРОГРАММЫ

Если Вы сами написали программу на BASIC'e (БЕЙСИКЕ), то сделать
ее копию несложно. Для этого достаточно дать команду SAVE "ИМЯ" и на-
жать ENTER. Если желаете, чтобы она после загрузки сама стартовала со
строки М,то:

SAVE "ИМЯ" LINE М

Если в программе есть блоки, записанные в машинном *оде, то дается
команда:

SAVE "ИМЯ" CODE М, N
где М - адрес, с которого начинается блок кодов, а N - длина этого бло-
ка в байтах.

При загрузке программ блоки, написанные на BASIC'e. индицируются
на экране как PROGRAM ..., а блоки машинных кодов как BYTES ....

Если Вы выгружаете свою оазработку, то Вы сами знаете те адреса, в
которых располагаются блоки. Однако, загрузив чужую программу, Вам не
так-то прос<& ее выгрузить. Во-первых, она автостартует, и остановить ее
сложно; во-ворых, Вам не известны адреса блоков, из которых она состоит.

Для упрощения процесса копирования есть специальные копирующие
программы, имеющие свою нестандартную загрузочную систему. Таких
программ очень много. Мы рассмотрим несколько наиболее широко
распространенных.

COPY 86/М

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

ГЛАВА 1

вательности из N нулевых байтов записывается один, а следующий байт ука-
зывает. сколько их (N). Это позволяет загружать в копировщик значительно
более 45К. Особенно много места экономится при загрузке экранов, ибо
графические изображения часто изобилуют нулями. Результат компрессии
(сжатия) данных отправляется на хранение в область экрана, что
изображается появлением на экране полос и точек, напоминающих те-
леграфный код.

Сводка команд копировщика СОРУ 86/М:

BREAK - переход в исходное положение;

L. - загрузить файлы:

С - выгрузить (скопировать) файлы.

Выгрузка производится с паузой 1.5
сек между записями;

М - тоже, но с паузой 3 сек;

V - VERIFY - проверка выгруженных

записей;

D - DELETE - удаление ненужных

записей;

Н - перевод в 16-ричную систему;

X - просмотр записей с отбоем ранее

поданных команд;

S - то же. но без отбоя команд;

В - просмотр BASIC-программы;

А - ALL - после этой команды очередная

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

Все команды подтверждаются нажатием ENTER.

На экране файлы записываются в «окне» размером 4 строки. Если
записей больше четырех, то, чтобы «протянуть» их через окно, и используют
клавиши S и X.

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

TFCOPY

После загрузки программы на экране появляется исходное меню.
Нажмите «О» - она стартует и выведет на экран основное меню:

LOAD SAVE DELETE VERIFY MODE

Нажав первую букву нужной команды. Вы войдете в нужный режим:

LOAD - загрузка файлов;

SAVE - выгрузка файлов;

DELETE - удаление файлов;

VERIFY - проверка выгруженных файлов;

MODE - переключение режима; в программе есть 3

режима работы, определяющие размер свобод-
ной памяти:

1 режим -41984 байта,

2 режим - 44032

3 режим -44288

Внимание! При переключениях режима происходит

очистка памяти!

После выбора одного из перечисленных режимов программа выдает
запрос. Например, при нажатии MD" появляется запрос на удаление записей
с ... по ... ( DELfcTE FROM ... ТО ...и). В ответ надо дать номера записей.
Например, чтобы удалить записи 3,4.5,6, Вам надо ввести числа 3 и 6.

COPY-COPY (PIRATE 02)

Эта программа довольно давно в эксплуатации и представляет
классический образец копировщика, она не выполняет компрессирования и
имеет довольно ограниченный объем свободной памяти (42К}, но в ней есть
несколько оригинальных и незаменимых вспомогательных режимов. Все ко-
манды являются ключевыми словами SPECTRUM'a и потому не набираются
по буквам. Они требуют завершения нажатием клавиши ENTER.

Сводка команд:

LOAD - загрузить очередную запись (блок);

LOAD N ТО М -загрузить записи, начиная с номера

N до номера М, при этом рал ее суще-
ствовавшие записи с номерами N и
выше будут уничтожены. Например,
"LOAD 1 уничтожит все ранее
загруженные записи и подготовит
компьютер к загрузке новых;

LOAD N ТО - возможные варианты

LOAD ТО М этой команды;

SAVE - выгрузка записей на ленту, может

иметь варианты:

SAVE N ТО М
SAVE ТОМ
SAVE N ТО

SAVE N ТО М STEP К - параметр К задает величину паузы в
секундах, которую компьютер вы*
держит между отдельными блоками.

VERIFY - проверка выгруженных записей,

имеет все те же формы, что и коман-
да LOAD.

LOAD AT АДР - загрузка блока в память с адреса

АДР. Например:

LOAD AT 16384 - загрузка экрана.

LIST АДР - выдача на экран содержимого

памяти, начиная с указанного адреса.
Просто LIST - то же, что и LIST 0.

РОКЕ АДР.1Ч - такая же команда, как в BASIC:

поместить байт N в память по адресу
АДР. Совместно с LIST эта команда
позволяет вносить изменения в
машинный код программы. Хотя, в
принципе, с такой задачей лучше
справляются специальные программы
(мониторы) для отладки машинного
кода.

COPY 16384 команда, которая позволяет

копировать блоки длиной 49К. Этот
режим делает программу неза-
менимой в тех случаях, когда
программа имеет один блок длиной
порядка 49К. и другие копировщики
не смогут вместить его в своей
памяти. В этом режиме COPY-COPY
почти удаляет саму себя из памяти,
оставляя только блок длиной в не-
сколько байтов, необходимый для
осуществления выгрузки длинного
блока. Выгрузка начинается с нажатия
CAPS SHIFT. Естественно, после это-
го COPY-COPY надо снова загружать
в память, чтобы продолжить работу
Разумеется, магнитофон должен быть
включен на запись до нажатия
клавиши CAPS SHIFT.

ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ

Мы рассмотрели только 3 наиболее распространенных копировщика. На
самом деле их много, но принципы работы у них схожие. Однако надо
помнить, что копировщики бессильны перед программами, в которых
предусмотрена защита от копирования. Многие фирмы применяют
различные методы защиты: «спидлою» (ускоренный загрузчик). «джеркитон»
{пилогстон, сопровождаемый рывками), блоки избыточной длины (50К), «фаль-
шхэдэры» (блоки по 17 байтов, которые воспринимаются как заголовки
очередных блоков, но напрасно), укороченный или удлиненный пилоттон,
либо слишком широкий или слишком узкий, блоки с замеряемой паузой меж-
ду ними и многие другие методы. Принцип их действия состоит в том, что
первый блок программы является BASIC-загрузчиком. подготавливающим
загрузку второго блока. Второй блок в машинных кодах .готовит нестан-
дартную загрузку прочих блоков. Копирование таких программ - трудоемкий
процесс, но со многими защитами справляется программа LERM-7 (ТС-7).
Другой подход к таким хитрым программам - использование специальных
периферийных устройств. Их задача остановить («заморозить») программу в
каком-либо месте и выполнить полную выгрузку всей памяти (дамп). Широко
известны устройства типа MULTIFACE, позволяющие, кроме того, в.ыгружать

экран в любом месте программы, вносить в программу изменения и
продолжать исполнение с места прерывания. Аналогичными устройствами
снабжаются иногда и дисковые системы. Например, ВЕТА-диск интерфейс
(TR DOS) фирмы TECHNOLOGY RESEARCH. Он имеет спец.кнопку (MAGIC
BUTTON * ВОЛШЕБНАЯ КНОПКА) для прерывания программы и сброса ее
на диск. Правда, запустить скопированную таким образом программу через
LOAD не удается. Для этого интерфейс реализует нестандартный подход
(через GOTO "ИМЯ7

Можно предложить и такой способ копирования: с помощью двух
магнитофонов, включенных один на вход компьютера, другой - на выход. Ком-
пьютер. считывая бит за битом со входного «мага», тут же передает их на вы-
ход. при этом он выполняет роль компаратора и выравнивает фронты
сигналов Несложная программа для этой работы будет предложена вам в
следующей главе. Правда, она не очень надежно работает на фирменных
SPECTRUM'ax. т.к. у них вход и выход имеют электрическую связь, но на
компьютерах «ТАЙМЕКС» и на большинстве самодельных она дает отличный
результат.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Part 2 - Playing tips.
Имена - значение имен.
Всякая всячина - Funtop`98
Мерхаба братан! - День без вредных привычек!
CODING - Печать чисел в разных системах счисления: печать десятичных и шестнадцатеричных, двоичных и римских чисел, печать чисел в системе счисления с основанием, установленным пользователем.

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