ZX Forum #04
19 ноября 1997

Экранные эффекты - "наливающийся" экран из игры Rockstar.

<b>Экранные эффекты</b> -

   Еще один совершенно "сногсши-
бательный" эффект  из  программы
ROCKSTAR.  Это  так   называемый
"наливающийся" экран. Как извес-
тно,  лучше  один  раз  увидеть,
поэтому посмотрите  на  монитор.
Экран разворачивается начиная  с
самой нижней  пиксельной  линии.
При этом происходит как бы  "эф-
фект водопада": сверху вниз "об-
рушивается" изображение,  посте-
пенно "наполняя" экран снизу до-
верху. Причем, в отличие от  эф-
фекта сворачивания экрана в про-
грамме COMANDO TRACER, здесь все
происходит в цвете, создавая со-
вершенно потрясающий эффект.
   Листинг процедуры,  выполняю-
щей эффект "наливающегося" экра-
на.
1420.
62AC  21E0BE   LD   HL,#BEE0
62AF  7D       LD   A,L
62B0  32439C   LD   (#9C43),A
62B3  7C       LD   A,H
62B4  32449C   LD   (#9C44),A
62B7  3EC0     LD   A,#C0
62B9  32459C   LD   (#9C45),A
62BC  21E0BB   LD   HL,#BBE0
62BF  7D       LD   A,L
62C0  32499C   LD   (#9C49),A
62C3  7C       LD   A,H
62C4  324A9C   LD   (#9C4A),A
62C7  3E18     LD   A,#18
62C9  32409C   LD   (#9C40),A
62CC  CDFA62   CALL #62FA
62CF  CD6763   CALL #6367
62D2  3A4A9C   LD   A,(#9C4A)
62D5  3D       DEC  A
62D6  324A9C   LD   (#9C4A),A
62D9  0E0C     LD   C,#0C
62DB  3A459C   LD   A,(#9C45)
62DE  2F       CPL
62DF  47       LD   B,A
62E0  10FE     DJNZ #62E0
62E2  0D       DEC  C
62E3  79       LD   A,C
62E4  FE00     CP   #00
62E6  C2DB62   JP   NZ,#62DB
62E9  3A459C   LD   A,(#9C45)
62EC  3D       DEC  A
62ED  32459C   LD   (#9C45),A
62F0  E607     AND  #07
62F2  FE00     CP   #00
62F4  CA2D63   JP   Z,#632D
62F7  C3CF62   JP   #62CF
------------------------------
62FA  3A409C   LD   A,(#9C40)
62FD  32549C   LD   (#9C54),A
6300  110058   LD   DE,#5800
6303  2A439C   LD   HL,(#9C43)
6306  012000   LD   BC,#0020
6309  E5       PUSH HL
630A  EDB0     LDIR
630C  E1       POP  HL
630D  EB       EX   DE,HL
630E  09       ADD  HL,BC
630F  EB       EX   DE,HL
6310  3A549C   LD   A,(#9C54)
6313  3D       DEC  A
6314  32549C   LD   (#9C54),A
6317  FE00     CP   #00
6319  C20363   JP   NZ,#6303
631C  012000   LD   BC,#0020
631F  2A439C   LD   HL,(#9C43)
6322  ED42     SBC  HL,BC
6324  7D       LD   A,L
6325  32439C   LD   (#9C43),A
6328  7C       LD   A,H
6329  32449C   LD   (#9C44),A
632C  C9       RET
------------------------------
632D  21409C   LD   HL,#9C40
6330  35       DEC  (HL)
6331  3A459C   LD   A,(#9C45)
6334  E63F     AND  #3F
6336  FE00     CP   #00
6338  CA4D63   JP   Z,#634D
633B  2A499C   LD   HL,(#9C49)
633E  11E007   LD   DE,#07E0
6341  19       ADD  HL,DE
6342  7D       LD   A,L
6343  32499C   LD   (#9C49),A
6346  7C       LD   A,H
6347  324A9C   LD   (#9C4A),A
634A  C3CC62   JP   #62CC
------------------------------
634D  3A459C   LD   A,(#9C45)
6350  FE00     CP   #00
6352  C8       RET  Z
6353  00       NOP
6354  00       NOP
6355  01E000   LD   BC,#00E0
6358  2A499C   LD   HL,(#9C49)
635B  09       ADD  HL,BC
635C  7D       LD   A,L
635D  32499C   LD   (#9C49),A
6360  7C       LD   A,H
6361  324A9C   LD   (#9C4A),A
6364  C3CC62   JP   #62CC
------------------------------
6367  3E00     LD   A,#00
6369  32469C   LD   (#9C46),A
636C  110040   LD   DE,#4000
636F  2A499C   LD   HL,(#9C49)
6372  012000   LD   BC,#0020
6375  D5       PUSH DE
6376  EDB0     LDIR
6378  D1       POP  DE
6379  14       INC  D
637A  3A469C   LD   A,(#9C46)
637D  3C       INC  A
637E  32469C   LD   (#9C46),A
6381  47       LD   B,A
6382  3A459C   LD   A,(#9C45)
6385  B8       CP   B
6386  C8       RET  Z
6387  3A469C   LD   A,(#9C46)
638A  E607     AND  #07
638C  FE00     CP   #00
638E  C26F63   JP   NZ,#636F
6391  3A469C   LD   A,(#9C46)
6394  E63F     AND  #3F
6396  FE00     CP   #00
6398  CAA563   JP   Z,#63A5
639B  01E007   LD   BC,#07E0
639E  EB       EX   DE,HL
639F  ED42     SBC  HL,BC
63A1  EB       EX   DE,HL
63A2  C36F63   JP   #636F
63A5  01E000   LD   BC,#00E0
63A8  EB       EX   DE,HL
63A9  ED42     SBC  HL,BC
63AB  EB       EX   DE,HL
63AC  C36F63   JP   #636F
2
   Запускается процедура с адре-
са загрузки 62ACH. Но перед этим
экран, который будет  подвергнут
такому эффекту, должен быть заг-
ружен в адрес A400H.
   При работе процедура  исполь-
зует 11 системных ячеек с адреса
9C40H (40000)  по  9C4AH (40010)
включительно.
   Выход из  процедуры  происхо-
дит по адресу 6352H командой RET
Z. Вы можете, в  зависимости  от
конкретных  обстоятельств,  под-
ставить вместо RET Z и двух  ко-
манд  NOP  другой  вариант:   JP
Z,ADDR.

   Для  получения  блока   кодов
"наливающийся экран" можно  вос-
пользоваться Бейсик-программой:

   1 READ ram: CLEAR ram: READ f
$: READ st: READ len: FOR a=st T
O st+len-1: READ b: POKE a,b: NE
XT a: SAVE f$CODE st,len
  10 DATA 25259,"roc",25260,259
 100 DATA
033,224,190,125,050,067,156,124,
050,068,156,062,192,050,069,156,
033,224,187,125,050,073,156,124,
050,074,156,062,024,050,064,156
 110 DATA
205,250,098,205,103,099,058,074,
156,061,050,074,156,014,012,058,
069,156,047,071,016,254,013,121,
254,000,194,219,098,058,069,156
 120 DATA
061,050,069,156,230,007,254,000,
202,045,099,195,207,098,058,064,
156,050,084,156,017,000,088,042,
067,156,001,032,000,229,237,176
 130 DATA
225,235,009,235,058,084,156,061,
050,084,156,254,000,194,003,099,
001,032,000,042,067,156,237,066,
125,050,067,156,124,050,068,156
 140 DATA
201,033,064,156,053,058,069,156,
230,063,254,000,202,077,099,042,
073,156,017,224,007,025,125,050,
073,156,124,050,074,156,195,204
 150 DATA
098,058,069,156,254,000,200,000,
000,001,224,000,042,073,156,009,
125,050,073,156,124,050,074,156,
195,204,098,062,000,050,070,156
 160 DATA
017,000,064,042,073,156,001,032,
000,213,237,176,209,020,058,070,
156,060,050,070,156,071,058,069,
156,184,200,058,070,156,230,007
 170 DATA
254,000,194,111,099,058,070,156,
230,063,254,000,202,165,099,001,
224,007,235,237,066,235,195,111,
099,001,224,000,235,237,066,235,
195,111,099

   Ниже  приведена  Бейсик-прог-
рамма, демонстрирующая "наливаю-
щийся экран". Здесь в строке  30
происходит предварительная  заг-
рузка экрана-заставки  от  прог-
раммы ROCKSTAR (или любого  дру-
гого) под адрес  A400H  (41984).
Процедура запускается  сразу  же
после окончания загрузки.

  10 BORDER 0: PAPER 0: INK 7: C
LEAR 25259
  20 LOAD "roc"CODE
  30 LOAD "rockst $"CODE 41984
  40 RANDOMIZE USR 25260
  50 BEEP .1,26: BEEP .1,20: PAU
SE 0



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

Help - Описание оболочки электронного издания "ZX-FORUM 4".

Секреты успешного дизайна - глава для книги "Дизайн Ваших программ"

Экранные эффекты - Бегущая строка из R-Type.

Экранные эффекты - гашения экрана из Zynaps.

Экранные эффекты - "сворачивание" экрана из Comando Tracer.

Экранные эффекты - плавное "затухание" экрана из Сommando Tracer.

Экранные эффекты - модификация символьного набора для получения оригинального стилизованного шрифта из игры Rockstar.

Экранные эффекты - "выбегающая строка" из игры Rockstar.

Экранные эффекты - "наливающийся" экран из игры Rockstar.

Экранные эффекты - сложный многоступенчатый эффект из игры Bubbler.

Новые 40 лучших процедур - скроллинг экрана, слияние двух картинок, инвертирование экрана, поворот символов, замена атрибутов, заливка замкнутого контура, вычисление адресов в экране, копирование части экрана и т.д.

Технология спрайтов - часть 1: введение.

Технология спрайтов - часть 2: охота на спрайты (поиск и выдирание).

Технология спрайтов - часть 3: форматы спрайтов.

Технология спрайтов - часть 4: форматы спрайтов с маской.

Технология спрайтов - часть 5: структура спрайтовых блоков (как уживаются в памяти спрайт и маска, какие данные помогают нам оперативно находить адрес спрайта в памяти и многое другое.)

Технология спрайтов - часть 6: подготовка данных к печати.

Технология спрайтов - часть 8: печать спрайтов (координаты заданы в знакоместах).

Технология спрайтов - часть 9: печать спрайтов (координаты заданы в пикселях).

Технология спрайтов - часть 10: обзор программ для работы со спрайтами и графикой.

Мир звуков Спектрума - глава 1: Физика звука.

Мир звуков Спектрума - глава 2: Оператор BEEP, Создание эффектов на BEEPе, Создание музыки на BEEPе.

Мир звуков Спектрума - глава 3: Как получается звук (устройство BEEP'ра и способы звукоизвлечения).

Мир звуков Спектрума - глава 4: Программирование звука на ассемблере.

Мир звуков Спектрума - глава 4.1: Программирование звуковых эффектов - Тон, Шум, Комплексы эффектов.

Мир звуков Спектрума - глава 4.2: Программирование звуковых эффектов - Управление громкостью.

Мир звуков Спектрума - глава 4.3: Программирование звуковых эффектов - Управление тембром.

Мир звуков Спектрума - глава 4.4: Программирование звуковых эффектов - Программирование музыки.

Мир звуков Спектрума - глава 4.5: Программирование звуковых эффектов - Многоголосые мелодии (полифония).

Мир звуков Спектрума - глава 4.6: Обработка внешних сигналов - оцифровка.

Мир звуков Спектрума - глава 4.7: Обработка внешних сигналов - Реверберация.

Мир звуков Спектрума - глава 4.8: Синтезирование речи.

Мир звуков Спектрума - глава 4.9: воспроизведение звука на прерываниях.

Мир звуков Спектрума - глава 5: Оператор PLAY для музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 5.1: Создание эффектов оператором PLAY.

Мир звуков Спектрума - глава 5.2: Создание музыки на PLAYе.

Мир звуков Спектрума - глава 6.1: описание регистров музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 6.2: Программирование эффектов и музыки под музыкальный сопроцессор AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 7: Обзор программного обеспечения ZX-Spectrum для создания звуков и музыки.

Мир звуков Спектрума - глава 7.1: Редактор звуковых эффектов SUPER SOUND.

Мир звуков Спектрума - глава 7.2: Музыкальный редактор Wham the Music Box.

Мир звуков Спектрума - приложения 1, 2: листинги звуковых эффектов SUPER SOUND'а, советы по использованию ассемблера.


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

Похожие статьи:
Наш конкурс - Конкурс продолжается...
Авторы - Об авторах газеты.
В паутине - График работы городских серверов.

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