ZX-Ревю 1996 №3 1996 г.

Форум - Обзор программ, приёмов программирования и игр.


ФОРУМ

В третьем номере ZX-FORUM была опубликована статья, посвященная пакету Laser Genius. В предисловии к статье Илья Фомин пишет: ".наконец попали мне в руки неизвестно кем созданные бумажки, текст которых я и набрал.".

Автор этого описания, а точнее "Отжатой информации по Ассемблеру и Монитору из пакета Laser Genius" - Кирилл Мурзин, о чём было довольно большими буквами написано на обложке. Впрочем, допускаю, что именно титульный лист где-то "затерялся". Владимир Ларьков, на которого ссылается Илья, в свою очередь сослался на другого человека, а дальше след теряется. Я это к тому, что в дисковой версии пакета указан мой телефон и прежде, чем отправлять что-то куда-то можно было бы и позвонить.

История появления этого описания достаточно забавна. В книге "ZX Spectrum для пользователей и программистов", мы с Колей Родионовым написали, что не смогли обнаружить в Союзе полную копию пакета. После этого к нам в издательство и позвонил Кирилл, сообщив, к нашей радости, что давно этим пакетом пользуется. А сам пакет он нашел в 272 средней школе Ленинграда (сейчас это лицей), в которой был установлен компьютерный класс на базе фирменных ZX Spectrum.

Полное описание пакета составляет около 160 страниц мелкого английского шрифта и не существует на магнитном носителе. У нас возникало желание перевести и издать описание, но, к сожалению, в то время не нашлось издателя (оцените объём работы!), а сейчас пакет уже несколько устарел (хотя, если удастся обнаружить версию для 128 Кб машины, может станется, ещё не всё потеряно, посмотрим не повторится ли история?).

Кстати, знаете ли Вы, что в одной из дисковых версий монитора можно, с некоторыми ограничениями, трассировать команды из ПЗУ TR-DOS?

Я надеюсь, что это письмо восстановит "историческую справедливость".

ИФК: Интересное письмо пришло к нам из г. Тольятти от группы VOLGA Soft. Впрочем, предоставим слово самим авторам письма "Кое что о HALT и скорости Z-80"

КОРР: Всем известно, что у Z-80 имеется такая команда как HALT. HALT служит для синхронизации программ, работающих с экраном. Что же происходит после подачи HALT? А происходит вот что: процессор начинает ждать прихода сигнала INT, выполняет прерывание, и после этого продолжается работа программы. Но это ещё не всё. После прихода сигнала INT, микросхема ULA начинает формировать экран последовательно, линию за линией, причём начинает делать это с верхней части бордюра. (Замечаете, что это может нам дать?), Как известно промежуток между прерываниями около 1/50 секунды т.е. около 70000 тактов процессора. Причём, у различных компьютеров это время разное. (У Pentagon-a больше 70000 тактов, а у ATM-TURBO - меньше, чем 70000 тактов). Есть также различие в том, что ULA пробегает линию экрана почти на всех компьютерах за 224 такта. Но иногда, правда, встречаются компьютеры, в которых ULA делает это за 217 тактов процессора.

ФОРУМ

О к о л

0

1 О О О О

т а к т о в

BORDER

х о Д

и

L А

224 (217) тактов

А теперь представьте себе: мы подали команду HALT, сделали небольшую задержку (чтобы ULA вырисовала все линии до 1-го знакоместа экрана в 1-й строке) и начинаем синхронно выдавать цвета в область атрибутов экрана перед ходом ULA. И если до Вас "дошло", то Вы только что поняли научную сторону создания MULTICOLOR-а. А теперь несколько советов по работе с экраном:

1. Графику лучше всего выводить самой первой после HALT-а и желательно делать это максимально быстро, т.к. ULA может "догнать" вас и тогда начнут пропадать вверху спрайты и возникать другие подобные эффекты, а Вы будете думать, что у Вас "глюки" в программе.

2. На прерывания лучше ничего не "вешать", т.е. поставить там RET. Для такой подпрограммы прерывания удобнее всего записывать в регистр I число 59, а по адресу 65535 записать код #C9 (RET).

ИФК: Следующее письмо пришло из города Самары от Дмитрия Булавина. В нём он рассматривает вопрос, который был, есть и будет, пока существует компьютеры "ZX-SPECTRUM" - вопрос о компрессии и, соответственно, декомпрессии экрана. Сколько уже было публикаций на эту тему, сколько споров. И когда, казалось, что вот он - идеальный метод (естественно только для определенного типа экрана, т.к. мы уже говорили о том, что эффективность компрессии зависит от того какой графикой заполнен экран), как приходит очередное письмо с новой разработкой, и наши иллюзии относительно предыдущего варианта, как единственного и окончательного, рассыпаются в пыль и прах. В "ZX-РЕВЮ" 1993 г. на странице 59 была опубликована программа компрессии, которая позволяла уменьшить длину компрессированного блока на 10-20% относительно предыдущих версий. И вот новое письмо, и новая программа, и новые рекорды. Дмитрий добился того, что размер компрессированного блока стал короче ещё на 10-20%, и это не предел! Итак, вот что он нам пишет:

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

Я предположил, что выгоднее компрессировать экран не по линиям, а по знакоместам, т.е. сначала 8 байтов 1-го знакоместа, затем 8 байтов следующего и т.д. Так получается, что 1-ый байт 1-ого знакоместа сравнивается со 2-ым, 2-ой с 3-им, ... , 8-ой с 1-ым байтом следующего

ФОРУМ

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

3943 и 3671 2800 и 2503 5272 и 4464 3879 и 2998 4451 и 3285 3229 и 2850 2678 и 2356 4854 и 4359 4852 и 4236

"DEAD STAR"

"CAULDRON"

"SCOOBY DOO"

"SABOTEUR"

"EXOLON"

"RIVER RAID"

"PENTAGRAM"

"SABOTEUR 2"

"GLADIATOR"

"BARBARIAN"

6184 и 5280

Как видно из результатов, усовершенствованный вариант компрессора позволяет получить длину на 10-20%, а в некоторых случаях даже на 30%, меньшую, чем у компрессора Александра. Правда, усовершенствованный компрессор работает медленнее, и заметно как экран разворачивается сверху вниз (приблизительно за 0.3 секунды). Но в некоторых случаях такая развертка экрана даже усиливает зрительный эффект.

ИФК: Далее эта программа будет приведена в двух вариантах: в мнемониках ассемблера и как набор кодов с применением команды "DATA" бейсика.

1;

COMPRESSOR 2,

(c) 1995

2

ORG

32538

3

ENT

$

4

LD

IX,16384

5

LD

DE,6912

6

LD

A,255

7

8

SCF CALL

1366

9

LD

HL,16384

10

LD

BC,6912

11

LD

DE,32768

12

PUSH

DE

13

DEC

DE

14

CL0

INC

DE

15

CL1

LD

A,B

16

OR

C

17

JR

Z,END1

18

LD

A, (HL)

19

LDI

20

CALL

CCALC

21

CP

(HL)

22

JR

NZ,CL1

23

DEC

C

24

INC

C

25

JR

NZ,CL2

26

DEC

B

27

INC

B

28

JR

Z,END1

29

CL2

LD

(DE),A

30

INC

DE

31

EX

AF,AF'

32

LD

A, 0

33

CL3

INC

A

34

JR

Z, CL0

35

LD

(DE) , A

36

INC

HL

37

DEC

BC

38

CALL

CCALC

39

DEC

C

40

INC

C

41

JR

NZ, CL4

42

DEC

B

43

INC

B

44

JR

Z, END2

45 CL4

EX

AF,AF'

46

CP

(HL)

47

JR

NZ, CL0

48

EX

AF,AF'

49

JR

CL3

50 END1

DEC

DE

51 END2

LD

A,(DE)

52

CPL

53

INC

DE

54

LD

(DE) , A

55

EX

DE, HL

56

POP

DE

57

XOR

A

58

SBC

HL, DE

59

LD

C,101

60

ADD

HL, BC

61

PUSH

HL

62

POP

BC

63

INC

BC

64

RET

65 CCALC

PUSH

AF

66

LD

A, B

67

CP

3

68

JR

C, CEXT

69

DEC

HL

70

INC

H

71

LD

A, C

72

AND

7

73

CP

0

74

JR

NZ, CEXT

75

PUSH

DE

76

LD

DE,63489

77

LD

A, C

78

CP

0

79

JR

NZ,CEXIT

80

LD

A, B

81

AND

7

82

CP

3

83

JR

NZ,CEXIT

84

LD

D,255

85 CEXIT

ADD

HL,DE

86

POP

DE

87 CEXT

POP

AF

88

RET

89

CALL

124

90

DEC

SP

91

DEC

SP

92

POP

HL

93

LD

DE,63

94

ADD

HL, DE

95

LD

D, H

96

LD

E, L

97

LD

BC,65515

98

ADD

HL, BC

99

LD

(HL),E

100

INC

HL

101

LD

(HL),D

102

LD

BC, 11

ФОРУМ

ZX-РЕВЮ 96/3 ФОРУМ

103

ADD

HL, BC

104

LD

(HL),E

105

INC

HL

106

LD

(HL),D

107

LD

C,46

108

ADD

HL, BC

109

LD

BC,6912

110

LD

DE,16384

111

DL0

LD

A,B

112

OR

C

113

RET

Z

114

LD

A, (HL)

115

LDI

116

CALL

DCALC

117

CP

(HL)

118

JR

NZ,DL0

119

INC

HL

120

PUSH

HL

121

LD

H, (HL)

122

DL1

LD

(DE),A

123

INC

DE

124

DEC

BC

125

CALL

DCALC

126

DEC

H

127

JR

NZ,DL1

128

POP

HL

129

INC

HL

130

JR

DL0

131

DCALC

PUSH

AF

132

LD

A, B

133

CP

3

134

JR

C, DEXT

135

DEC

DE

136

INC

D

137

LD

A, C

138

AND

7

139

CP

0

140

JR

NZ,DEXT

141

PUSH

HL

142

LD

HL,63489

143

LD

A, C

144

CP

0

145

JR

NZ,DEXIT

146

LD

A, B

147

AND

7

148

CP

3

149

JR

NZ,DEXIT

150

LD

H, 255

151

DEXIT

ADD

HL,DE

152

EX

DE, HL

153

POP

HL

154

DEXT

POP

AF

155

RET

Длина блоков кодов 230 байт, из них процедура компрессии занимает 129 байт и начинается с адреса 32538, процедура декомпрессии занимает 101 байт и начинается с адреса 32667.

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

10 GO TO 5 0 2 0 CLEAR 32 000

30 FOR N=32538 TO 32767: READ M: POKE N,M: NEXT N

ФОРУМ

40 RUN

50 CLS : PRINT AT 5,1;"<1>- ЗАГРУЗКА ЭКРАНА С ЗАГОЛОВКОМ"

60 PRINT AT 7,1;"<2>- ЗАГРУЗКА ЭКРАНА БЕЗ ЗАraЛОВКА";TAB 7;"С КОНТРОЛЕМ СЧИТЫВАНИЯ " 70 PRINT AT 10,1;"<3>- ЗАГРУЗКА ЭКРАНА БЕЗ ЗАГОЛОВКА";TAB 7;"БЕЗ КОНТРОЛЯ СЧИТЫВАНИЯ" 80 PRINT AT 13,1;"<4>- ВЫГРУЗКА ЭКРАНА" 90 PRINT AT 15,1;"<5>- ПРОСМОТР ЭКРАНА"

100 PAUSE 0: IF INKEY$<>"1" AND INKEY$<>"2" AND INKEY$<>"3" AND INKEY$<>"4" AND

INKEY$<>"5" THEN GO TO 100 110 LET I$=INKEY$

120 CLS : IF I$="4" THEN GO TO 220 130 IF I$="5" THEN GO TO 250

140 PRINT #1;TAB 11; FLASH 1; BRIGHT 1;"ЗАГРУЗКА "

150 IF I$="1" THEN LOAD ""CODE 16384,6912: LET L=USR 32551

160 IF I$="2" THEN PRINT 32549,2: POKE 32550,8: LET L=USR 32538

170 IF I$="3" THEN POKE 32549,86: POKE 32550,5: LET L=USR 32538

180 INPUT ;: PRINT #0; FLASH 1; BRIGHT 1;"ДЛИНА ";L

190 BEEP .1,20: PAUSE 0

2 00 PRINT AT 7,6;" ВЫГРУЗКА ?(Y/N)"

210 PAUSE 0: IF INKEY$<>"Y" AND INKEY$<>"y" THEN GO TO 50 22 0 PRINT AT 21,0;"ИМЯ ФАЙЛА :": INPUT F$ 230 SAVE F$CODE 32667,L 240 GO TO 50

250 POKE 32670,33: POKE 32671,155: POKE 32672,127: RANDOMIZE USR 32670: POKE 32670,59: POKE 32671,59: POKE 32672,225 PAUSE 0: GO TO 50

DATA 221,33,0,64,17,0,27,62,255,55,205,86,5 DATA 33,0,64,1,0,27,17,0,128,213 DATA 27,19,12 0,177,40,46,12 6,237,160,205 DATA 118,12 7,190,32,243,13,12,32,4,5 DATA 4,40,29,18,19,8,62,0,60,40 DATA 226,18,35,11,205,118,12 7,13,12,32 DATA 4,5,4,40,8,8,190,32,208,8 DATA 24,2 32,27,26,47,19,18,235,209,175 DATA 237,82,14,101,9,229,193,3,201,245 DATA 12 0,254,3,56,29,43,36,121,230,7 DATA 254,0,32,20,213,17,1,248,121,254 DATA 0,32,9,120,230,7,254,3,32,2 DATA 22,255,25,209,241,201 DATA 205,12 4,0,59,59,225,17,63,0,25 DATA 84,93,1,235,255,9,115,35,114,1 DATA 11,0,9,115,35,114,14,46,9,1 DATA 0,27,17,0,64,12 0,177,200,12 6,237 DATA 160,205,218,12 7,190,32,244,35,229,102 DATA 18,19,11,205,218,12 7,37,32,247,225 DATA 35,24,228,245,12 0,254,3,56,30,27 DATA 20,121,230,7,254,0,32,21,229,33 DATA 1,248,121,254,0,32,9,12 0,230,7 DATA 254,3,32,2,38,255,25,235,225,241,201

ИФК: К сожалению, данная программа позволяет вводить экранный файл только с магнитофона, однако для работы с дискетами потребуются совсем незначительные изменения.

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

ИНФ: Большое письмо пришло к нам от А.Астафьева (Alex Rider) из Новосибирска. В частности, в нем была затронута тема демомейкерства (новое слово?). Итак, слово уважаемому корреспонденту:

КОРР: "Хочу высказать несколько слов по поводу демомейкерства. Мне абсолютно непонятно, почему журнал, да и сами читатели проявляют неприязнь к DEMO - программам и самим DEMO - кодерам. Может это зависть? Но ребята, давайте же жить дружно! Я сам

260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 420 430 440 450 460 470 480 490

ФОРУМ

демомейкер и мне крайне неприятно наблюдать реакцию начинающих программистов. Все вы упускаете одну вещь: Демостроение способствует общему прогрессу и повышению технологии программирования на Speccy и не только на нём. Приведём примеры. Самым простым примером является то, что читатели "копают" демо-программы, отсылают отдельные решения из них в РЕВЮ, а РЕВЮ их публикует. Давайте вспомним SHOCK MEGADEMO, испытывая который, многие начинающие программисты становятся более-менее искушенными в вопросах спрайтовой графики - ибо польский SHOCK вместе с LYRA II являются замечательным примером использования спрайтовой техники. Давайте вспомним INSULT и SATISFACTION, где чуть-чуть наклёвываются 3-мерные преобразования и впервые применена технология формирования MULTICOLOR - картинок. Или, может быть, наши Flech-демо, которые дали возможность услышать более-менее полноценный WAVE-звук и многих заставили собрать себе COVOX!

Это не является ли поводом для уважения? Да, я отдаю себе отчёт в том, что, наряду с кристаллами программистской технологии, существуют и отбросы - примитивные бегущие строчки с музыкой (ползущие, прыгающие, мигающие, косящиеся), всякие разборки, мат и ругань. Но заметьте - к настоящим DEMO это не имеет никакого отношения. Совсем другое дело -интересные решения или хотя бы великолепная музыка и графика.

Так что судить DEMO довольно-таки опрометчиво. Тот, кто не прошел через DEMO, никогда не будет писать классных вещей. Будет только масса едва работающего, тормозного и убогого барахла, которое мы на данный момент и имеем. Так что пишите великолепные DEMO! На худой конец, "копайте" их!

Кстати, демомейкерам могу дать один великолепный совет - пишите файлы-исходники своих решений. Их можно, как я это делаю, архивировать в один архив и выпускать вместе с DEMO. Таким образом, Вы будете способствовать общему прогрессу на SPECCY и обучению слабых, начинающих программистов. Такие исходники называются SOURSE - файлами и включают в себя текст на ассемблере, музыкальный файл в формате музыкального редактора, графику и, конечно же, текстовый файл. Все это ОБЯЗАТЕЛЬНО необходимо заархивировать и сделать в виде одного (ОБЯЗАТЕЛЬНО!) самораспаковывающегося файла. Кстати, если использовать текст программы в формате TASM 128, то все необходимые тексты можно набить, загрузив русский фонт в сам TASM (не забудьте включить фонт в архив). Таким образом, я предлагаю стандарт SOURSE - файлов: пишите их в TASMе (ИФК: посмотрите ещё новый MASM 128), делайте тщательные пояснения на русском, архивируйте всё в самораспаковывающийся файл и сопровождайте им свои "крутые" идеи и эффекты!"

ИФК: Если отбросить крайнюю точку зрения автора относительно невозможности сделать что-нибудь путное, если ты никогда не писал DEMO (таких примеров сколько угодно), то со всем остальным мы полностью согласны. Никогда мы не относились с неприязнью к DEMO, как к виду деятельности.

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

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

ФОРУМ

заполонили все информационное пространство, вызывая естественное отвращение у всех нормальных людей и дискредитируя саму идею.

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

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

Присылайте свои предложения по этому поводу, редакция ZX РЕВЮ постарается их обобщить и вынести на всеобщее обсуждение и утверждение свод обязательных и желательных правил для создания демонстрационных программ.

Кроме того, мы гарантируем авторам тех DEMO, которые отвечают всем требованиям, поддержку и распространение их по нашим каналам.

Одним словом, напишите нам, что Вы думаете по этому поводу.

ИФК: Алексей из поселка Корнеево, Курской области (к сожалению, он не указал свою фамилию), пишет:

КОРР: Для владельцев "ART STUDIO", кассетная версия, состоящая из заставки + два блока кодов, последний из которых загружается непосредственно в экранную память, для нормальной работы с этой версией достаточно лишь основного блока, если вход в программу производится с адреса 55242. При этом меню будет не видно. Но достаточно "вслепую" выполнить VIEN SCREEN, положение нормализуется.

ИФК: Также он привёл несколько POKES из ART STUDIO для блока 30464,35071:

35732 - цвет главного меню;

57236 - цвет символов и экрана (FONT EDITOR);

57240 - цвет BORDER;

57323 - цвет меню;

42595 - опция STANDART - цвет PAPER;

42590 - цвет INK;

34810,54-1

34811.55

34812,57

34813.56

34814,48J

ИФК: Дмитрий Лабудин из г. Дзержинска предлагает доработку программ MONS 3 и GENS 3.

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

Для доработки MONS^ 3 необходимо набрать в каком-нибудь ассемблере следующую программу:

; LABUTIN DMITRIY

SINCLAIR INTERFACE II.

ORG

30000

LD

A, #18

LD

(BC),A

INC

BC

LD

A, #28

LD

(BC),A

LD

HL,#000C

ADD

HL, BC

PUSH

HL

ФОРУМ

POP BC

Затем отассемблируйте эту программу и вернитесь в бейсик. Загрузите MONS 3 командой LOAD "MONS 3" CODE 30013 и выгрузите командой SAVE "MONS 3.1" CODE 30000,5773.

У Вас на кассете получена версия этой программы, но уже без данного недостатка. С какого бы адреса Вы не загрузили монитор, можете запускать его с этого же адреса сколько угодно.

Для того чтобы доработать GENS 3, нужно всё сделать точно также, только вместо строки: ld A, #28, необходимо набрать: ld a, #48 и выгрузить командой: SAVE "GENS 3.1" CODE 30000,8368.

Предлагаю также программу на бейсике, которая все это делает автоматически:

10 CLEAR 29999

20 FOR I=30000 TO 30012: READ A: POKE I,A 30 NEXT I 40 CLS

5 0 PRINT "ЧТО БУДЕМ ПЕРЕДЕЛЫВАТЬ ";AT 5,10;" MONS3 m"; AT 7,10;" GENS3 g"

60 LET A$=INKEY$

70 IF A$="" THEN GO TO 60

80 IF A$="m" OR A$="M" THEN LET A$="MONS3": 90 IF A$="g" OR A$="G" THEN LET A$="GENS3": 100 GO TO 60

200 CLS : PRINT "ЗАГРУЖАЙТЕ";А$ 210 LET A$=A$+".1"

220 LOAD ""CODE 30013: SAVE A$CODE 30000,A 230 GO TO 40

240 DATA 62,24,2,3,62,40,2,33,12,0,9,229,193

ИФК: Павел Ковалевский (Smith CODER) из г. Нижневартовска прислал программу, которая позволяет считывать данные из системных портов DOS.

КОРР: Во всех изданиях о TR-DOS я находил информацию только о записи данных в системные порты DOS, а о чтении их либо не говорилось, либо утверждалось, что сделать это практически невозможно. В принципе, это все правильно, но все же вытащить данные из TR-DOS можно и довольно просто. Да, действительно, в DOS нет прямой команды IN A, (C) и RET, и считать порт просто не получится. Но можно обмануть процессор, используя im 2, который генерирует прерывания 50 раз в секунду.

Для этого ждем когда до генерации прерывания остается несколько тактов и передаем управление DOS в любую точку, где есть IN H, (C) или подобная команда. После того, как процессор выполнит команду IN H, (C) , он переходит на следующую, вот тут-то происходит прерывание, и, в итоге, у Вас в регистре H данные из порта #3F.

POKE 30005,40: LET A=5773: POKE 30005,72: LET A=8368:

GO TO 200 GO TO 200

DOS

ORG

25000

LD

IX,16115

;

АДРЕС КОМАНДЫ IN H,(C)

LD

BC,#3F

;

СИСТЕМНЫЙ РЕГИСТР

CALL

DOS

RET

LD

(COC+1),SP

ЗАПОМИНАЕМ СТЕК

PUSH

IX

;

PUSH

HL

ЗАПОМИНАЕМ ИЗМЕНЯЕМЫЕ РЕГИСТРЫ

PUSH

DE

PUSH

AF

;

LD

A,201

LD

(65535),A

LD

A,59

;

УСТАНАВЛИВАЕМ РЕЖИМ IM2 ДЛЯ ПРАВИЛЬНОГО

LD

I,A

IM

2

EI

HALT

;

НАЧАТЬ ОТСЧЕТ

DI

LD

HL,MET

LD

(60927),HL

;

237*256+255

LD

A,237

;

УСТАНАВЛИВАЕМ АДРЕС ДЛЯ ВОЗВРАТА В MET

ФОРУМ

XOX AS

MET COC

LD

I,A

IM

2

EI

LD

DE,2751

DEC

DE

LD

A, D

OR

E

JR

NZ, AS

POP

AF

POP

DE

POP

HL

JP

15664

DI

LD

SP, 0

IM

1

EI

RET

; СЧЁТЧИК

ВОССТАНАВЛИВАЕМ РЕГИСТРЫ КРОМЕ IX

ВЫХОД В DOS

; ВОЗВРАТ. В РЕГИСТРЕ H ДАННЫЕ СИСТЕМНОГО РЕГИСТРА #3F

ИФК: Алексей Васильев из г. Скалистый выносит на суд читателей свой компрессор текстов.

КОРР: После прочтения в ZX-РЕВЮ 95 о методах компрессии, я придумал свою компрессию. В основном эта программа подходит для сжатия текстов и цифровой информации, но я думаю, что ей найдется и иное применение.

Теперь о самой сути идеи. При размещении в памяти компьютера текстов, в нее записываются коды в диапазоне [32;125]. Допустим, мы не будем использовать строчные буквы. Тогда диапазон сокращается - [32;95]. Теперь мы точно знаем, что в нашем тексте символ "-" будет наибольшим по его коду. Посмотрим, что представляет из себя код 95 в двоичной форме. Мы получим 01011111. Можно увидеть, что левый, 7 бит нигде не будет использоваться. Получается, что он как бы лишний.

Как известно, коды текста начинаются с 32. Вряд ли кто будет использовать коды с 0 по 31. А что, если переписать наш диапазон кодов [32;95] в начало. Мы будем просто брать из памяти код и уменьшать его на 32.

Теперь у нас максимальный код будет не 95, как раньше, а 95-32=63. Если посмотреть что представляет из себя 63 в двоичной форме, мы увидим, что экономятся 2 байта. (63=00111111). А что если просто пропускать "неиспользующиеся" 2 бита? Получается экономия места. В этом и есть суть моей компрессии. Может быть, она покажется кому-нибудь "слабенькой". Но зато у неё есть преимущества. Даже то, что коэффициент сжимаемости постоянен. Можно точно рассчитать требуемую память.

Ниже приводятся листинги компрессора и декомпрессора. В них не происходит вычитания из кодов 32, что позволяет использовать весь арсенал символьного набора.

Компрессор:

X

XL LOOP

LD

HL,ADR

;

откуда (начало блока)

LD

DE, ADR1

;

куда размещать сжатый блок

LD

BC,LARGE

;

длина нашего блока

PUSH

BC

PUSH

DE

DEFB

7

;

длина (количество "используемых" бит)

DEFB

8

;

в байте 8-ой бит

LD

A,(HL)

;

в А - код

RRA

;

сдвигаем

RL

B

LD

(HL),A

;

сдвинутый байт сохраним

LD

A, (X)

DEC

A

;

уменьшаем X, чтобы знать, сколько бит

LD

(X) , A

CP

0

JR

NZ,CONT

;

если еще не 0 - идем дальше

INC

HL

;

увеличиваем адрес

LD

A, 7

;

восстанавливаем X

ФОРУМ

CONT

X

XL LOOP

CONT

LD

(X) ,A

LD

A,(XL)

DEC

A

;

уменьшаем XL, чтобы знать сколько

LD

(XL) , A

CP

0

JR

NZ, LOOP

;

если не 0 - все сначала

LD

A, 8

;

восстановим XL

LD

(XL),A

POP

DE

LD

A, B

LD

(DE) , A

;

в (DE)-"скомпрессированный" байт

INC

DE

POP

BC

DEC

BC

;

уменьшаем длину

LD

A, B

;

проверка на 0

OR

C

RET

Z

;

если 0 - выходим

PUSH

BC

PUSH

DE

JR

LOOP

Длина блока 63 байта.

Декомпрессор:

LD

HL,ADR

;

откуда

LD

DE,ADR1

;

куда

LD

BC,LARGE

;

длина блока до сжатия

PUSH

BC

PUSH

DE

DEFB

8

DEFB

7

LD

A,(HL)

RLA

;

сдвигаем

RL

B

LD

(HL),A

LD

A, (XL)

DEC

A

LD

(XL) , A

CP

0

JR

NZ,CONT

LD

A, 8

LD

(XL) , A

INC

HL

LD

A, (X)

DEC

A

LD

(X) , A

CP

0

JR

NZ,LOOP

LD

A, 7

LD

(X) , A

LD

A, B

POP

DE

LD

(DE) , A

INC

DE

POP

BC

DEC

BC

ИФК: Владимир Зореев (ULTRASOFT) пишет нам:

КОРР: Здравствуй "Инфорком"! Я хочу предложить процедуру печати спрайта с точностью до пикселя, которая аналогична опубликованной в статье Вадима Бодрова "Графика вашего компьютера" (ZX-РЕВЮ 95/4), но по скорости превосходит её на порядок! Этого я добился благодаря применению оригинального алгоритма, придуманного мной. Печать спрайта выполняется не попиксельно, а побайтно, при помощи регистровой пары. Это выглядит примерно так:

ФОРУМ

1. Вычисляется адрес верхнего левого угла спрайта в экране и номер пикселя в байте экрана по этому адресу.

2. Байт спрайта впечатывается в регистровую пару со смещением, равным номеру пикселя (операция 1). Например: Номер пикселя = 2.

байт спрайта

регистровая пара

1

0

1

0

1

0

1

0

0

1

2

3

4

5

6

7

8

9

A

В

С

D

E

F

результат

0

1

2

3

4

5

6

7

8

9

A

В

С

D

E

F

байт спрайта

3. Складываем регистровую пару с соответствующими байтами экрана при помощи какой-либо логической операции (OR, XOR, AND), причём для операций "OR и XOR" значения "лишних" битов регистровой пары равны "0", а при "AND" значение этих битов - "1". Это нужно для того, чтобы этими битами не изменять биты экрана, которые с ними складываются. Таким образом, впечатываются только те 8 бит, которые нам нужны. И так последовательно печатается каждый байт спрайта. Вот теперь-то скорость действительно приемлемая!

Вот листинг этой процедуры.

SPRITE OUTPUT 2 (C) ULTRASOFT '1995 SPECIAL FOR INFORCOM

ORG

65005

LD

HL,(#5C0B)

LD

BC,#0004

ADD

HL, BC

LD

D, (HL)

LD

BC,#0008

ADD

HL, BC

LD

E, (HL)

ADD

HL, BC

LD

A, (HL)

LD

(LEN X+1),A

ADD

HL, BC

LD

A, (HL)

LD

(LEN Y+1),A

ADD

HL, BC

LD

A, (HL)

LD

(ADDR+2),A

INC

HL

LD

A, (HL)

DEC

HL

LD

(ADDR+3) , A

ADD

HL, BC

XOR

A

LD

(OPER0+1),A

LD

A, #A7

LD

(L1) , A

LD

A, #B1

LD

(OPER1),A

DEC

A

LD

(OPER2),A

LD

A, (HL)

OR

A

JR

Z, START

CP

1

JR

NZ,O AND

LD

A, #A9

LD

(OPER1),A

DEC

A

LD

(OPER2),A

JR

START

O AND

LD

A, #FF

LD

(OPER0+1),A

LD

A, #37

LD

(L1) , A

LD

A, #A1

LD

(OPER1),A

DEC

A

LD

(OPER2),A

START

LD

A, D

AND

#07

LD

( SHIFT + 1) ,A

ADDR

LD

IX,#0000

LEN Y

LD

B, 0

L3

PUSH

BC

PUSH

DE

LD

A, #BF

SUB

E

LD

C, A

AND

#38

RLCA

RLCA

SRL

D

SRL

D

SRL

D

ADD

A, D

LD

L, A

LD

A, C

RRCA

RRCA

RRCA

AND

#18

XOR

C

AND

#F8

XOR

C

ADD

A, #40

LD

H, A

LEN_X

LD

B, 0

L2

PUSH

BC

OPER0

LD

B, 0

LD

C, (IX+0)

SHIFT

LD

A, 0

OR

A

JR

Z,CONT

L1

AND

A

RR

C

RR

B

DEC

A

JR

NZ, L1

CONT

LD

A, (HL)

OPER1

OR

C

LD

(HL),A

INC

HL

LD

A,(HL)

OPER2

OR

B

LD

(HL),A

INC

IX

POP

BC

DJNZ

L2

POP

DE

ZX-РЕВЮ 96/3 ФОРУМ

ФОРУМ

DEC E

POP BC

DJNZ L3

RET

ИГРЫ

ИФК: О жучке в программе RENEGADE рассказывают нам Андрей Рубин и Сергей Колесников (Digital Duet) из г. Энгельса Саратовской область.

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

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

На третьем уровне предводительницу бандитов легко вывести из строя, если нанести удар в прыжке ногой в тот момент, когда она стремительно побежит на Вас, а потом добить её "с колена".

ИФК: Алексей Новиков из г. Дзержинск, Нижегородской области предостерегает всех владельцев 48-го Спектрума:

КОРР: Игра DIZZY-X+, вскрытая МАХ'ом IWAMOTO не работает на компьютерах с таким объёмом памяти, несмотря на сообщение в бегущей строке - 48/128. Вернее, она будет нормально загружаться и запускаться, но если Вы зайдете в нижние экраны - наверх Вам уже не выбраться - просто экран не будет переключаться. Таким образом, оказывается недоступной верёвка в ветвях дерева. Интересно, это ошибка авторов, или следствие вскрытия?

ИФК: Также Алексей задаёт вопросы по двум играм:

КОРР: По игре MEGABUCKS:

- Зачем нужен венок?

- Как зажечь свет на кладбище?

- Как пройти робота в склепе?

По игре STORMBRINGER:

- Как пройти BEARWOLF^?

ИФК: Г.В. Максименко из г. Рубцовск, Алтайский край рассказывает об игре AZTEC: HUNT OF THE SUN-GOD.

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

Управление:

1 - Поворот влево

2 - Идти вперед

3 - Поворот вправо

4 - Бросить предмет

5 - Взять предмет

6 - Есть или пить

7 - Использовать предмет

8 - Сказать заклинание

9 - Исследование или помощь

0 - отмена предыдущей команды.

J - загрузить игру

S - записать игру

ФОРУМ

Заклинания: PAYNAL, TLALAC, HUITZE, MICLAN, PATECAT, QUETZAL, LAZOL, ZIPETOPEC, HAWAX, TONANTZIN, IXCUTNA, CHANTICO.

Обратите внимание, заклинания соответствуют именам богов и служат для их вызова. Каждому заклинанию принадлежит определенная вещь. Пример: JADE STATUE OF TLALAC -STORM GOD.

Предметы:

JADE STATUE

- нефритовая статуя.

LLAMA

- ???

COMPAS

- компас

COPPER POT

- медный котёл

KEY

- ключ

COB OF MAIZE

- кочерыжка кукурузы

SEED

- семена

BALD EAGLE

- белоголовый орёл

SHIELD

- щит

FEATHER

- перо

JEWELED MASK

- алмазная маска

COYOTE

- койот

GOLDEN TEAR

- золотая слеза

THORN

- ракушка

BAMBOOPIPE

- бамбуковая трубка

ROBE

- мантия

TABLET

- таблетка

POTION

- снадобье

STONE KNIFE

- каменный нож

SNAKE VINE

- змеиная лиана

SLOTH

- лень

FAWN

- фавн

HERB

- трава

Среди объектов, с которыми мы можем оперировать, есть и животные, которых, наверное, нужно принести в жертву богам.

КОРР: Также о DANGER MOUSE IN THE DARK FOREST: Возьмите топор, и разрубите им брёвна на чурки. С помощью чурок спустите лодку на воду.

Найдите кольцо, и отдайте его крабу - взамен получите сонную воду. Дайте горилле перо, и она вас пропустит. Пройти в замок барона вам поможет взрывчатка. Отдайте рыбу коту, и он вас пропустит к пристани.

ИФК: О продолжении этой игры, программе DANGER MOUSE-2 рассказывает наш корреспондент из г. Кисилёвска Кемеровской области — Олег Смолянкин:

КОРР: В этой программе я прочно застрял. Мне удалось открыть склад (STORE) с помощью напильника (FILE). В лабиринте на востоке стоит гроб, наверху в комнате лежит нитка. Окно в этой локации можно открыть с помощью лома (CROWBAR). Из окна я упал на стог сена и нашел иголку. На западе, в лабиринте, стоит огромный паук. Он уйдет, если дать ему нитку. Вот и всё, что удалось мне сделать. В игре много предметов, но их никак не удалось применить.

ИФК: Также Олег просит помощи в программе BULBO:

КОРР: Здесь мне удалось только побродить по локациям. В самом начале можно выбрать спутников (CHOOSE <имя персонажа>) но потом они куда-то исчезают. Что делать дальше?

ИФК: Наш читатель из г. Стерлитамак по имени Виталий сообщает:

ФОРУМ

КОРР: В игре SPACE CRUSADE звание CAPTAIN SENIORIS с четырьмя знаками является последним, так как при этом программа сообщает WELL DONE, YOU HAVE WON THE CAMPAIGN!

ИФК: Ещё одно предположение по поводу таинственных сообщений в программе F-16 COMBAT PILOT высказывает Денис Кравников из г. Ровеньки-5 Луганской области.

КОРР: Хоть я и не имел удовольствия играть в эту игру, но могу точно сказать, что FLY-BY-WIRE - это радиостанция. А слово ROGER, я не знаю, как оно переводится, в авиации означает отзыв, или точнее - подтверждение приёма. Например, первый пилот сообщает по радиосвязи второму пилоту какие-нибудь важные сведения, а второй пилот, в подтверждение того, что он принял сообщение, говорит ROGER! PILOT ONE!

КОРР: И по поводу ELITE: В одном из номеров за 95-й год вы писали о возможности подставить коды слова RAXXLA в отгрузочный блок. Ещё в начале лета такая же мысль пришла мне в голову, и я четыре месяца пробовал найти RAXXLA таким образом. Я подставлял и коды заглавных букв, и строчных и их комбинации - но не добился никаких результатов.

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

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

КОРР: Совет по игре LOTUS ESPRIT TURBO CHALLENGE. Никогда в главном меню не выбирайте автоматический акселератор: поначалу все будет OK, но когда Вы поднимитесь на высокий уровень сложности, Вам придётся участвовать в длинных гонках, требующих дозаправки болида, вот тут-то Вас и ждёт разочарование! Представьте себе: Вы мчитесь к победе, остается последний круг, и Вам нужно заехать в боксы и заправиться. Но, что бы Вы ни делали, Ваш SPECCY жмёт на газ, и Вы проезжаете мимо боксов на полной скорости. А через половину мили у Вас кончается топливо со всеми, вытекающими отсюда, последствиями.

ИФК: Наша инициатива по возможным усовершенствованиям ELITE нашла горячую поддержку у читателей. Вот что предлагает включить в будущие версии Алексей Ваньшов из г. Таштагол Кемеровской области.

КОРР: Приведу основные пункты своей идеи вкратце:

- Захват некоторых планет, которые бы работали на захватчика, а потом на этих планетах можно купить корабль любой марки гораздо дешевле, чем на нейтральных.

- Корабль может получать повреждения, когда пробито защитное поле, а на станции можно отремонтироваться за определенную цену, или купить приспособление типа DAMAGE CONTROL, которое бы следило за повреждениями и постепенно их восстанавливало.

- Формирование военного флота, который можно будет брать с собой в качестве прикрытия.

- Покупка системы автоматического наведения лазеров на противника, или формирователя плазменных торпед, которые не кончаются, а заряжаются.

ИФК: Словарь к игре AFTERSHOCK предоставлен Валентином Сулеймановым, г. Краснодар:

Глаголы:

HELP - помощь

INVE - список

LOOK - осмотреть

QUIT - выход

ФОРУМ

NORT - север

SOUT - юг

EAST - восток

WEST - запад

UP - вверх

DOWN - вниз

LOAD - считать файл

SAVE - записать файл

EXAM - изучить

SEAR - обыскать

SCOR - счёт

TAKE - взять

DROP - бросить

LAY - положить

GIVE - давать

THRO - бросать, метать (камень)

SHUT - закрывать

PRES - нажать

CONN - соединять

REMO - снять

WEAR - одеть

LUBR - смазать

FILL - наполнять

EMPT - опорожнять

DRAI - осушить

HIT - ударить

STRI - ударить

JAB - колоть

POKE - вкладывать

JUMP - прыгнуть

LEAP - прыгать, скакать

CLIM - залезть

SLID - сдвинуть

READ - читать

DRIN - пить

KILL - убивать

ATTA - атаковать

ENTE - войти

SUPP - дополнять

BRAC - скреплять

OPEN - открыть

CLOS - закрыть

STAR - запустить

FIT - подгонять, вставить

DRIV - управлять

SWIT - переключать

EAT - есть

UNLO - отпереть

Существительные:

PLAT - вывеска

NAME - имя

DIAM - бриллиант

BODY

- тело

BODI

- трупы

TANK

- заправщик

OIL

- масло

LION

- лев

CUBS

- львёнок

CAGE

- клетка

MONK

- обезьяна

CHIM

- шимпанзе

FRUI

- фрукты

MEAT

- мясо

SHOP

- магазин

STOR

- универмаг

TELE

- телевизор

TV

- телевизор

GATE

- ворота

BIN

- ящик

BOTT

- бутылка

INSE

- насекомые

CAR

- машина

CARS

- машины

ENGI

- двигатель

STIC

- полка

STAT

- статуя

REPT

- пресмыкающееся

ALLI

- аллигатор

TENT

- навес

BEAR

- медведь

ELEP

- слон

RAMP

- скат, уклон

PARA

- парапет

COLL

- обвал

ROOF

- крыша

STAI

- ступенька

NAIL

- гвоздь

CAP

- кепка

TRUM

- труба

ADVE

- реклама

TUNN

- тоннель

WATE

- вода

GRAF

- надпись

TICK

- билет

LADD

- лестница

DOLL

- кукла

GARD

- сад

SOLD

- солдаты

LOOT

- грабители

RUBB

- булыжники

KIOS

- киоск

PETR

- горючее

FUME

- испарения

DESE

- пустыня

ZX-РЕВЮ 96/3 ФОРУМ

ZX-РЕВЮ 96/3 ФОРУМ

TUMB

- сорняки

HORS

- лошадь

SWIN

- качели

BEAM

- балка

DOOR

- дверь

TREE

- дерево

WEED

- сорняки

WALL

- стена

CHAS

- расселина

KEY

- ключ

DESK

- стол

CHAI

- стул

DISP

- дисплей

SIRE

- сирена

BUTT

- кнопка

VALV

- клапан

FIRE

- огонь

PEN

- ручка

PANE

- панель

BASI

- раковина

WORK

- верстак

PICK

- кирка

TISS

- кусочки тряпки

CABL

- провода

SHAF

- вал, ось

MECH

- механизм

AMBU

- амбулатория

GEES

- гусь

BUNS

- булочки

WIRE

- проволока

PIPE

- труба

SCRE

- отвертка

LIFT

- лифт

RADI

- радио

CEIL

- потолок

MIRR

- зеркало

BENC

- верстак

TORC

- фонарь

ISOL

- рубильник

HAND

- рукоятка

SLUI

- шлюз

SWEE

- конфета

TRUC

- грузовик

BUN

- булочка

WOMA

- женщина

Наречия и предлоги, прилагательные:

WITH - с

BRAC - медный

AT - к

ON - на, включенный

WOOD - деревянный

BROW - коричневый

ZX-РЕВЮ 96/3 ФОРУМ

ACRO

- через

RUST

- ржавый

IN

- в

OUT

- из

NEAR

- возле

RED

- красный

OFF

- отключенный

USIN

- используя

TO

- в, к

ONTO

- на

LITT

- маленький

CIRC

- цирковой

IRON

- железный

OVER

- над

RAG

- тряпичный

INTO

- внутрь

OF

BY

BLUE

- голубой

FROM

- из

ИФК: Дмитрий Шурышев из с. Белый Яр, Хакасия просит нас опубликовать экспертное описание программы F-19 STEALTH FIGHTER. Мы уже опубликовали большое подробное описание этой игры в нашем сборнике ZX-FORUM-3. Любители компьютерных игр и системщики наверняка найдут в этом издании что-нибудь полезное для себя.

ИФК:О "жучке" в игре SPACE TRADER рассказывают Сергей Колесниченко и Андрей Рубин из г. Энгельса Саратовской области.

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

ИФК: На вопрос Максима Лупана о DIZZY 5 (см. ZX-РЕВЮ 95/6) отвечает Евгений Богословский.

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

Пресс не отключается, он создан специально, чтобы казалось, будто через него можно пройти, взяв яблоко. Но звёздочку на прессе взять можно.

Для того чтобы достать предметы, которые находятся под водой, надо найти акваланг (он находится на экране справа от чудовища, которого нужно спугнуть талисманом) и ласты для более устойчивого плавания. Ласты лежат на облаке над каменоломней, т.е. в том месте, где лежат пять волшебных камней.

Камнепад отключается только в том случае, если Диззи не стоит рядом с этим местом.

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

КОРР: Игра KENNY DALGLISH SOCCER MANAGER:

ФОРУМ

Программа имеет "жучок". Выберите пиктограмму BANK MANAGER и возьмите в банке кредит. Затем, покупайте игроков до тех пор, пока долг не превысит Вашу наличность. Теперь отдайте банку все свои деньги плюс ещё один фунт. Не пугайтесь, когда у Вас на счету окажется -9.999.999. После следующего матча знак "минус" исчезнет, и Вы станете миллионером.

GAZZA SUPER SOCCER - Если во время игры нажать клавишу BREAK, матч закончится с текущим счетом.

INTERNATIONAL KARATE 2 - В начале боя нажмите "вверх"+"огонь" - ваш противник будет повержен.

PRESIDENT - Если у Вас проблемы с деньгами, нажмите BREAK и введите LET A=n, где n - количество необходимых вам денег. Затем можно дать команду CONTINUE.

MANCHESTER UNITED - Любого игрока можно купить за 5.250.000.

ANGEL NITO - Если вам не нравится, как складывается гонка, нажмите G.

TIE BREA - Если во время игры нажать сразу на все клавиши, игра закончится с непредсказуемыми последствиями.

DALEY THOMPSON'S OLYMPIC CHALLENGE - Если конструкция вашего KEMPSTON-JOYSTICK^ позволяет одновременно нажимать "влево" и "вправо" (что, правда, маловероятно) то вы обречены, стать чемпионом олимпийских игр.

Меня также интересует, почему в игре PROFESSIONAL TENNIS SIMULATOR компьютер, несмотря на победу над противником, нередко засчитывает Вам поражение. И ещё. Что означает крайняя левая пиктограмма в виде ключа в HEROQUEST?

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

ИФК: В шестом номере РЕВЮ за 1995 год мы описывали стратегию прохождения игры REBEL STAR 1, и поинтересовались, получился у кого-нибудь лучший результат. Вот одно из решений задачи, найденное Александром Шишкиным из г. Тобольск, Тюменской области.

КОРР: Стратегия оказалась простой. Три боевых дроида собираются у входа в цех переработки. Затем они просто прорываются к компьютерному залу, уничтожая лишь близко подошедших ANDROIDS и SENTRY DROID^.

Роботов, находящихся у "Исаака", два дроида отвлекают на себя, а третий входит через боковую дверь, и уничтожает компьютер.

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

Кстати, в программе есть "жучок" - при наложении нескольких противников друг на друга, достаточно убить верхнего, и они все погибнут.

ИФК: О программе KENTILLA рассказывает наш корреспондент из пос. Рефтинский Свердловской области.

КОРР: Если из начальной локации, не заходя в дом и не беря меч у ELVA, пойти на восток, то Вас схватят и кинут в темницу. Чтобы выбраться оттуда, надо:

1. Подождать, пока дверь отопрут, и туда войдет человек с DARK DAGGER, чтобы расправиться с Вами.

2. Теперь быстро выходите из темницы, и закройте её на ключ.

3. Прыгайте с балкона, и проскользните мимо группы убийц. Вы выйдете к месту старта.

Чтобы получить DARK DAGGER, необходимо:

1. После того, как Вы заперли своего палача в темнице и спаслись, заходите в дом.

2. Подождите, пока ELVA даст вам меч.

ФОРУМ

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

4. Откройте темницу и зайдите туда. Прикончите неприятеля.

5. Обыщите труп и возьмите DARK DAGGER.

6. Вернитесь обратно тем же путём.

Советы:

1. Не нападайте на врага, если их в этой локации несколько - они атакуют Вас все сразу, и наверняка победят. Лучше подождать в соседней локации, пока они по одному не пойдут мимо, и уж тогда нападайте!

2. Обыскав локацию LIT CAVERN, можно найти горящий факел (LIT TORCH) И ВЕРЕВКУ (ROPE). Взяв её, Вы не сможете никуда выйти, пока не бросите её, т.к. верёвка к чему-то привязана.

3. Обыскав BLACK RIVER BANK, можно найти сырой мох.

ИФК: Новое об игре FAIRLIGHT сообщает Андрей Тимофеев из г. Лесосибирск Красноярского края.

КОРР: Выложив пять книг в комнате волшебника в башне, Вы увидите, как он превратится в монаха.

А у мешочков с деньгами есть и ещё одно свойство - это Ваша добыча, которую Вы оставляете себе. Чем больше у Вас, их будет при выходе из замка (а их всего пять), тем выше будет оценка Ваших действий. Оценка может изменяться от FAILED до SUCCED).

ИФК: Новое оружие в игре VENOM STRIKES BACK обнаружил Сергей Смирнов из г. Уссурийск.

КОРР: Просматривая программу, я нашел новое вооружение:

ULTRA FLASH MIRAGE LIFTER LAVA SHOT STREAMER

Если в экране перед телепортатором спуститься вниз и пойти влево, включив PENETRATOR, то мы попадем в комнату, где можно взять LIFTER.

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

ИФК: Артем Еремеевский из г. Красноярск интересуется, что делать в игре DIZZY-Yв мире фэнтази, после того, как убьёшь дракона.

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

ИФК: Команда FLAT 50 из Воркуты задаёт вопросы и даёт советы по некоторым

играм:

КОРР: KING ARTHUR'S QUEST: Заклинания Fb, Bq никакого смысла не несут (проверено). Работающих заклинаний всего четыре:

_ФОРУМ_

PELLINOR GAWAIN YWAIN SANGRAIL

Как выяснилось, эта игра имеет догружаемые блоки, которыми наша команда не располагает. То же относится и к игре AZTEC: HUNT FOR THE SUN-GOD.

Игра RAMBO II - После того, как мы собрали всё оружие, отпустили пилота и освободили заложников, появляется вражеский вертолёт. После того, как он в наш вертолёт попадает, мы умираем - это ясно. Но как только мы в него - компьютер зависает. Это просто хамство со стороны американских лётчиков, ведь если прибежать в город, отправляют на войну с вертолётом, сказав, что миссия не закончена.

Сначала мы решили, что игра неправильно взломана или скопирована. Но в теле программы НЕТ никакого текстового сообщения, которое бы указывало на финал (типа CONGRATULATIONS). В чём тут дело?

По игре RAMBO III. Чего мы только не делали, чтобы спасти того, кто сидит в комнате, а на стене то ли рубильники, то ли кнопки. Обошли, нашли и использовали всё, что только можно, но на второй уровень попасть не можем.

Далее, существует ли у нас в стране версия игры PLATTON, чтобы она не висла на втором

блоке?

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

С NAVY MOVES II - вообще беда. Команды бортовому компьютеру, выуженные из различных источников (в том числе и из ZX-РЕВЮ) не дают закончить игру.

BLACK MAGIC - не можем взять последний магический глаз, который лежит на острове. Вода вокруг острова не осушается и не замораживается никакими заклинаниями!

ИФК: Павел Пшенишнюк из г. Сургут Тюменской области интересуется игрой MICRONAUT ONE.

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

ИФК: Также Павел добавляет идеи к усовершенствованию ELITE.

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

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

ИФК: Андрей Михайловский из г. Торез, Донецкой области задает вопрос о DIZZY-X.

КОРР: Я застрял в перевернутой стране. Двигаясь влево, я дошел до края и взял сушеную рыбу. Взяв у крестьянина рупор и дойдя до замка, я крикнул в рупор, и мост опустился. Из замка второго выхода нет. Что делать дальше?

ФОРУМ

ИФК: Найдите в деревне, за одним из заборов, язычок для колокола. Позвонив с его помощью в колокол в замке, Вы откроете второй выход.

КОРР: По DIZZY-Y: Я застрял в огненном зале. Я взял маленький белый камень на экране, где был драконид. Выложив этот камень неподалеку от костров, я запрыгнул на левый уступ, но мне не удалось выпрыгнуть на самый верх. Помогите!

ИФК: Андрей, Вы сделали все правильно. С уступа, на который Вам удалось запрыгнуть в огненном зале, спокойно можно выпрыгнуть на площадку выше. Попробуйте ещё раз.

ИФК: Своими открытиями в игре NETHER EARTH делится Александр из пос. Майна, Хакассия.

КОРР: Чем ближе стоят роботы, стреляющие друг в друга, тем больше сил у них отнимается. Самые живучие роботы - это те, на которых стоят антигравы + пушки + ракеты + фазеры + электроника. Они выдерживают пять попаданий фазера. (Фазер - самое мощное оружие в игре). А самое дальнобойное оружие - ракеты (летят на 7 миль или 14 шагов робота).

И ещё в программе MERCENARY ПРИ ВЫЗОВЕ КАТЕРА (CS+Q) все предметы в руках разбрасываются. Чтобы не допустить этого, я сначала выкладываю все вещи, потом отхожу немного назад и вызываю катер. Если после вызова катера предметов на руках не будет, то выйдите и оглянитесь.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
irc.forestnet.org #mhm about demoparties - about russian parties
Novels - новелла по мотивам игpы "LORDS OF CHAOS" (продолжение).
BBS - открыта независимая BBS на ZX SPECTRUM.
Спектрум - FUCK FOREVER
Обратная связь - контакты редакции.

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