Adventurer #03
30 апреля 1996

Система - Зачем делать все самому , если рядом есть компьютер? Автоматизация - как средство избавления от ручного труда.

<b>Система</b> - Зачем делать все самому , если рядом есть компьютер? Автоматизация - как средство избавления от ручного труда.
     (C) Федоров "Chasm" Владимир
     (C) Музыка DJ-DENS
    ╔───────────────────────────────╗
    │ Автоматизация - как  средство │
    │ избавления  от ручного  труда │
    │             или               │
    │ Зачем делать все самому, если │
    │       есть компьютер.         │
    ╚───────────────────────────────╝

     Не так давно по историческим меркам,
а  именно в 1992, когда в городе Рыбинске
еще  было мало  кассетных  компьютеров, а
обладателей компьютеров с дисководом было
и того меньше,мне и моим друзьям посчаст-
ливилось попасть в ту категорию любителей
Spectrum'а, которые обладали этим малень-
ким чудом - дисковым компьютером. Если вы
давний поклонник Spectrum'а,  то  вам на-
верняка известна та зависть  пользователя
кассетного   компьютера,  когда  владелец
компьютера с дисководом описывает процесс
загрузки программ.  Но при всех неоспори-
мых преимуществах, мы в то время столкну-
лись с массой  проблем по  переделке кас-
сетных версий программ на диск. Можно,ко-
нечно,было приобретать в Москве или Пите-
ре уже  дискетированные программы, но нам
самим хотелось научиться переводить прог-
раммы на диск.  В  то время информации по
TR-DOS  и  программировании  ВГ-93   было
очень мало, поэтому сделать  качественный
загрузчик в машинном коде к  игре для ря-
дового пользователя  было  несколько про-
блематично.  Как раз, в  это самое время,
когда  кассетных  программ  было много, а
дисковых их версий было  мало,  SHRSOFT'у
пришла в голову очень умная мысль : напи-
сать  автоматический  создатель  дисковых
загрузчиков  в  машинном коде типа "mono-
loader"  DLC (DISK LOADER CREATOR). Тогда
для рядового пользователя,плохо разбирав-
шегося  в  мaшинном коде и TR-DOS, но хо-
тевшего  видеть свою любимую игру, загру-
жающуюся  с  диска,  эта  программа  была
просто  незаменима.  Сейчас она, конечно,
утратила свою актуальность, но все равно,
бывает  полезна  при  создании  дискового
загрузчика к программе  хотя бы ради эко-
номии времени.  Последняя версия DLC, вы-
пущенная SHRSOFT'ом, конечно, была удобна
в работе, но все-таки не лишена некоторых
недостатков.   Поэтому   некоторое  время
спустя JOHN IVANOV, воспользовавшись иде-
ей SHRSOFT'а, выпустил свою версию DLC, в
которой улучшил сервис  программы,  офор-
мив в виде  оконной  системы,  и  добавил
возможность  включения в дисковый загруз-
чик  небольших  фрагментов программ в ма-
шинном коде.
     Но SHRSOFT'у,  как и любому нормаль-
ному человеку  не давала  покоя мысль об-
легчения себе жизни, и поэтому,  восполь-
зовавшись  идеей,  которую  ему  подкинул
PROTECVISION,  написал  утилиту,  которая
облегчала поиск  бесконечных жизней в иг-
рах. Сверяя два MAGIC файла, эта прогрaм-
ма находила место  в  игре, где находился
счетчик жизней.  После  этого  установить
бессмертие в игру не составляло  большого
труда. 
     Но JOHN IVANOV  пошел  еще  дальше и
написал программу,  автоматически  созда-
вавшую подпрограмму в  машинном коде, ко-
торая выводила на экран  запрос  о выборе
бесконечных жизней и информацию в бегущей
строке об авторе загрузчика. Пользователю
нужно было только ввести изменяемые в иг-
ре адреса, и те значения, которые по этим
адресам он хотел изменить.
     В данной статье я хочу описать пакет
этих  программ.  Хотя сегодня стало появ-
ляться  огромное  количество  программ  с
"навороченными"  эффектами в загрузчиках,
надеюсь, этот  пакет  будет вам полезен и
сэкономит ваше время.

     DISK LOADER CREATOR (DLC) v 2.0
     ───────────────────────────────
     Автор: SHRSOFT 1992
     Режим работы : 48 к.

После загрузки программы, вы увидите сле-
дующий  запрос :  "Нужна ли печать текста
перед загрузкой Д/Н ?".    Нажав "Д",  вы


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


     Далее произойдет компиляция машинно-
го кода и  удаление  лишних  строк  BASIC
программы. Настоятельно советую вам запи-
сывать  стартовый адрес загрузчика, пото-
му что он вам в скором времени понадобит-
ся.
     После удаления лишних строк програм-
мы, вы окажетесь в BASIC'е, где вам нужно
будет удалить  999 строку  и  исправить в
строке номер два параметры RAMTOP и START
ADRESS (вот где он вам пригодился). После
этого вам остается отгрузить готовый заг-
рузчик на диск и расположить за ним файлы
в порядке загрузки. 
     DISK LOADER CREATOR (DLC) v 4.0
     ───────────────────────────────
         Автор: JOHN IVANOV 1994
         Режим работы : 48 к.

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

 CLEAR  : nnnnn - граница RAMTOP
 INK : n        - цвет чернил
 PAPER : n      - цвет бумаги
 BORDER : n     - цвет бордюра
 CLS : y/n      - очистка экрана
 COMMAND : y/n  - вход в меню команд ас-
                  семблера.

     Ответив  утвердительно  на последний
пункт, вы  попадаете в меню команд ассем-
блера,по которому сможете перемещатся ис-
пользуя клавиши "8" и "9".  Выбор нужного
пункта производится клавишей  "0".  После
окончания составления подпрограммы на ас-
семблере, нажмите ENTER  для  продолжения
работы программы. 


     Далее вам  предложат определиться  с
количеством  загружаемых  модулей.  После
этого вам предложат ввести параметры заг-
ружаемых модулей: адрес загрузки и длину.
Если  вам нужно поменять какие-либо пара-
метры  перед загрузкой очередного блока -
тогда ответе утвердително на запрос CHAN-
GE y/n и вы попадете опять в меню устано-
вок.
   После  ввода параметров всех загружае-
мых модулей  укажите  адрес старта основ-
ной программы.  Далее произойдет компиля-
ция загрузчика,  после  которой он примет
законченный вид, и его можно будет отгру-
жать на диск. Файлы на диске располагают-
ся в порядке загрузки,  сразу  после заг-
рузчика. 
                SEARCHER
            ───────────────────
            Автор: SHRSOFT 1993

     Для того, чтобы воспользоваться этой
программой, вам  предварительно нужно бу-
дет  два  раза  сбросить MAGIC'ом игру, в
которую  вы  хотите  вставить бесконечную
жизнь. Сбрасывать нужно в следующих игро-
вых ситуациях : например, у  вас было три
жизни (первый раз) и когда у вас две жиз-
ни (второй раз).  Переименуйте MAGIC фай-
лы так,  чтобы  они  имели разные  имена,
например "ONE" и "TWO".
     Далее, загрузив SEARCHER, вы увидите
запрос о вводе имен файлов :
          FILENAME 1: ONE
          FILENAME 2: TWO
     Затем введите значения для поиска. В
нашем случае это будет "3" и "2" :
         DATA FOR FILE 1: 3
         DATA FOR FILE 2: 2
     После этого произойдет сверение двух
файлов и поиск адреса,  по которому нахо-


дится счетчик бесконечных жизней.  В слу-
чае успешного поиска программа вам выдаст
адрес(а), где находятся  интересующие вас
значения. В принципе,вы сможете иметь 255
жизней, введя  соответствующее  число  по
этому адресу.  Для того, чтобы установить
бессмертие, вам придется покопаться в ма-
шинном  коде  программы. Загрузите какой-
нибудь монитор-отладчик  (желательно STS)
и найдите обращения в игре по этому адре-
су. Скорее всего,  где-то поблизости рас-
положена  команда DEC. Изменив ее на NOP,
вы,  скорее  всего, получите желаемый ре-
зультат. 
             INFINITE v 2.0
         ───────────────────────
         Автор: JOHN IVANOV 1994

     После того, как вы нашли в игре  ад-
реса  для  установки  бесконечных  жизней
(или взяли их из  какого-нибудь журнала),
загрузив  данную  программу,  вы  сможете
создать  подпрограмму  для  опроса выбора
бесконечных жизней.  Вам будет предложено
ввести адреса, в которые вы хотите внести
изменения и значения,  которые необходимо
ввести по этим адресам :
    INPUT POKE FOR INFINITE (0 - END)
     После ввода всех значений, для окон-
чания наберите  "POKE 0,0",  и  программа
перейдет к следующему пункту :
         INPUT TEXT FOR SCROLL
     Текст следует вводить небольшой дли-
ны, так как размер отгружаемого блока 768
байт и  ваш текст может весь не уместить-
ся.  Также  следует  сказать, что текст в
строке будет печататься латинским шрифтом.
     После всех вышеперечисленных  опера-
ций  программа  запросит имя отгружаемого
блока и выгрузит его на диск.
     Использовать  полученый блок следует
так : загружается  он  (или переносится в
экран) непосредственно после загрузки ос-
новного блока.  Адрес загрузки 16384, за-
пускать  его  следует по этому же адресу.
После вызова  подпрограммы  опроса беско-
нечных жизней  можно  запускать  основную
программу.
     Напоследок  хочу  сказать  несколько
слов  о  некоторых  ньюанса работы с этим
пакетом. Используя DLC, следует загружать
блоки кодов длиной  не  более 32000 байт,
потому что  при  загрузке  файлов большей
длины,  головка  вашего  дисковода  будет
биться об ограничитель, что не лучщим об-
разом  скажется на его работоспособности.
Также  хочу  отметить,  что  программы, с
загрузчиками типа "monoloader" будут смо-
треться эффектнее и занимать меньше места
в каталоге, если вы будете объединять  их
в  один  файл (правда, если общая длина в
секторах превысит 255, то придется созда-
вать два файла). Это довольно элементарно
сделать, используя  любой DISK-DOCTOR или
воспользовавшись  (опять-таки автоматиза-
ция) программой Алексея Вагина - LINKER.
     По  всем  вопросам,  возникнувшим  в
процессе работы с этим пакетом,  обращай-
тесь ко мне (телефон в разделе "Автора!")
или к авторам лично.

          ─────────────────────── 



Другие статьи номера:

Записки бывалого - "Старглайдер или будни бойцов сопротивления".

Интервью - Знакоство с рыбинской группой Infosoft Group.

Интерфейс - Пароли и секреты к играм : Sly Spy, Pithon. Советы по играм: Винни Пух, Prince of Persia, Elite, Lords of Chaos, Приключения Буратино.

Обзор - Обзор новых игровых программ : Prince of Persia, Megaxonix, Soldier of Future, Red Stone I&II. Лучшая десятка.

Обзор - Обзор электронных изданий.

Обмен опытом - Особенности дисководов различных моделей. Мeтоды зaщиты информaции нa ZX Spectrum.

Обмен опытом - Советы по игре "Switch Blade".

Обмен опытом - Совместимость ATM Turbo.

Обмен опытом - Что такое AMIGA.

Презентация - Презентация адвентюрных игр написанных с использованием ABS: "Иван Царевич", "Last Raider", "Color Balls".

Реклама - Реклама и объявления.

Система - Oписание редактора графических шрифтов - MACH v2.4.

Система - Зачем делать все самому , если рядом есть компьютер? Автоматизация - как средство избавления от ручного труда.


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

Похожие статьи:
Coding - Раздeл для начинаюших кодeров.
For Coderz - Муза from PC (описание форматов звуковых файлов).
News - Умельцы из Молдовы нагрели на круглую сумму несколько падких на эротику американцев.
От автора - Вступительное слово.
BBS - CHESS po CDOS-модему. Инструкция по игре в шахматы (юмор). Список работающих BBS в Минске.

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