ИСПОЛЬЗОВАНИЕ
"АДРЕСОВ БЕССМЕРТИЯ"
Для пользования справочником "адресов бессмертия1* желательно:
- знать хотя бы немного язык Бейсик;
- иметь представление о различных типах файлов;
- уметь пользоваться монитором - дизассемблером;
- владеть программированием в машинных кодах.
Если Вы все это знаете, то инструкции Вам не нужны. Если нет - читайте дальше.
Простейший случай. Например, игра "GHOTIK". Вы набираете команду "LOAD"
и наблюдаете загрузку первого блока программы (с бейсик - блока начинается прак-
тически любая и каждая программа в наше время, хотя раньше было не так). Сначала
появляется "тельняшка1* на рамке, затем возникает название игры, снова "тельняшка"
- и беспорядочные цветовые полосы, помелькав, исчезли. Теперь нажмите клавишу
BREAK.
Все замерло. Нажимаете LIST и ENTER (в дальнейшем помните, что ENTER
завершает ЛЮБУЮ команду). Если текст программы не возник на экране, дайте
команду ШК 9 и снова LIST. Теперь Вы видите текст бейсик-блока:
2 PAPER NOT PI:BORDER NOT PI:INK NOT PI:CLEAR 24999
4 LOAD""CODE:RAND USR 24500
7 RAND USR 40960
В строке 3 первые три команды из четырех должны были помещать Вам прочитать
текст - Вы преодолели их командой INK 9.
Теперь можно вносить изменения. Перед последним стартом программы (строка
7) надо внести желанные изменения:
6 РОКЕ 41233,0:РОКЕ 41318,0:РОКЕ 43936,0
Набрав эту строку, нажмите ENTER - и она займет свое место а программе. Теперь
можно продолжить загрузку (RUN) или записать измененный блок на магнитофон
(SAVEHGOTHIK"LINE 3).
Не всегда так легко прочитать текст программы - он может быть защищен от
просмотра. Есть несколько распространенных способов защиты:
- блокирование BREAK;
- блокирование MERGE;
- использование управляющих кодов.
Кроме того, преодолев защиту от просмотра, можно натолкнуться на защиту от
редактирования (нулевой номер строки и т.п.). Подробно это рассмотрено в соответ-
ствующей литературе (Тайники ZX SPECTRUM"), но один простой прием можно
рекомендовать. Воспользуйтесь копировщиком COPY86/M. Считайте в него бейсик-
блок игры и просмотрите (клафшш "В" - для просмотра, "Y" - для перелистывания -
скроллинга). Если Вам полученный текст более - менее понятен, стоит попытаться.
Нажмите "R" - с бейсик - блока будет снят автостарт. Теперь запишите этот файл на
магнитофон, обнулите машину и введите записанный файл командой LOAD"". Про-
грамма не стартует и позволит себя просмотреть командой LIST (если не были приме-
нены управляющие коды). Вносите изменения как описано выше.
Бывают бейсик-блоки защищенные от вмешательства и редактирования. В этом
случае нужно либо искать эту защиту и снимать ее, либо пойти другим путем.
Допустим, изменение надо внести в ячейку 54321,0. Загрузим игру (целиком) в
копировщик COPY86/M и найдем, какой блок (файл) перекрывает собой эту ячейку.
Блоки грузятся либо командой LOAD"name" CODE, либо LOAD'name" CODE Address.
В первом случае адреса загрузки кодов берутся из заголовков файлов - их отражает
средняя колонка чисел на табло копировщика COPY86/M.
Во втором случае адрес загрузки блока - это Address (5-значное число).
Главное, внимательно просмотрев бейсик-блок, понять, какой блок какой коман-
дой загружается.
Допустим, блок "КОКАМЕ" длиной 15000 (крайняя колонка COPY86/M) загру-
жается с адреса 50000.
Теперь пришла пора использовать копировщик COPY-COPY (или Pirate02). За-
грузив его, дайте команду
LOAD AT 49983
и считывайте в него с магнитофона блок "NONAME", Почему 49983 ? Потому что
заголовок блока имеет длину 17 байт и тоже считывается в копировщик - вдруг Вы
пожелаете его изменить ? Итак, 50000 -17 - 49983. Теперь последнее:
РОКЕ 54321,0
Осталось сохранить измененный блок на магнитофоне.
В справочниках указывается не только РОКЕ, но и адрес загрузки блоков в копи-
ровщик COPY-COPY, особенно когда эти блоки "безголовые" (без заголовков). Такие
блоки загружаются только программой в машинных кодах, и адрес их загрузки иногда
трудно определить. При загрузке "безголового" файла не надо отводить 17 байт под
заголовок.
Возможно, самая неприятная, хотя и не самая главная, трудность - система распо-
странения программ на рынке. Любой человек, торгующий на рынке программами,
волен делать с ними все, что угодно. Авторского права фактически нет. И не составляет
особого труда любому начинающему программисту перекорежить программу, "укра-
сив" ее своим именем и телефоном (своим ли ?). Хорошо, если после этого программа
еще и работает, но "адреса бессмертия" могут уже к ней не подходить. Поэтому, для
некоторых игр дано несколько вариантов адресов - для нескольких известных вари-
антов игры.
Но, как показывает практика, в четырех случаях из пяти попытки вставить "адрес
бессмертия" удаются. Так смелее! Хакер (взломщик) вышел на тропу войны!