ZX Club #08
31 мая 1998

Soft Group - chunky to planar conversion конвертор.

<b>Soft Group</b> - chunky to planar conversion конвертор.

     (C) Saruman / Dementia corp.

              C2P конвертор

  Привет,  народ! С вами  снова я,Saruman.
Как  мне помнится, в прошлый раз я расска-
зывал  о  методах  быстрого вывода графики
через  стек; а сегодня у нас еще один мощ-
ный  метод:  chunky  to planar conversion.
  Объясню поподробнее, в чем состоит смысл
данного  алгоритма.  Если  вы внимательнее
приглядитесь к последним демкам, то навер-
няка  заметите, что во многих эффектах для
имитации  16-цветового режима используются
текстуры.   Т.е.,   элементарной  единицей
изображения  становится не пиксел, а квад-
рат  со стороной, например, 4 пиксела. Та-
ким образом, в одном знакоместе мы получа-
ем 4 элемента, каждый из которых при помо-
щи  текстур  "окрашивается"  в  один из 16
цветов.  При  в  памяти  это, естественно,
хранится  в виде "байт на элемент"(chunky
data), а  при  выводе на  экран необходимо
преобразовывать   данные    в  стандартный
(planar)  вид.  Для достижения максимально
быстрого  вывода и служит данный алгоритм.
  Замечание:  хочу  предупредить, что этот
метод  был разработан не мной. Я сам узнал
о нем из файлов Explodera.

  Каждый байт chunky datы имеет вид:
                          1000 0101

  Здесь  младшие 4 бита - это цвет (смеще-
ние от начала палитры), а старшие 4 бита -
- базовый адрес палитры. Но!!! ведь коман-
ды работы со стеком могут читать из памяти
сразу  по 2 байта!!! Поэтому палитра будет
иметь такой вид:

#8080   00 01 02 03 04 .. .. 0D 0E 0F
#8180   10 11 12 13 14 .. .. 1D 1E 1F
.    .    .    .    .    .    .
#8F80   F0 F1 F2 F3 F4 .. .. FD FE FF
  Слева   указан   адрес,  считываемый  из
chunky datы, т.е. младший байт - цвет пер-
вого из выводимых элементов, старший байт-
-  цвет  второго.  Справа  указаны  номера
текстур,  выводимых  при данной комбинации
цветов,  причем  в  текстуре, естественно,
изображены  сразу  2 элемента. Т.е. первый
ряд  -  все  текстуры  со вторым цветом 0,
второй  ряд  -  со  вторым цветом 1 и т.д.
Итого  у нас получается 16*16=256 текстур.
  Ну  а  теперь,  разобравшись  с форматом
хранения  данных, можно приступать и к на-
писанию процедуры вывода.

  Для работы требуются:

  SP = адрес chunky datы;
  DE = адрес на экране, куда выводить;
  B  = старший байт адреса,с которого хра-
     нятся текстуры.

     POP  HL       ;читаем chunky daty
     LD   C,(HL)   ;читаем адрес текстуры
     LD   A,(BC)   ;выводим
     LD   (DE),A
     INC  B
     INC  D
     LD   A,(BC)   ;  спрайт
     LD   (DE),A
     INC  B
     INC  D
     LD   A,(BC)   ;      на
     LD   (DE),A
     INC  B
     INC  D
     LD   A,(BC)   ;     экран
     LD   (DE),A
     INC  E
     POP  HL       ;читаем chunky daty
     LD   C,(HL)   ;читаем адрес текстуры
     LD   A,(BC)   ;выводим
     LD   (DE),A
     DEC  B
     DEC  D
     LD   A,(BC)   ;  спрайт
     LD   (DE),A
     DEC  B
     DEC  D
     LD   A,(BC)   ;      на
     LD   (DE),A
     DEC  B
     DEC  D
     LD   A,(BC)   ;      экран
     LD   (DE),A
     INC  E

  Ну  вот и все. Разбирайтесь в моей писа-
нине  и - let`s start da demomakin`! (Раз-
врат  попрошу   не   пропагандировать  ;-)
ред.) А будут какие вопросы, пожелания или
предложения - звоните по телефону 54-01-70
в Барнауле,  конечно  ;-))  и  спрашивайте
Олега - если он будет дома, то ответит
всем!
         Bye,people! C Ya l8r!!!
_______________________________________End



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

От редакции - Существовал в Барнауле еженедельник "Компот", и решил я забежать к ним в редакцию...

От редакции - у журнала новая оболочка.

От редакции - растространение журнала.

Enjoy - Юмор.

Enjoy - солнечный город.

Enjoy - сказка.

Soft Group - chunky to planar conversion конвертор.

Soft Group - Печать 42 символа в строке, турболоадер из демы "RAGE", процедура рисования окна.

Soft Group - Aнoнс гpaфичeскoгo peдaктopa Art Works by Byteх Сreative Group.

Soft Group - прохождение игры MASTЕR ОF MAGIС.

Soft Group - прохождение игры XOR.

Soft Group - Кpaткий oбзop игpушeк: RОBIN ОF TНЕ WООD 128K, TНUNDЕRСATS, SKATЕBALL, LОTUS ЕSPRIT TURBО СНALLЕNGЕ, TНЕ FLINTSTОNЕS, GНОULS AND GНОSTS, NAVY S.Е.A.L., KINGS BОUNTY, NARС.

User Group - Текстовые редакторы.

User Group - редактирование текстов.

User Group - об авторском диске.

Hard Group - характеристики компьютера KAY-1024.

Hard Group - PRISE-LIST фирма NEMO, г. Санкт-Петербург

Набат - ОДИНОКИЙ МЫСЛИТЕЛЬ.

Набат - русская философия.

Набат - Ричи Блекмор (ч1).

Набат - Ричи Блекмор (ч2).

Toys - новая игра - Операция Р.Р.

Deatch Come - Black Metall.

Deatch Come - Black Metall.

Deatch Come - Black Metall.

Deatch Come - IMMORTAL`97

Обьявления - группа FAST рада будет видеть вас в своих рядах.

Реклама - Шиpoкий выбop ПО для кoмпьютepoв ZX Speсtrum.

Pot-Pourri - "Открытое обращение" к Cпектрумистам, прошедшее в конференции ZX.

Pot-Pourri - Cокращенная версия прайса по тематике Spectrum-Scorpion.

Party - Funtop 98: правила.

X-FILES - часть 1.

X-FILES - часть 2.

X-FILES - часть 3.

X-FILES - часть 4.

X-FILES - часть 5.

X-FILES - часть 6.

X-FILES - часть 7.

News - анонс CONSYL`98. PARTY in SOCHI.


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

Похожие статьи:
Версии - 8 версий игры: HERO QUEST.
Новинка - Компьютер "Спринтер" 97.
История - История с историей, Смирнов Владимир (памфлет)

В этот день...   16 июня