ZX-Ревю 1994 №5 1993 г.

Форум - надо сказать, что мы получаем много полярно противоположных писем. Одни пишут о том, что мы слишком подробно и "нудно" излагаем материал, могли бы дать листинг, да вкратце описать идею - и всё всем будет ясно.


Это стиль изложения материала в ZX-РЕВЮ. Надо сказать, что мы получаем много полярно противоположных писем. Одни пишут о том, что мы слишком подробно и "нудно" излагаем материал, могли бы дать листинг, да вкратце описать идею - и всё всем будет ясно. Другие, напротив, сетуют на то, что материал излагается на уровне опытных программистов, а как быть тем, кто только делает первые шаги в программировании? Это касается не только машинных кодов, но и Бейсика. Ведь не все же подписались на ZX-РЕВЮ со дня его основания и "росли" вместе с нами. Многие как раз сейчас преодолевают переход от игрушек к самостоятельному программированию. Есть даже просьбы повторять наиболее интересные статьи для начинающих, которые были опубликованы в прежние годы.

Уважаемые читатели! Если Вас раздражает слишком подробное изложение некоторых материалов, пожалуйста, не воспринимайте это на свой счет. Сознавая, что Вы опытнее других, подумайте о Ваших начинающих коллегах. Вспомните, наконец, о том, какими Вы сами были ещё совсем недавно и как хватались за каждую лишнюю фразу в комментариях к листингам.

Придерживаясь выбранного стиля изложения, мы стараемся сохранять паритет между письмами с обоими противоположными мнениями.

ИФК: Нас радует, что в последнее время стало больше писем по аппаратной части. Дмитрий Жарков из Мордовии пишет, что занимается компьютерами с 1987 года, но его больше влечет "покопаться" во внутренностях.

КОРР: В предыдущем номере РЕВЮ (стр.26) в статье Беззубцева А.С. "Расширение памяти ЛЕНИНГРАДА-1 до 128 К" была приведена схема подключения музыкального процессора. Мне кажется, она не совсем корректна в том плане, что в цикле подтверждения маскируемого прерывания будет считан один из регистров музыкального процессора вместо пассивной шины данных, то есть не OFFH. Можно, конечно, в эту схему ввести сигнал /Ml, но я бы сделал по-другому:

DO a

D1 A

D2 A D3 A D4 A D5 A

Хотя схема не лишена недостатков, всё же остается возможность (я имею ввиду ИД7) для подключения других портов, скажем, для отключения ПЗУ.

Теперь другой вопрос. В системе iS-DOS в той версии, что я имею (4.2), есть возможность создавать электронный диск под ПЗУ и дан адрес порта FF3EH. Откуда взят этот адрес, я не знаю. Хотя в ZX-Scorpion есть порт 1FFDH, так там младший разряд отвечает за подключение и отключение ПЗУ.

0 - ПЗУ;

1 - ОЗУ

0 - DISK MON OFF;

1 - DISK MON ON резерв RS232 STROBE BAN 1

И ещё я предполагаю, что третий разряд (D2) порта 1FFDH используют для включения ТУРБО-режима, но точно не знаю, так ли это? Может кто-нибудь подскажет?

Далее ещё хочу сказать по поводу самодельных компьютеров. Кварцевые резонаторы, которые используют радиолюбители, имеют большой разброс - поэтому и все сигналы "убегают". Лично я привожу в порядок строчный импульс, изменяя коэффициент деления первого счетчика, а дальше почти всегда остальные сигналы "приходят" в норму.

Еще одна просьба. Во многих "новых" играх я встречал "KEMPSTON-MOUSE". Что это за интерфейс? Также хотелось, чтобы радиолюбители выступили по поводу стандартизации портов ввода/вывода. Скажем, есть хорошая микросхема 512ВИ1 - это часы, специально для компьютеров, а по каким адресам ее посадить - не знаю. Точнее, я ее посадил, но толку маловато, поскольку приходится "вариться в собственном соку".

ИФК: О подключении манипулятора "мышь" к своему ZX спрашивают в письмах многие читатели. Своим опытом делится Алексей Иванов из Москвы. Это не совсем ответ на вопрос Дмитрия Жаркова по поводу интерфейса

KEMPSTON-MOUSE, но зато предлагаемый способ позволит Вам легко подключить "мышь" и пользоваться ей с любой программой, управляемой KEMPSTON-джойстиком.

КОРР: Вопрос подключения "мыши" решается довольно просто. Особо подробно описывать не буду, так как человек, решивший сам этим делом заняться, уже наверняка обладает минимальными познаниями и сразу все поймет из нижеследующего.

IBM-мыши бывают, в основном, двух типов: так называемая "шинная мышь" и "мышь", подключаемая через последовательный порт RS232. Так вот, для подключения к ZX-Spectrum можно использовать только первый вариант или, широко распространенную в продаже, дешевую мышь от компьютера БК-010. Обе они работают в TTL-уровнях сигналов.

Подключается "мышь" к разъему KEMPSTON-джойстика и поддерживается всеми программами, работающими с этим типом джойстика. Правда при таком варианте работает только одна кнопка "мыши", но зато как просто и удобно!

Доработок компьютера (за исключением вывода питания +5В на разъём джойстика) никаких не требуется. Все сигналы совпадают: X-лево, X-право, Y-вверх, Y-вниз, K-огонь. Теперь о самой "мыши". Обратите внимание на кнопку, которую Вы будете использовать (чтоб коммутировалась на "землю") и, если есть, на сигнал "сброс" выходящий на её разъем. Поскольку интерфейс KEMPSTON-джойстика этот сигнал не выдает, а в схему компьютера вмешиваться нежелательно, поступаем проще. В саму "мышь" (а пространство в "мыши" от БК-010 позволяет) встраиваем простейший мультивибратор, хотя бы собранный на базе 555ЛАЗ. Мультивибратор может быть включен все время. Его роль сбрасывать триггеры "мыши" после каждого срабатывания или при её неподвижности. Длительность сигнала должна быть 2,5-3,5 мсек. Частота сигнала сброса подбирается в пределах 25-100 Гц (в зависимости от нужного Вам разрешения).

Подключенные таким образом "мыши" работали с версией редактора ARTSTUDIO, поддерживающей работу с KEMPSTON-джойстиком, с игрой FLY SHARK и др.

В некоторых компьютерах "мышь" работает не с таким разрешением, какое хотелось бы, попробуйте поменять частоту мультивибратора. В крайнем случае, можно использовать для сброса сигнал выборки порта KEMPSTON-джойстика. Но его надо инвертировать и разделить частоту на 2 (две микросхемы). (Предполагаем, что интерфейс KEMPSTON-MOUSE как раз и служит для формирования такого сигнала, хотя это только предположение - Прим. ИФК).

Все вышеописанное касается "мыши" от БК-010. Фирменные шинные (или логические) мыши сигнал сброса формируют сами в себе и не нуждаются во внешнем сигнале сброса.

Надеюсь, что мои советы пригодятся пользователям и избавят кого-то от лишней головной боли.

К вопросу о стандартизации.

ИФК: Теперь о стандартизации. Этот вопрос в последнее время приобретает все большую актуальность и у многих читателей вызывает живой интерес (как и у нашего читателя Дмитрия Жаркова). Мы, по мере сил, стараемся дать Вам всю имеющуюся у нас информацию по этой теме. Итак, представляем материал Сергея Дегтярева из Луганска, Украина.

КОРР: Прочитал я в РЕВЮ-93 № 9-10 статью "К вопросу стандартизации" Киселева Д. и решил тоже поделиться своими мыслями. Я уже около года занимаюсь расширением ZX-48 в ZX-128 и накопил кое-какой опыт.

Сначала хочу рассказать кое-что о машинах. Я работаю на "Краснодарском" варианте. У нас в городе он появился первым, еще в 1987 г. Недавно к нам "забрел" вариант "Москва-48", так это братья-близнецы. Отличия такие: В "Москве" (самое главное) вся системная шина (адреса, данные, управление) буферизирована (АП6) и выведены все сигналы для KEYBOARD, TV, TAPE. В "Краснодаре" этого нет, но зато здесь есть 580ВВ55А (1F, 3F, 5F) - порт джойстик, отсутствующий в "Моск-ве-48". Также порт BORDER сделан на 555КП13 (в "Москве-48" - на 555ТМ8) и дешифратор ПЗУ, SCRN, RAM1, RAM2 (РУ6 И РУ5) на 555ИД4 (в "Москве" на простой логике - около 4-х корпусов) А в остальном эти модели - один к одному (имеется в виду схема, а не расположение элементов на плате).

В оба компьютера я вводил режим "Турбо" fCLK = 7 МГц. При этом в ELITE невозможно биться с Таргонами, сразу убивают, но в остальном - прекрасно, при изображении кораблей и планет нет рывков, как при 3,5 МГц.

При расширении "Краснодара" до 128К - полная совместимость с 128К-программами. Никаких проблем. Бывает, правда, не идут в 128 К, но идут в 48К.

При расширении же "Ленинграда" (я использовал свою переработку "Краснодарской" расширялки) в 48К режиме - совместимость полная, а в 128К - начинаются проблемы. Одни программы сбрасываются, другие виснут, третьи идут до определенного момента в игре. В общем, 40-50% 128К программ не идут. Это относится и к вариантам "PENTAGON-48", "SINTEZ", "ИСКРА" (г. Луганск, "облагороженный" вариант "Ленинград-1"). Мне думается, дело в раздельных полях памяти. Если в компьютере формирование адресов как в "Ленинграде", то очень сложно довести его до 128К. А может быть, кто-нибудь уже довел?

Сейчас я занимаюсь расширением своего компьютера до 512К. Случайно ко мне попала программа HONEY-COMMANDER Андрея Хонича (г. Москва, написана для компьютера "ATM-ТУРБО" по заказу фирмы "Микpo-ART", но работает и на 128К). HONEY-COMMANDER в "ATM" имеет RAM-диск около 400Кб. То есть, при копировании записывает за один проход почти 2/3 диска. Так вот, к чему я это веду. Я считаю, что расширение до 256К и 512К нужно делать с портом конфигурации от "АТМ-ТУРБО".

555 ид4

555тм2

r d

q

с

q

с

q

d

r

q

а9-а15-wr-

-ea16

do-

-ea17

_ftl-

i □ rq -М1-

d1-

reset-

ЕА16 использовать для расширения до 256К, а ЕА16 и ЕА17 - до 512К. Только нужно предусмотреть их блокировку (например, через ЛЛ1 или ЛИ1) при обращении видеоконтроллера к RAM.

Некоторые выводы.

1. 512К. Я считаю, что если уж существует HONEY-COMMANDER, и там учтена адресация "АТМ-ТУРБО", то зачем лишаться такой прекрасной программы из-за того, что надо добавить пару микросхем (ТМ2 и ИД4)? Сначала я так же хотел использовать порт #7FFD для адресации 512К. Остальные 2 бита этого порта можно использовать для графики, цветов и т.д.

2. ТУРБО. Для переключения Турбо-режима, я думаю, порт не нужен, его нужно переключать аппаратным путем (переключатель типа П2К или ПКН61, например).

3. EPROM. Для программатора, я считаю, нужно задействовать 1F, 3F, 5F, 7F. Это 580ВВ55А в "Краснодарском" включении, а также "Балтик". 1F - это порт данных. 3F - порт адресов, старший байт - через защелку на 555ИР22, ИР23, ИР27 (так как меняется через 256 адресов); младший байт - непосредственно. 5F - порт управления; D0...D4 - программная установка напряжения прожига 10...25,5В через 0,5В, по аналогии с "ULTRA" для IBM-PC; D5 - управление за щелкой адреса; D6 и D7 - сигналы CS и PR для ИМС EPROM.

Вопросы совместимости.

ИФК: К нам продолжают поступать письма по поводу преодоления программным путем несовместимости, связанной с IM2. Интересный случай, произошедший с ним, описывает в своем письме Олег Львов из Москвы.

КОРР: У меня Спектрум-совместимая машина "Дуэт". На ней не идут IM2 из-за того, что не определён младший байт. Поэтому программы COPY-86/M, ELITE - не работают. Но у меня случайно получилось, что ELITE заработала!

Заслав в память несколько POKES, я предполагал увидеть число, содержащееся в регистре ВС, после чего машина бы зависла. Но программа почему-то заработала! Вот, что я сделал:

25612 237

25613 94

-это коды инструкции IM2, которая вызывает сброс "Дуэта". Я занес в память такую программу с адреса 25612: 205, 107, 13, 62, 2, 205, 1, 22, 237, 87, 71, 14, 0, 205, 27, 26, 243, 118. Дисассемблер этого фрагмента:

CALL

3435

(CLS)

LD

А, 2

CALL

5633

(CHAN-OPEN)

LD

A, I

LD

В, А

LD

C,0

CALL

6683

(вывод ВС на

DI

HALT

- зависание.

Добавлю данные кодового блока:

"ELI12 8.2"CODE 25048,37253

Из станции вылетают "Вайперы", вполне вероятно, что это версия "М-128".

ИФК: Случай, действительно, интересный. Может быть, кто-то встречался с подобным эффектом? Или пояснит, что же всё-таки произошло?

128К

ИФК: На "крик о помощи" Евгения Крюкова по поводу DIZZY (РЕВЮ № 3, стр. 58) откликнулся Владимир Дулепов из Новосибирска, студент 2 курса ФФ НГУ. Вот что он пишет.

КОРР: Сначала несколько вступительных слов. Я уже давно являюсь поклонником сериала игр о Диззи и, благодаря моему другу из Красноярска Дмитрию Романенко, имею все семь игр сериала (на самом деле игр, конечно же, семь, ведь кроме игр под номерами 1-6, есть еще и 3.5).

Как известно, игра DIZZY-3 была первой из серии, имеющей дозагрузку для 128К. Нельзя сказать, что это у фирмы CODEMASTERS получилось удачно. Во-первых, обрадовавшись наличию музыкального сопроцессора, фирма начисто отказалась от обычных звуков. Это, конечно же, неправильно. К чести фирмы, впоследствии она реабилитировалась: уже в DIZZY-3.5 и DIZZY-4 обычные звуки присутствуют. Во-вторых, работа с режимом 128К идет вполне корректно, а вот с 48К - есть проблемы. Во-первых, некоторые, наверное, замечали, что после спасения DAISY после гибели игра "повисает", а в некоторых местах портится графика (например, в экране, левее вулкана, да и на экране с вулканом тоже). Во-вторых, при попытке убрать из загрузчика всякие, казалось бы, лишние РОКЕ, после гибели игра "виснет". Все это, в конце концов, меня возмутило, и я решил разобраться, в чем же дело. К этому времени у меня появился SP-128 и, к тому же, появилась необходимость переписать игру на диск. И в обоих случаях у меня возникали проблемы.

С адаптацией к диску проблема была одна: нехватка памяти из-за TR-DOS, что я обошел, разбив, загрузчик на две части по рекомендации Н.Родионова ("Адаптация программ к системе TR-DOS"), а вот с загрузкой дополнительного блока для 128К были проблемы. Опишу все по порядку.

Во-первых, загрузчик. Он схож с тем, что приведен в РЕВЮ № 3, но в нем есть несколько грубейших ошибок. И, самое главное, в нём совершенно некорректно происходит переключение страниц памяти. Чтобы понять подробнее, советую, для начала, заглянуть в РЕВЮ-91 № 1 и № 2. В последнем из них, на стр. 26 сказано, что порт 32765 (#7FFD), переключающий страницы ОЗУ и ПЗУ, является портом записи, но не чтения. И, чтобы восполнить этот недостаток, его копия заносится в системную переменную BANK_M по адресу 23388 (#5В5С). А вот дальше есть слова: "Вы должны ... сначала загрузить нужный байт в BANK_M, а только потом выдавать его на порт #7FFD, но не наоборот". Это - ключевой момент.

Во-вторых (и это, пожалуй, главное), если Вы попробуете загрузить DIZZY-3 опцией "ТАРЕ LOADER" главного меню SP-128, то ничего из этого не выйдет. У меня после этого игра зависает. Я уже потерял всякую надежду послушать музыку в DIZZY-3, но однажды у меня это случайно получилось - я вышел в TR-DOS не через RESET, a набрав RANDOMIZE USR 15616. Каково же было мое удивление, когда, набрав RUN "DIZZY 3", я вдруг после загрузки услышал музыку! Игра требует, чтобы в момент её запуска было активно не ПЗУ-0 ("новое" ПЗУ), а ПЗУ-1, хотя и в режиме 128К! Такого "наворота" я даже не предполагал.

Теперь перейду к главному вопросу, - каким же должен быть загрузчик, чтобы игра нормально стартовала? Кстати, чтобы не было неоднозначности, привожу данные всех необходимых кодовых файлов: "dizzy3$" CODE 40000,5098 "dizzy31"CODE 24576,40959 "dizzy32"CODE 49152,16383

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

0 REM DIZZY-3 128K LOADER BY VLADSOFT (С) 1994

1 BORDER NOT PI: PAPER NOT PI : CLEAR VAL "24575": LOAD "dizzy 3$"CODE 4E4

2 RANDOMIZE USR VAL "4E4": LO AD "dizzy31"CODE: REM для магнитофонной версии перед

LOAD неплохо вставить POKE VAL "23739", CODE "о"

3 POKE VAL "23388",VAL "19": OUT VAL "32765", VAL "19": LOAD "dizzy32"CODE

4 POKE VAL "23388", VAL "16": OUT VAL "32765",VAL "16": RANDOM IZE USR VAL "24832"

Вот и всё. Загрузчик устроен так, что переделка его под диск не вызовет проблем. Если все-таки игра "не пойдет", попробуйте в последнюю строку перед RANDOMIZE USR вставить POKE VAL "23627", VAL "255" (о смысле этого - чуть ниже).

Для написания универсального загрузчика есть три проблемы. Первая заключается в том, что нужно корректно проверить наличие дополнительной памяти. В исходном загрузчике это делается, но из-за вышеупомянутой проблемы с BANK_M и ПЗУ-0 не проходит. К тому же на Бейсике это выглядит весьма громоздко. Приведу свой вариант на ассемблере:

:порт #7FFD проверяемая ячейка включение ПЗУ-0 и страницы ОЗУ-0 тестовый байт 1 включение ОЗУ-3, но можно и другое тестовый байт 2 восстановл. исходного режима памяти занес, результата в систем, переменную NOT_USED и возврат

Работает эта проверка очень просто. На SP-48 порта 32765 нет, поэтому команда LD (HL),0 затрёт единицу по адресу 49152 и, в результате, в 23681 (можете использовать любой другой адрес) занесется 0. В SP-128 в странице ОЗУ-0 как была 1, так и останется и, в результате, в 23681 будет занесена 1. Кстати, сделано это для того, чтобы можно было провести проверку ещё до загрузки программы, иначе она будет испорчена командами LD (HL),1 и LD (HL),0. Можно, конечно, сохранять ещё где-нибудь содержимое этих ячеек до проверки, а затем восстанавливать, но при этом процедура увеличится в два с лишним раза. Я предлагаю (и это с успехом использовал у себя) полученную процедуру занести в Бейсик-загрузчик в 0 строку после REM - по-моему, это удобно. Таким образом, проверка режима осуществляется так:

0 REM коды

1 RANDOMIZE USR (PEEK 2 3 635+2 5 6*РЕЕК 23636+5)

2 ... REM загрузка заставки и основного кодового блока

LD

ВС,32765

LD

HL,4 9152

LD

А,16

OUT

( С), А

LD

(HL), 1

LD

А,19

OUT

( С), А

LD

(HL),0

LD

А,16

OUT

( С), А

LD

A, (HL)

LD

(23681) ,А

RET

5 IF PEEK 23681 THEN LOAD "dizzy32"CODE

6 ... REM запуск игры.

Если в 23681 находится 1 (то есть если у Вас 128К), то загрузится дополнительный блок, иначе - нет. Вторая проблема заключается в том, что сама игра требует, чтобы в адресе 23627 находился ноль, если игра запускается из режима 48 К, и 255 - если 128К. Насчет второго - могу сказать, что, по-видимому, в игре проверяется только режим 48К, а 128К устанавливается по умолчанию. Поэтому (см. вариант загрузчика для 128К) можете ничего не заносить в ячейку 23627 и, если только игра не запустится, занесите 255, хотя у меня такой необходимости не возникло.

Но и это ещё не конец. Третья проблема заключается с так называемой "вечной жизнью". Так вот, после выполнения POKE 63001,0 в режиме 48К все хорошо, но вот в режиме 128К игра начисто отказывается с ним запускаться. В чем тут дело, я не разобрался, так что это еще открытый вопрос. Более того, есть ещё один РОКЕ 42481,N - где N - число жизней. Так вот, эффект тот же. Может быть, кто-нибудь прояснит этот вопрос? И, в заключение, приведу загрузчик в полном виде:

0 REM коды проверки 48/128"

1 REM Universal LOADER 48/128 FOR DIZZY-3 (С) 1994 VLADSOFT

2 BORDER NOT PI: PAPER NOT PI :CLEAR VAL"24575": RANDOMIZE USR VAL "2376

: LOAD "dizzy31"CODE OUT VAL "32765",VAL

"19": LOAD

LOAD

KE VAL "23739", CODE "o" KE VAL "23388",VAL "19":

OUT VAL "32765",VAL "16": IF NOT PEEK VAL "23681" THEH

POKE VAL "63001",NOT PI: POKE VAL "23 627" ,NOT PI 6 RANDOMIZE USR VAL "24832"

Игры.

NETHER EARTH

ИФК: Своими соображениями по поводу прохождения этой игры делится Родин Алексей из Ярославля.

КОРР: Для тех, кто по каким-либо причинам не может разбить инсигнианцев, я дам совет, как это сделать, особенно не напрягаясь .

1. Первым делом надо сделать робота (антиграв, пушки, ракетная установка, фазер), назову его № 1, и дать ему команду "50 миль вперед". Оставьте № 1 в покое ровно на два дня. За это время Вам набежит ещё 10 космодолларов. На эту сумму я обычно делаю робота (траки, фазер), и даю ему команду "захват нейтральных заводов". С этого момента начинается самое интересное.

После выполнения любой задачи (например, "захват нейтральных заводов", если все заводы уже захвачены и т.п.), Ваш робот автоматически получает приказ "стоять и держать оборону". Так и наш № 1, за эти дни пройдет положенные ему 50 миль, и остановится в ожидании дальнейших команд от Вас. Теперь управление переходит в Ваши руки: в боевом режиме двигайтесь к первой базе.

Достигнув её, Вам нужно завести робота в "ворота" базы и просто продержаться там, не погибнув, 10 часов. Если управляете роботом Вы, а не компьютер, то не обязательно давать ему команду захватить тот или иной объект, а достаточно просто находиться на территории завода.

2. Итак, первая база захвачена. Остались ещё две. Здесь Вы можете построить еще роботов, из тех ресурсов, что были получены за время первого этапа. Новичкам я не советую захватывать вторую базу врага, а, устроив им ловушку, захватить оставшиеся заводы. Ловушка заключается в следующем. Если на линии огня двух роботов находится стена или завод, то роботы будут стрелять друг в друга, не двигаясь с места, до тех пор, пока один из них не погибнет. Но этого не произойдет из-за стены. Так что, если Вы поставите своего робота в место, изображенное на рисунке или подобное ему (с приказом "стоять, и держать оборону"), то этот робот устроит пробку в коридоре. Враги уже не смогут здесь пройти, и Вы получите время, чтобы накопить заветные космодоллары для предстоящей атаки на вторую базу.

Создавая роботов, помните, что живучесть робота зависит от шасси и его оружия.

ИФК: По нашим сведениям, робот имеет тем больше шансов выжить, чем больше денег было потрачено на его изготовление.

КОРР: Также не забывайте о том, что Вы не можете выпустить больше 24 роботов.

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

REM Universal LOADER 48/128 BORDER NOT PI: PAPER NOT PI "dizzy3$" CODE VAL "4E4"

3 RANDOMIZE USR VAL "4E4": PO

4 IF PEEK VAL "23681" THEN PO

"dizzy32" CODE

5 POKE VAL "23388", VAL "16":

Вторую базу Вам не составит труда захватить. Достаточно просто направить роботов в коридор, дав команду уничтожать врагов.

3. Дальше - дело техники. Для захвата последней базы бывает достаточно 6-7 роботов. Слабые из-за недостатка ресурсов, роботы инсигнианцев не смогут сражаться на равных с Вашими мощными силами.

Несколько советов.

1. Захватывать базы лучше во второй половине дня.

2. Если вражеского робота катером загнать в ворота базы, и задержать его там, то база небу дет выпускать новых роботов. Это касается и Ваших баз.

3. Иногда, в бою, Ваш робот может уничтожить своего союзника.

Это все о "Спасителе земли". Описанный выше способ был разработан Рудиным Алексеем и Ильей Евдокимовым. Мой личный рекорд - 17 дней, 7 часов, 35 минут.

ИФК: Наш читатель из Люберец, Максим Нионилин, предлагает немного иной способ борьбы с инсигнианцами. Суть его состоит в следующем.

КОРР: Сначала создается мощный робот с антигравамй, пушками, ракетами, фазером. Потом, на ручном управлении, этот робот захватывает одну за другой все три вражеские базы.

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

Результат такого "блицкрига" - захват всех баз за 9 дней.

Кроме того, существует способ делать не только пробки, но и засады. (Разумеется, применять их нужно только, если игра идет не на скорость, а по "классическим" правилам).

чЧЧЧЧЧЧЧЧЧ^

£v4444444J '

Чччччччччччччччччччччч

Засаду ставят так. Находят в лабиринте стенку, с одной стороны полностью загораживающую робота, а с другой - лишь наполовину, оставляя возможность для стрельбы. Если поставить робота в точку, обозначенную на рисунке, то он будет быстро уничтожать проезжающих роботов противника, сам же получая минимум повреждений. (Следует ставить в засаду только мощных роботов). Такая засада не только задерживает противника, но и обеспечивает полное его уничтожение на определенный период.

SIM CITY

ИФК: Максим Нионилин предлагает способ быстрого накопления средств. Суть этого способа состоит в следующем: В режиме "BUDGET", следует полностью обнулить налог (TAX RATE). Жители, обрадованные перспективой бесплатного проживания, огромными толпами повалят на остров.

Теперь, остается только подождать до декабря, и быстро поднять налоги до 20%. Налоги население уплачивает в конце года, так что жителям придется раскошелиться, и заплатить 20% за весь прошедший год. Им это, конечно же, не понравится, начнется повальная миграция с острова. Пока она еще не приняла угрожающих размеров (то есть в январе), следует снова ликвидировать налоги. "Мэр пошутил", - облегченно вздохнет население, возвращаясь на свои насиженные места... до следующего декабря.

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

DUN DARACH

ИФК: Информацию по этой игре любезно предоставляет Тимофей Камразе из Москвы.

КОРР: Когда работа над этой игрой была почти готова, мне показалось, что она никому не понадобится, так как уже появились люди, которые почти прошли эту игру. Но я всё же надеюсь, что моя информация поможет кому-нибудь в прохождении этой интересной игры.

ИФК: Ну, конечно же, пригодится. Спасибо, Тимофей. Итак, вот сводная информация нашего корреспондента.

Кварталы.

1. OLD QUART.

2. ARGOT.

3. GRAYMARKET MERCER HEATH.

4. GRAYMARCET THIEVES HILL.

5. PATHA DE-MAGENTA.

6. THE SOKE.

7. IOMAIN.

8. THE CASTLE.

Улицы

Всего в городе 37 улиц и одна площадь (см. нумерацию, а горизонтальные буквенную.

1-WEST WALL.

2-MOSS LANE.

3-HERNE HILL.

4-AMBER WAY.

5-MERD CROSS.

6-BAKER ST.

7-KING ST.

8-DAK ROAD.

9-NEW ST.

10-DOWNS ROAD.

11-DICE ST.

12-OLD HILL.

13-STAR ST.

14-CINDER BANK.

15-MARSH ST.

16-WEST CASTL.

17-MARSH GATE.

18-EAST WALL. 0-MERD SQUARE.

карту). На карте вертикальные улицы имеют цифровую

A-NORTH WALL. B-PARC ROW. C-LEAF LANE. D-HIGH ST. E-LONG LANE. F-WEST WAY. G-SILVER ST. H-MYRE ST. I-MARKET ST. K-THE CALLS. L-HILL ST. M-HEARTH ROAD. N-BERD ROAD. O-CROSS ST. P-STONE ROAD. Q-THE PARADE. R-CLAE LANE. S-CASTL WALK. T-HIG GATE.

+ + iz

i5

Dun Darach - Путеводитель по городу

квартал

улица

7

OLD QUARTER

NORTH WALL

1

STRONG ROOM (жемчуг)

3

GALLERY (статуэтка крысы)

MOSS LANE

0

проход к WEST LAST

PARK ROW

29

"DEPOSIT FEE 50 IR" (буква "t")

D

DAIN

WEST WALL

59

"DEPOSIT FEE 50 IR" (буква "p")

LEF LANE

85

"DEPOSIT FEE 50 IR" (буква "e")

после

86

"DEPOSIT FEE 50 IR" (буква "y")

"LEAF LANE"

HERNE HILL

1

GALLERY*

2

PORTAL (200 IR)

*ARGOT*

4

GALLERY*

ДО "SILVER ST."

6

BANK (мин. вклад - 1000 IR)

LONG LANE

1

BROKER (200 IR) (сукно)

3

"DEPOSIT FEE 50 IR" (пусто)

4

COBBLER "LAST FOR 200 IR"

GRAYMARKET

5

ARMOURER (топор - 200 IR)

6

DRAPER (иглы - 100 IR)

7

COOPER (бочки - 300 IR)

8

BROKER (200 IR) (GRAPES)

9

"DEPOSIT FEE 50 IR" (буква "c")

10

SKINER (шкура - 1500 IR)

ARGOT

WEST WAY

79

ASSAYER (золото - 600 IR)

80

BANK

SILVER ST.

81

BANK

82

ASSAYER (платина 10000 IR)

83

THIEVES GILILD (лицензия-10000 IR)

IOMAIN

NYRE ST.

1?

заперто

2

"DEPOZIT FEE 50 IR" (пусто)

OLD QUARTER

AMBER WAY

64

"DEPOSIT FEE 50 IR" (буква "i")

ARGOT

65

HERALD (PILES - 200 IR)

66

BANK

67

PORTAL (200 IR)

IOMAIN

DOUNS ROAD

41

IOMAINS LUDUM (казино)

42

"DEPOSIT FEE 50 Ж"(буква "t")

THE CALLS

1

IOMAIN LUDUM

2

LAYDOS (заперто)

3

"DEPOSIT FEE 50 IR" (буква "a")

DISE ST

14

"DEPOSIT FEE 50 IR" (буква "e")

15

IOMAIN LUDUM

ARGOT

MEAD

1

"DEPOSIT FEE 50 IR" (буква "ъ")

2

BROKER (750 IR) (REMANTS)

3

"DEPOSIT FEE 50 IR" (пусто)

4

"DEPOSIT FEE 50 IR" (буква "l")

GRAYMARKET

MARKET ST.

12

APOTHELARY (HELMOCKS - 400 IR)

14

GROCER(перец - 150 IR)

DAK ROAD

26

(шпаги - 500 IR)

27

CARPENTER (ADZES - 300 IR)

28

"DEPOSIT FEE 50 IR" (буква "s")

29

SALTER (DRYSALTS 150 IR)

THE CASTLE

HIGH GATE

К

"TETH IS JAILER"

MARSH GATE

0

"NO EXIT"

WEST CASTL

0

переход

GRAYMARKET

THE PARADE

2

"DEPOSIT FEE 50 IR" (буква "y")

4

FARMER (HOES - 250 IR)

GRAYMARKET

5

MERCER (SWATCHS - 150 IR)

квартал

улица

7

MARSH ST.

30

PORTAL

31

BROKER (200 IR) (CPICES)

32

"DEPOSIT FEE 50 IR" (буква "с")

RATHA DE

33

"DEPOSIT FEE 50 IR" (буква "о")

34

GALLERY

35

HAIL MIDIR

THE SOKE

37

"DEPOSIT FEE 50 IR" (буква "u")

GRAYMARKET

RING ST.

1

(BHHO-150IR)

2

ARCHIVIST (книга - 700 IR)

4

FLETCHER (стрела - 150 IR)

GRAYMARKET

NEW ST.

12

"DEPOSIT FEE 50 IR" (буква "h")

14

BARBER (бритва - 150 IR)

HILL ST.

37

"DEPOSIT FEE 50 IR" (пусто)

38

"DEPOSIT FEE 50 IR" (буква "n")

MEARTH

57

"DEPOSIT FEE 50 IR" (буква "r")

58

APOTHECARY (жало - 100 IR)

RATHA DE

BERD ST.

16

"DEPOSIT FEE 50 IR" (пусто)

18

HEROIST (RUES - 100 IR)

19

HAIL DANU

20

CARPENTER (HAMMER - 200 IR)

CINDER BANK

21

закрыто

22

HAIL PARTHOL

23

"DEPOSIR FEE 50 IR" (буква "m")

THE SOKE

24

MAGIK (заклятие - 1000 IR)

25

"DEPOSIT FEE 50 IR" (буква "i")

STONE ROAD

71

GALLERY

73

MAGIK (PHILTRES - 2000 IR)

74

"DEPOSIT FEE 50 IR" (буква "s")

75

"DEPOSIT FEE 50 IR" (пусто)

IOMAIN

CROSS ST.

52

BROKER (800 IR)

53

IOMAIN LUDUM

54

заперто

55

"DEPOSIT FEE 50 IR" (буква "е")

57

ALCHEMIST (LEADS - 800 IR)

RATHA DE

58

HAIL BELINUS

59

ANTIQUARY (КОСТИ-500 IR) (RELICT)

60

"DEPOSIT FEE 50 IR" (буква "t")

IOMAIN

OLD HILL

10

MINESTREL (лира - 1000 IR)

THE SOKE

15

PORTAL

CLAW LANE

0

заперто

82

"DEPOSIT FEE 50 IR" (буква "к")

0

TETH

"DARACH DOWN"

Тайники.

В городе существует несколько (25) домов, в которых на стенах висят картины с буквами. И 6 домов в которых висят только подрамники.

Буквы: парные одинарные тройные

Y,C,I, P,A,L,O,U, E, T

S H,N,R,M,K, ъ

Назначение: не установлено. (Наверное, я пропустил один Дом.)

Также существует 4 галереи с картинами. Явные ребусы. Если судить по другим играм этой фирмы - авторы никогда не занимаются пустым украшательством. Можно предположить, что без решения этих двух загадок игра не может быть пройдена.

О/, d

heme hm

N 2

argot heme h Hi N 1+

pat hade marsh s i . N

the so X e stone road N ? i

ELITE

ИФК: Семейный экипаж Троеглазовых (в составе: Павел и его сын Гера) из Хабаровского края пишут:

КОРР: В программе "ELITE" можно избежать захвата Вашего корабля пиратами, примерно так же, как выйти (в некоторых версиях) в 47-ю галактику. После захвата корабля и сообщения об этом, Вы выходите к начальной заставке с надписью LOAD NEW COMMANDER (Y/N). Теперь нажмите клавишу "Y" и попадете в меню загрузки/отгрузки. Произведите имитацию отгрузки, затем нажмите клавишу "3" и Вы окажетесь на той самой станции, где Вас захватили пираты, только пиратов этих - и след простыл! Теперь можно спокойно продолжить игру.

ИФК: Алексеев Николай Алексеевич из г. Читы делится своим опытом :

КОРР: Один корреспондент "РЕВЮ" писал, что Cloaking Device - малополезное устройство. Лично я так не думаю. Все свои успехи я сделал с помощью этого устройства, и меня ни разу не сбили за несколько месяцев (имею рейтинг ELITE). Я выработал тактику ведения боя с многочисленным противником. Как только пиратский корабль начнет стрелять, включаю невидимость и иду на полной скорости к нему. Некоторые корабли при этом меняют курс, подставляя бока, и их легко расстрелять или сбить ракетой.

И ещё одно свойство Cloaking Device. Противник не видит ни Вас, ни Вашей ракеты! С включенным устройством я уничтожал корабли любого типа. Самыми слабыми становятся не PYTHON, а THARGOID! Но если вы на мгновение выключите невидимость, ракету сразу уничтожают. Бывают такие моменты, когда ловишь Таргонов клавишей "F" и один из них появляется совсем близко, лазером его не успеешь сбить, маневрировать - тоже. Тут и выручают ракета и невидимость. Ракеты лучше пускать, когда идешь в лобовую атаку, так они быстрее достигают цели.

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

ИФК: В РЕВЮ № 3 за этот год Бамычев О.Ю. в ФОРУМе (на стр. 66) задавал вопрос о кодировке отгрузочного блока программы ELITE в версии Joystick Club. Ответ читателей не заставил себя ждать.

Приводим материал Барсукова Владимира из Московской области.

КОРР: . я в свое время долго с этим блоком возился, пока не догадался заглянуть в загрузчик (версия Joystick Club с пометкой Disked only for TR-DOS v5.01,03). Действительно в нулевой строке за REM по адресу #5Е03 (24067) находится кодер-декодер отгрузочного блока. Отгрузочный 255-байтовый блок "ELITE" загружается по адресу #D054 (53332). Кстати, после 102 байта - просто кусок программы. На всякий случай привожу процедуру кодирования-декодирования:

5Е03

215AD0

LD

HL,#D05A

5Е0 6

013500

LD

ВС,#0035

5Е0 9

70

LD

(HL),B

5Е0А

2154D0

LD

HL,#D054

5E0D

7E

LD

A, (HL)

5E0E

A9

XOR

С

5E0F

4F

LD

C,A

5E10

23

INC

HL

5E11

10FA

DONZ

#5E0D

5E13

215AD0

LD

HL,#D05A

5E16

AE

XOR

(HL)

5E17

77

LD

(HL),A

5E18

2154D0

LD

HL,#D054

5E1B

0600

LD

B, #00

5E1D

7E

LD

A, (HL)

5E1E

A8

XOR

В

5E1F

77

LD

(HL),A

5E20

23

INC

HL

5E21

10FA

DONZ

#5E1D

5E23

C9

RET

ИФК: При первом вызове приведенная процедура кодирует блок кодов, при повторном - декодирует. Кстати, сама эта процедура релоцируемая и для её использования отдельно от программы "ELITE" может быть набрана (или скопирована с "ELITE"), загружена в любое место памяти и может стартовать с адреса загрузки. Таким образом, чтобы перекодировать зашифрованный 255-байтовый блок, надо сделать следующее: загрузить приведенный выше кодер-декодер по адресу, скажем 50000, затем загрузить 255-байтный блок по адресу 53332, затем командой RANDOMIZE USR 50000 раскодировать его. Осталось только сохранить результат с адреса 53332 длиной 102 байта -получен отгрузочный блок для обычной версии ELITE. Точно так же можно выполнить противоположную задачу по преобразованию 102-байтового блока в 255-байтовый, закодированный.

Но вот другое письмо, его автор, Владимир Олегович Сиротин из г. Краснокаменска Читинской области, приводит иные данные. Очевидно, речь опять идет о разных версиях или модификациях игры, хотя и у него тоже игра помечена как версия "Джойстик Клуба". Приводим его способ борьбы с зашифрованным дисковым отгрузчиком игры. Он будет полезен владельцам такой же версии ELITE.

КОРР: Шифрация/дешифрация происходит на этапе записи файла на диск. Начало программы шифрации, а также проверки контрольной суммы и вторичной шифрации начинается с адреса #5Е9А. Там стоит команда:

5Е9А

JR

Z,#5EB9

Это переход по состоянию индикатора "Запись"/"Чтение". Если это запись (Z=0), то далее идет:

5Е9С

CALL

#5EFA

Заксорить область состояния игры.

5E9F

LD

HL,#D05A

Начало состояния игры.

5ЕА2

XOR

(HL)

Заксорить 1-ый байт.

5ЕАЗ

LD

(HL),А

5 ЕА4

CALL

#5F0 9

Еще раз заксорить область.

Смело убивайте (забивайте нулем) по этим адресам все коды и у Вас на диск сбросится нормальный файл.

По адресу #5ЕВ9 находится процедура чтения с диска. Она обращается к тем же подпрограммам "ксорки" и для подсчета контрольной суммы. С нею поступаем аналогично.

SCEPTRE OF BAGDAD

ИФК: Некоторые советы по этой игре уже были опубликованы в РЕВЮ-92, № 3-4 (стр. 86). Но многие читатели испытывают трудности в прохождении игры. Для них могут пригодиться советы нашего читателя Царева А.В. из Нижнего Новгорода.

КОРР: Лампа стоящая на столе в начальном экране, дает советы, если её потереть тряпкой.

Не верьте совету о том, что тряпку лучше нести с собой - она мешает (занимает место). А нужна она только для того, чтобы потереть лампу. Поэтому тряпку лучше оставить рядом с лампой.

Женщине, которая просит прибраться, принести каску, и она уйдет, оставив проход. Идти туда, но прежде -найти ключи. В конце прохода стоит шкаф. "Открыть" его и выйти на улицу.

Между двумя пальмами встать на площадку и нажать "вход". Взять там канат и идти назад. Взять вместо каната (пока) флейту и лететь за море, пользуясь "AIR BAGDAD" .

Зайдите с флейтой в лагерь и поднимитесь по веревке наверх. Выйдите на крышу, прыгните на птицу и окажетесь на небесах. Возьмите там крылья птицы, но ни в коем случае не оставляйте там флейту. Выйдя оттуда, перепрыгните гнездо и идите дальше по крыше. Упадет осиное гнездо и из него вылетит оса. Осу можно поймать сачком и убить паука в одной из комнат.

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

Взять там тупой ствол, оставив ненужный предмет (только не кокос). Спуститься в фонтан, взять рыбу-шлем, идти обратно в пустыню и прыгнуть в источник. Заменить кокос на зеркало. С зеркалом идти во дворец и показать его Медузе Горгоне. Она исчезнет.

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

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

Вытащить машинную ось из колеса и, перелетев через море, починить механизм в фонтане. Опустить перекидной мост. За ним лежит куча горящих углей. Пройти можно в тапочках. Дальше взять сломанного мальчика (почему-то больше похожего на четверть круга). Найти веник. С ним колдун, стоящий за шкафом, пропустит Вас. У колдуна взять лампу.

ИФК: Наш корреспондент сообщает, что это - около 90% игры. Он просит сообщить, как быть дальше.

ИФК: Наш корреспондент из Брянска Александр Чеботарев просит помощи у тех, кто прошел игру LAST NINJA 2 - как в предпоследней части сесть на вертолет?

КОРР: Я кручусь возле его лестницы, и прыгаю, но ничего не помогает - вертолет улетает, или я гибну. Может, надо что-то взять раньше? Если да, то, что и где?

И ещё. Есть хорошая игрушка - HAMMERFIST. В последнем, третьем уровне, в верхней комнате нет входа -появляется сообщение, что вход разблокирован, а его нигде нет (хотя должен быть в одном из трех возможных мест). Если кто-нибудь знает об этом - откликнитесь. Я сам поделюсь своими знаниями. Мой адрес:

241022, г. Брянск, ул. Клары Цеткин, 29, кв.62. Чеботареву Александру.

ИФК: Если верить описанию игры LAST NINJA 2, опубликованному в сборнике "Лучшие игры" 1 выпуск (С.Петербург, 1994), то выход из предпоследнего, четвертого уровня не на вертолете, а при помощи лифта. К лифту можно пройти, отравив собаку костью, предварительно пропитанной ядом. Чтобы воспользоваться лифтом, надо применить пластиковую карточку.

Любопытная деталь: на пятый уровень игрок попадает, вися на вертолете. Может быть, описание не полностью освещает этот вопрос, или речь идет о разных способах проникновения на последний уровень. Надеемся, наши читатели смогут внести ясность в этот вопрос.

ИФК: Уточнение по поводу описания к игре OCEAN CONQUEROR сообщает Дмитрий Глотов из Н.Новгорода.

КОРР: В РЕВЮ № 2 на стр. 70 сказано, что поворот перископа клавишами 1 и 2 выполняется очень медленно. Однако если нажать CAPS SHIFT вместе с клавишами 1 или 2, то поворот будет происходить значительно быстрее.

ИФК: Наш читатель из г. Сатка, Симанович В.Н., автор описания к игре "MAGNETRON", просит откликнуться всех, кому что-либо известно об игре MICRO SURGEON.

А Александр Шарапов из Уфы задает очень интересный вопрос. Есть ли такие программы (и если есть, то где их взять?) в которые можно играть вдвоем по телефону через модем?

О таких играх мы не слышали, возможно, здесь помогут наши читатели.

ИФК: Сергей Трифонов из Красноярска отвечает на просьбу одного из наших читателей и дает POKES для

игр:

TERRAMEX

43516,0 60503,0 60514,0 61100,0

EXPRESS RAIDER

сила жизнь время

ИФК: Наши читатели систематически присылают нам пароли к игре STORMLORD, и всё время - разные. Такое обилие разных паролей к этой игре объясняется тем, что программа выдает их (пароли) в зависимости от набранных очков и количества спасенных душ. Причем, в зависимости от версии игры, пароли могут не соответствовать друг другу.

ИФК: Короткое А.Б. с друзьями из г. Воронежа прислал нам огромный труд по программе HEROQUEST, но мы, к сожалению уже опубликовали работу по этой программе в сборнике ZX-FORUM. В то же время, у них есть проблема с компьютером "КВАНТ", выпускаемым в Москве. Компьютер очень неплохой, но при нем нет ни принципиальной, ни монтажной схемы, а это затрудняет дальнейшее развитие. Может быть, кто-то, кто может

поделиться та кой информацией, напишет по адресу:_

394033, г. Воронеж, пер. Гвардейский, д.2, кв.47, Короткову А.В._

ИФК: Фомин Илья из Чувашии обращается ко всем читателям с просьбой помочь ему с методикой подсоединения клавиатуры УКНЦ к "Спектруму". Она имеет массу клавиш, на которые можно "навесить" много функций и последовательностей, да и найти её нетрудно._

429300 Чувашия, г. Канаш, ул. Лесная д.33. Фомин М.А.

* * *




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
От редакции - Интерфейс.
Обратная связь - контакты редакции.
IBM - 9600 бод и все-все-все...
Tech.Support - Если бы люди вoдили aвтoмoбили тaк же, кaк oни paбoтaют нa кoмпьютеpaх...
Ликбез - полный дизассемблеп ПЗУ TR-DOS'a.

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