Adventurer
#03
30 апреля 1996 |
|
Система - Зачем делать все самому , если рядом есть компьютер? Автоматизация - как средство избавления от ручного труда.
(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. По всем вопросам, возникнувшим в процессе работы с этим пакетом, обращай- тесь ко мне (телефон в разделе "Автора!") или к авторам лично. ───────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября